Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký

Xin chào, tên tôi là Eugene, tôi là trưởng nhóm B2B tại Citymobil. Một trong những nhiệm vụ của nhóm chúng tôi là hỗ trợ tích hợp để đặt taxi từ đối tác và để đảm bảo dịch vụ ổn định, chúng tôi phải luôn hiểu điều gì đang xảy ra trong các dịch vụ siêu nhỏ của mình. Và để làm điều này, bạn cần liên tục theo dõi nhật ký.

Trong Citymobil, chúng tôi sử dụng ngăn xếp ELK (ElasticSearch, Logstash, Kibana) để làm việc với nhật ký và lượng dữ liệu đến đó là rất lớn. Việc tìm ra các vấn đề trong khối lượng yêu cầu này có thể xuất hiện sau khi triển khai mã mới là khá khó khăn. Và để nhận dạng trực quan, Kibana có phần Bảng điều khiển.

Có khá nhiều bài viết trên Habré với các ví dụ về cách thiết lập ngăn xếp ELK để nhận và lưu trữ dữ liệu, nhưng không có tài liệu liên quan nào về cách tạo Trang tổng quan. Do đó, tôi muốn trình bày cách tạo biểu diễn trực quan của dữ liệu dựa trên nhật ký đến trong Kibana.

điều chỉnh

Để làm cho nó rõ ràng hơn, tôi đã tạo một hình ảnh Docker bằng ELK và Filebeat. Và đặt trong một container nhỏ chương trình trong Go, ví dụ của chúng tôi sẽ tạo nhật ký kiểm tra. Tôi sẽ không mô tả chi tiết cấu hình của ELK, đã có đủ bài viết về nó trên Habré.

Sao chép kho lưu trữ cấu hình docker-compose và cài đặt ELK và khởi chạy nó bằng lệnh docker-compose up. Cố ý không thêm khóa -dđể xem tiến trình của ngăn xếp ELK.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

Nếu mọi thứ được định cấu hình chính xác, thì chúng ta sẽ thấy một mục trong nhật ký (có lẽ không phải ngay lập tức, quá trình khởi chạy vùng chứa với toàn bộ ngăn xếp có thể mất vài phút):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

Theo địa chỉ localhost:5061 Kibana nên mở.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Điều duy nhất chúng ta cần định cấu hình là tạo Mẫu chỉ mục cho Kibana với thông tin về dữ liệu sẽ hiển thị. Để làm điều này, chúng tôi sẽ thực hiện yêu cầu cuộn tròn hoặc thực hiện một loạt hành động trong giao diện đồ họa.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

Tạo mẫu chỉ mục thông qua GUI
Để định cấu hình, hãy chọn phần Khám phá ở menu bên trái và truy cập trang tạo mẫu Chỉ mục.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bằng cách nhấp vào nút "Tạo mẫu chỉ mục", chúng tôi sẽ đến trang tạo chỉ mục. Trong trường "Tên mẫu chỉ mục", hãy nhập "logstash-*". Nếu mọi thứ được định cấu hình chính xác, bên dưới Kibana sẽ hiển thị các chỉ mục nằm trong quy tắc.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Trên trang tiếp theo, chọn trường khóa có dấu thời gian, trong trường hợp của chúng tôi, đó là @timestamp.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Thao tác này sẽ hiển thị trang cài đặt chỉ mục nhưng chúng tôi không cần thực hiện thêm hành động nào vào lúc này.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký

Bây giờ chúng ta có thể vào lại phần Khám phá, nơi chúng ta sẽ thấy các mục nhật ký.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký

Bảng Điều Khiển (Dashboard)

Trong menu bên trái, nhấp vào phần Tạo bảng điều khiển và đến trang tương ứng.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Nhấp vào "Tạo trang tổng quan mới" và truy cập trang để thêm đối tượng vào Trang tổng quan.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bấm vào nút “Tạo mới”, hệ thống sẽ nhắc bạn chọn kiểu hiển thị dữ liệu. Kibana có một số lượng lớn chúng, nhưng chúng ta sẽ xem xét việc tạo biểu diễn đồ họa của "Thanh dọc" và "Bảng dữ liệu" dạng bảng. Các loại bản trình bày khác được cấu hình theo cách tương tự. 
Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Một số đối tượng có sẵn được gắn nhãn B và E, có nghĩa là định dạng này đang thử nghiệm hoặc đang trong giai đoạn thử nghiệm beta. Theo thời gian, định dạng có thể thay đổi hoặc biến mất hoàn toàn khỏi Kibana.

Thanh dọc

Đối với ví dụ “Thanh dọc”, hãy tạo biểu đồ tỷ lệ trạng thái phản hồi thành công và không thành công của dịch vụ của chúng tôi. Khi kết thúc cài đặt, chúng tôi nhận được biểu đồ sau:

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Chúng tôi sẽ phân loại tất cả các yêu cầu có trạng thái phản hồi < 400 là thành công và >= 400 là có vấn đề.

