- vừa được xem lúc

Tạo Template cho logstash

0 0 5

Người đăng: Đồng Dương

Theo Viblo Asia

Dựa trên log request và response mà bạn đã cung cấp, bạn có thể viết một file template cho Elasticsearch để ánh xạ các trường trong log nhằm tối ưu hóa việc tìm kiếm trên Kibana. Dưới đây là một ví dụ về file template phù hợp để trích xuất các thông tin hữu ích như clientIp, clientMessageId, method, path, duration, logType, và các thông tin khác.

File template cho Elasticsearch:

{ "index_patterns": ["logstash-*"], "template": { "settings": { "number_of_shards": 1, "number_of_replicas": 1, "refresh_interval": "5s" }, "mappings": { "properties": { "@timestamp": { "type": "date" }, "instant.epochSecond": { "type": "long" }, "instant.nanoOfSecond": { "type": "long" }, "thread": { "type": "keyword" }, "level": { "type": "keyword" }, "loggerName": { "type": "keyword" }, "message": { "type": "text" }, "contextMap.traceId": { "type": "keyword", "null_value": "null" }, "contextMap.spanId": { "type": "keyword", "null_value": "null" }, "contextMap.clientIp": { "type": "ip" }, "contextMap.clientMessageId": { "type": "keyword" }, "contextMap.clientTime": { "type": "date", "format": "strict_date_optional_time||epoch_millis" }, "contextMap.duration": { "type": "long" }, "contextMap.methodName": { "type": "keyword" }, "contextMap.path": { "type": "keyword" }, "contextMap.stackTrace": { "type": "text" }, "threadId": { "type": "integer" }, "threadPriority": { "type": "integer" }, "logType": { "type": "keyword" }, "application": { "type": "keyword" }, "localIp": { "type": "ip" } } } }
}

Giải thích các trường trong template: @timestamp: Trường ngày tháng để ghi nhận thời gian của log. Elasticsearch sẽ tự động nhận biết kiểu dữ liệu này là date.

instant.epochSecond và instant.nanoOfSecond: Dữ liệu thời gian dưới dạng epoch, dùng để lưu lại thời gian log được ghi nhận một cách chi tiết đến nano giây.

contextMap.clientIp: Trường IP của client. Được ánh xạ dưới dạng ip, để Elasticsearch hiểu rằng đây là một địa chỉ IP và giúp tối ưu hóa cho việc tìm kiếm theo IP.

contextMap.clientMessageId: ID của tin nhắn client, dùng để xác định các yêu cầu và phản hồi tương ứng. Được ánh xạ dưới dạng keyword để tìm kiếm nhanh mà không cần phân tích cú pháp.

contextMap.clientTime: Thời gian client gửi yêu cầu, ánh xạ với kiểu date và sử dụng định dạng thời gian ISO8601.

contextMap.duration: Thời gian xử lý yêu cầu (ms). Được ánh xạ dưới dạng long để lưu trữ các giá trị số nguyên lớn.

contextMap.path: Đường dẫn API mà yêu cầu hướng tới. Sử dụng kiểu keyword để tìm kiếm nhanh mà không cần phân tích.

contextMap.stackTrace: Dữ liệu stack trace trong trường hợp có lỗi, được ánh xạ dưới dạng text để phân tích nội dung chi tiết của log lỗi.

logType: Loại log, có thể là REQUEST hoặc RESPONSE. Được ánh xạ với keyword để phục vụ cho việc lọc và tìm kiếm.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Xử lý Apache Access logs với LogStash trong ELK Stack

Mở đầu. Xin chào các bạn, nhân dịp đang có cơ hội được tìm hiểu về ELK Stack mình muốn chia sẻ với các bạn một số thứ mà mình mò mẫm và học được từ công nghệ đang khá hot này.

0 0 55

- vừa được xem lúc

[Elastic Stack] - Xây dựng, triển khai giám sát và quản lý tập trung request logs theo kiến trúc microservices

Elastic Stack - ELK là một nhóm các dự án mã nguồn mở (open source) được triển khai nhằm mục đích thu thập, phân tích, thống kê, tìm kiếm và trực quan hóa dòng dữ liệu (Data Stream) theo thời gian thự

0 0 51

- vừa được xem lúc

Elasticsearch, Kibana, Logstash - Tổng quan, cài đặt và sử dụng

Trong bài viết này mình sẽ không đi sâu về định nghĩa Elastic search cũng như Kibana, Logstash là gì mà sẽ hướng dẫn cách cài đặt cũng như cách import dữ liệu từ database vào Elasticsearch bằng Logsta

0 0 42

- vừa được xem lúc

[K8S] Phần 12 - Logging trên k8s - section1

Lời tựa. Tiếp tục series về Kubernetes, mình sẽ giới thiệu với các bạn về một chủ đề rất quan trọng đó là Logging.

0 0 33

- vừa được xem lúc

[K8S] Phần 14 - Logging trên k8s sử dụng ELK - section3

Lời tựa. Trong 2 bài viết trước mình đã tự đặt ra bài toán logging cho hệ thống cũng như xây dựng xong môi trường gồm các service opensource và tự build.

0 0 49

- vừa được xem lúc

[K8S] Phần 13 - Logging trên k8s sử dụng ELK - section2

Lời tựa. Tiếp tục về chủ đề logging trên Kubernetes, bài viết này sẽ đi vào xây dựng môi trường và thiết kế giải pháp trước khi xây dựng hệ thống logging ELK.

0 0 35