Tìm hiểu về Splunk
Splunk là hệ thống có thể captures, trích ra các dữ liệu thời gian thực có liên quan tới nhau từ đó nó có thể tạo ra các đồ thị, các báo cáo, các cảnh báo và các biểu đồ.
Có 3 thành phần chính trong Splunk:
-
Splunk Forwarder: nhận và chuyển tiếp dữ liệu đến các indexer để xử lý
- Universal Forwarder (UF): Ứng dụng nhẹ, hiệu quả, thu thập và chuyển tiếp dữ liệu từ máy chủ/thiết bị đến Splunk Indexer mà không xử lý hay phân tích. Tiêu thụ ít tài nguyên, phù hợp triển khai rộng rãi, thu thập từ log, sự kiện hệ thống, dữ liệu mạng
- Heavy Forwarder (HF): Ứng dụng mạnh mẽ, thu thập dữ liệu và thực hiện xử lý/phân tích (lọc, chuyển đổi, tìm kiếm phức tạp) trước khi gửi đến Indexer. Giảm tải cho Indexer, tối ưu phân tích, phù hợp với kịch bản cần xử lý dữ liệu nhiều hoặc thao tác đặc biệt.
-
Splunk Indexer: được sử dụng để phân tích cú pháp và lập chỉ mục dữ liệu
-
Search Head: là GUI được sử dụng để tìm kiếm, phân tích và báo cáo.
SPL
Là ngôn ngữ xử lý tìm kiếm Splunk
Các thành phần của SPL:
- Cụm từ tìm kiếm
- Lệnh: hành động muốn thực hiện trên tập kết quả như định dạng kết quả hoặc đếm
- Hàm: áp dụng các phép tính nào trên các kết quả, ví dụ như tổng, trung bình
- Mệnh đề: cách nhóm hoặc đổi tên các trường trong tập kết quả
Một số lệnh phổ biến
Lệnh sắp xếp
- Sắp xếp theo loại trường:
Sắp xếp các sự kiện theo giá trị số của trường status theo thứ tự tăng dần. Sắp xếp theo trường time (thời gian của sự kiện) theo thứ tự giảm dần (dấu - chỉ định giảm dần, từ mới nhất đến cũ nhất) dưới dạng chuỗi
- Sắp xếp đến một giới hạn:
Giới hạn chỉ lấy 50 sự kiện
- Mệnh đề đảo ngược:
Đảo ngược thứ tự của kết quả sau khi sắp xếp, tức là từ cũ nhất đến mới nhất.
Lệnh top
- Giá trị hàng đầu cho một trường
Lệnh này được sử dụng để xác định 8 sản phẩm (productId) được truy cập hoặc nhắc đến nhiều nhất trong log của ứng dụng "web-application"
- Giá trị hàng đầu cho một trường theo trường
Lệnh này được sử dụng để xác định 3 sản phẩm (productId) được truy cập hoặc nhắc đến nhiều nhất trong log của ứng dụng "web-application", phân nhóm theo từng tệp (file)
- Hiển thị tùy chọn
Lệnh này được sử dụng để xác định productId xuất hiện nhiều nhất trong log của ứng dụng "web-application", phân nhóm theo từng tệp (file), và chỉ hiển thị số lượng tuyệt đối
Lệnh stats
Được sử dụng để tính toán thống kê tóm tắt về kết quả tìm kiếm hoặc các sự kiện được truy xuất từ một chỉ mục. Lệnh thống kê hoạt động trên toàn bộ kết quả tìm kiếm và chỉ trả về các trường mà được chỉ định
- Tìm trung bình: sử dụng hàm avg()
- Tìm kiếm phạm vi giá trị: sử dụng hàm range, max(), min()
- Tìm giá trị trung bình và phương sai: các hàm mean(), var()