Chức năng chính của Cluster

Một phần của tài liệu kỹ thuật lập trình quản lý logs (Trang 25 - 31)

3.2.3. Ưu điểm của Elasticsearch

Có khả năng tìm kiếm và phân tích dữ liệu. Có khả năng mở rộng theo chiều ngang.

Hỗ trợ tìm kiếm khi từ khóa tìm kiếm có thể bị lỗi.

Hỗ trợ các Elasticsearch client như Java, Php, JS, Ruby,…

3.2.4. Nhược điểm của Elasticsearch

Elasticsearch được thiết kế cho mục đích search cho nên khi sử dụng thì chúng ta nên sử dụng kèm theo một DB khac như MongoDB hay Mysql.

Trong Elasticsearch khơng đảm bảo được tồn vẹn dữ liệu của các hoạt động như Insert, Update hay Delete.

Khơng thích hợp với những hệ thống thường xuyên cập nhật dữ liệu. Sẽ rất tốn kém cho việc đánh index dữ liệu.

3.4. Kibana logs

Kibana Logs là một cách tuyệt vời để xem những gì đang xảy ra trong ứng dụng của bạn và để gỡ lỗi các vấn đề về hiệu suất. Điều hướng thông qua một số lượng lớn logs được tạo có thể áp đảo và sau đây là một số kỹ thuật mà bạn có thể sử dụng để tối ưu hóa quy trình.

Bắt đầu bằng cách xác định một lĩnh vực vấn đề mà bạn quan tâm. Ví dụ: bạn có thể quan tâm đến việc xem một Plugin Kibana cụ thể đang hoạt động như thế nào, vì vậy khơng cần phải thu thập nhật ký cho tất cả Kibana. Hoặc bạn có thể muốn tập trung vào một tính năng cụ thể, chẳng hạn như yêu cầu từ máy chủ Kibana đến máy chủ Elasticsearch. Tùy thuộc vào nhu cầu của bạn, bạn có thể cấu hình Kibana để tạo nhật ký cho một tính năng cụ thể. logging: appenders: file: type: file fileName: ./kibana.log layout: type: json

### gather all the Kibana logs into a file logging.root:

appenders: [file] level: all

### or gather a subset of the logs logging.loggers:

### responses to an HTTP request -name: http.server.response

level: debug appenders: [file]

### result of a query to the Elasticsearch server -name: elasticsearch.query

level: debug appenders: [file]

### logs generated by my plugin -name: plugins.myPlugin

level: debug appenders: [file]

Appender của Kibana được cấu hình để tạo ra nhật ký ở định dạng ECS JSON. Đây là định dạng duy nhất bao gồm thông tin meta cần thiết cho mối tương

quan nhật ký ngoài hộp.file

Bước tiếp theo là xác định những cơng cụ quan sát nào có sẵn. Để có trải nghiệm tốt hơn, hãy thiết lập tích hợp Observability được cung cấp bởi Elastic để gỡ lỗi ứng dụng của bạn với giao diện người dùng APM. Để gỡ lỗi một cái gì đó một cách nhanh chóng mà khơng cần thiết lập cơng cụ bổ sung, bạn có thể làm việc với các bản ghi Kibana đơn giản.

3.4.1. Giao diện người dùng APM biên tập

Điều kiện tiên quyết Kibana logs được cấu hình theo định dạng ECS

JSON để bao gồm mã định danh truy tìm.

Để gỡ lỗi Kibana với giao diện người dùng APM, bạn phải thiết lập cơ sở hạ tầng APM. Bạn có thể tìm thấy hướng dẫn cho q trình thiết lập trên trang Tích

hợp Quan sát.

Khi bạn thiết lập cơ sở hạ tầng APM, bạn có thể bật đại lý APM và đặt Kibana dưới tải để thu thập các sự kiện APM. Để phân tích các số liệu và nhật ký được thu thập, hãy sử dụng giao diện người dùng APM như đã trình bày t rong tài liệu .

3.4.2. Plain Kibana logs

Điều kiện tiên quyết Kibana logs được cấu hình theo định dạng ECS

JSON để bao gồm mã định danh truy tìm.

Mở Kibana logs và tìm kiếm một hoạt động mà bạn quan tâm. Ví dụ: giả sử bạn muốn điều tra thời gian phản hồi cho các truy vấn đến điểm cuối Kibana. Mở Nhật ký Kibana và tìm kiếm phản hồi máy chủ HTTP cho điểm cuối. Nó trơng tương tự như sau (một số trường được bỏ qua cho ngắn gọn)./api/telemetry/v2/clusters/_stats

Bạn quan tâm đến trường trace.id, đó là một định danh duy nhất của một dấu vết. Nó cung cấp một cách để nhóm nhiều sự kiện, như giao dịch, thuộc về nhau.

Bạn có thể tìm kiếm để có được tất cả các bản ghi thuộc cùng một dấu vết. Điều này cho phép bạn xem có bao nhiêu u cầu Elasticsearch đã được kích hoạt trong quá trình theo dõi, chúng trơng như thế nào, điểm cuối Elasticsearch bị đánh như thế nào,

v.v.trace.id"trace":{"id":"9b99131a6f66587971ef085ef97dfd07"}9b99131a6f6658 7971ef085ef97dfd07 { "message":"POST /api/telemetry/v2/clusters/_stats 200 1014ms - 43.2KB", "log":{"level":"DEBUG","logger":"http.server.response"}, "trace": {"id":"9b99131a6f66587971ef085ef97dfd07"}, "transaction": {"id":"d0c5bbf14f5febca"} }

KẾT LUẬN

Gỡ lỗi là một bước quan trọng của bất kỳ dự án phát triển phần mềm nào. Mô-đun

logging là một phần của thư viện Python chuẩn, cung cấp khả năng theo dõi các sự kiện

xảy ra trong khi phần mềm chạy và có thể xuất các sự kiện này ra một file log riêng biệt để cho phép bạn theo dõi những gì xảy ra trong khi mã của bạn chạy. Điều này cung cấp cho bạn cơ hội gỡ lỗi mã của bạn dựa trên việc hiểu các sự kiện khác nhau xảy ra khi chạy chương trình của bạn theo thời gian.

TÀI LIỆU THAM KHẢO

What is Log Management? Importance & Best Practices | Humio

https://mentorofdev.com/2021/08/23/he-thong-quan-ly-logs-tap-trung-elk/

https://blog.cloud365.vn/logging/ELK-part-6-Tim-hieu-ve-logstash/

Một phần của tài liệu kỹ thuật lập trình quản lý logs (Trang 25 - 31)

Tải bản đầy đủ (PDF)

(31 trang)