Để tạo biểu đồ "Thanh dọc", chúng ta cần chọn nguồn dữ liệu. Chọn Mẫu chỉ mục mà chúng tôi đã tạo trước đó.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Theo mặc định, một biểu đồ liền nét sẽ xuất hiện sau khi chọn nguồn dữ liệu. Hãy thiết lập nó.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Trong khối "Nhóm", nhấn nút "Thêm", chọn "Khung trục X" và thiết lập trục X. Hãy đặt sang một bên các dấu thời gian để nhận các mục nhập trong nhật ký. Trong trường "Tổng hợp", chọn "Biểu đồ ngày" và trong "Trường" chọn "@timestamp", biểu thị trường thời gian. Hãy để "Khoảng thời gian tối thiểu" ở trạng thái "Tự động" và nó sẽ tự động điều chỉnh theo màn hình của chúng ta. 

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bằng cách nhấp vào nút "Cập nhật", chúng ta sẽ thấy một biểu đồ với số lượng yêu cầu cứ sau 30 giây.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bây giờ, hãy thiết lập các cột dọc theo trục Y. Bây giờ chúng tôi đang hiển thị tổng số yêu cầu trong khoảng thời gian đã chọn.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Hãy thay đổi giá trị "Aggregation" thành "Sum Bucket", điều này sẽ cho phép chúng ta kết hợp dữ liệu cho các yêu cầu thành công và không thành công. Trong khối Nhóm -> Tập hợp, chọn tập hợp theo "Bộ lọc" và đặt bộ lọc theo "Mã trạng thái >= 400". Và trong trường "Nhãn tùy chỉnh", chúng tôi chỉ định tên của chỉ báo để hiển thị dễ hiểu hơn trong chú giải trên biểu đồ và trong danh sách chung.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bằng cách nhấp vào nút "Cập nhật" trong khối cài đặt, chúng tôi sẽ nhận được biểu đồ có các yêu cầu sự cố.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Nếu bạn nhấp vào vòng tròn bên cạnh chú giải, một cửa sổ sẽ xuất hiện trong đó bạn có thể thay đổi màu của các cột.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bây giờ, hãy thêm dữ liệu về các yêu cầu thành công vào biểu đồ. Trong phần "Số liệu", nhấp vào nút "Thêm" và chọn "Trục Y".

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Trong số liệu đã tạo, chúng tôi thực hiện các cài đặt giống như đối với các yêu cầu sai. Chỉ trong bộ lọc, chúng tôi chỉ định "statusCode < 400".

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bằng cách thay đổi màu của cột mới, chúng tôi sẽ hiển thị tỷ lệ các yêu cầu có vấn đề và yêu cầu thành công.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bằng cách nhấp vào nút “Lưu” ở đầu màn hình và chỉ định tên, chúng ta sẽ thấy biểu đồ đầu tiên trên Trang tổng quan.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký

Bảng dữ liệu

Bây giờ hãy xem xét chế độ xem dạng bảng "Bảng dữ liệu". Hãy tạo một bảng có danh sách tất cả các URL đã được yêu cầu và số lượng các yêu cầu đó. Như với ví dụ Thanh dọc, trước tiên chúng tôi chọn một nguồn dữ liệu.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Sau đó, một bảng có một cột sẽ hiển thị trên màn hình, cho biết tổng số yêu cầu trong khoảng thời gian đã chọn.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Chúng tôi sẽ chỉ thay đổi khối "Xô". Nhấp vào nút "Thêm" và chọn "Tách hàng".

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Trong trường "Tổng hợp", chọn "Điều khoản". Và trong trường "Trường" xuất hiện, chọn "url.keyword".

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Bằng cách chỉ định giá trị "Url" trong trường "Nhãn tùy chỉnh" và nhấp vào "Cập nhật", chúng tôi sẽ nhận được bảng mong muốn với số lượng yêu cầu cho từng URL trong khoảng thời gian đã chọn.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Ở đầu màn hình, nhấp lại vào nút "Lưu" và chỉ định tên của bảng, ví dụ: Url. Hãy quay lại Trang tổng quan và xem cả hai chế độ xem đã được tạo.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký

Làm việc với Bảng điều khiển

Khi tạo Bảng điều khiển, chúng tôi chỉ đặt các tham số chế độ xem chính trong cài đặt đối tượng hiển thị. Thật vô nghĩa khi chỉ định dữ liệu cho các bộ lọc trong các đối tượng, ví dụ: “phạm vi ngày”, “lọc theo tác nhân người dùng”, “lọc theo quốc gia yêu cầu”, v.v. Sẽ thuận tiện hơn nhiều khi chỉ định khoảng thời gian mong muốn hoặc đặt bộ lọc cần thiết trong bảng truy vấn nằm phía trên các đối tượng.

Tạo Bảng điều khiển trong Kibana để theo dõi nhật ký
Các bộ lọc được thêm vào bảng điều khiển này sẽ được áp dụng cho toàn bộ Trang tổng quan và tất cả các đối tượng hiển thị sẽ được xây dựng lại theo dữ liệu được lọc thực tế.

Kết luận

Kibana là một công cụ mạnh mẽ cho phép bạn trực quan hóa bất kỳ dữ liệu nào một cách thuận tiện. Tôi đã cố gắng hiển thị cài đặt của hai loại màn hình chính. Nhưng các loại khác được cấu hình theo cách tương tự. Và sự phong phú của các cài đặt mà tôi đã để “ở hậu trường” sẽ cho phép bạn tùy chỉnh rất linh hoạt các biểu đồ cho phù hợp với nhu cầu của mình.

Nguồn: www.habr.com

Thêm một lời nhận xét