Khám phá khái niệm Pipeline là gì và tìm hiểu cách sử dụng Pipeline để tối ưu hóa quá trình ghi log một cách hiệu quả. Chi tiết trong bài viết ngay sau đây.
Trong bài viết trước bạn đã được thực hành lấy log của windows bằng Sidecar rồi. Nhưng có một vấn đề được đặt ra rằng log của windows quá nhiều, làm cách nào để ta chỉ lấy những log cần thiết và loại bỏ bớt các trường dư thừa đi. Câu trả lời chính là pipeline, pipeline sẽ giúp bạn giải quyết tất cả vấn đề trên. Cùng tìm hiểu pipeline là gì cũng như cách sử dụng trong bài viết dưới đây nhé.
>>> Xem thêm: Cài đặt cấu hình Graylog Sidecar trên Windows Server 2019
1. Pipeline là gì?
Trong ngữ cảnh của Graylog, một "pipeline" là một chuỗi các quy tắc xử lý (processing rules) được áp dụng lên các thông điệp nhật ký (log messages) khi chúng được nhận hoặc lưu trữ. Pipeline cho phép bạn xử lý, biến đổi và làm giàu dữ liệu nhật ký một cách linh hoạt và mạnh mẽ trước khi lưu trữ chúng trong Graylog. Pipeline áp dụng các quy tắc xử lý log theo từng bước để chuẩn bị và lọc dữ liệu log theo cách mà bạn cần, giúp tối ưu hóa việc giám sát, phân tích và lưu trữ log.
2. Các thành phần chính của pipeline là gì?
Stages (Các giai đoạn):
- Pipeline được chia thành nhiều giai đoạn (stages). Mỗi giai đoạn có thể chứa nhiều quy tắc xử lý.
- Các giai đoạn được thực hiện tuần tự theo thứ tự số, từ giai đoạn đầu tiên (số nhỏ nhất) đến giai đoạn cuối cùng (số lớn nhất).
Rules (Quy tắc):
- Mỗi giai đoạn có thể chứa nhiều quy tắc. Quy tắc là các điều kiện và hành động được áp dụng lên các thông điệp.
- Quy tắc có thể được sử dụng để kiểm tra các điều kiện cụ thể (ví dụ: kiểm tra giá trị của một trường) và thực hiện các hành động (ví dụ: thêm, xóa, hoặc sửa đổi các trường).
Conditions (Điều kiện):
- Điều kiện là các biểu thức logic kiểm tra xem một quy tắc có được áp dụng lên một thông điệp hay không.
- Nếu điều kiện đúng, các hành động liên quan sẽ được thực hiện.
Actions (Hành động):
Hành động là các thao tác được thực hiện khi điều kiện của quy tắc là đúng. Các hành động có thể bao gồm:
- Thêm hoặc sửa đổi trường dữ liệu.
- Gắn nhãn hoặc gắn tag cho thông điệp.
- Chuyển tiếp thông điệp đến các giai đoạn khác.
3. Hướng dẫn sử dụng pipeline để tối ưu log Sidecar cho WinServer
3.1 Các event quan trọng mà bạn bạn cần biết
Trên windows để biết log này là của sự kiện gì thì cần phải xác định thông qua event ID. Dưới đây là một số event ID bạn cần quan tâm:
- 4624 : Sự kiện đăng nhập hệ thống thành công
- 4634 : Sự kiện đăng xuất hệ thống thành công
- 4625 : Sự kiện đăng nhập hệ thống thất bại
- 4720 : Sự kiện tạo User mới
- 4726 : Sự kiện xóa tài khoản
- 6005 : Khởi động một service
- 6006 : Tắt một service
- 6008 : Sự kiện tắt máy không đúng cách như là mất điện hoặc lỗi hệ thống
3.2 Thực hành tạo pipeline và rules
Rule 1: Drop message của các log không cần thiết, chỉ lấy các event id đã nêu ở trên. Nếu các event ID không trùng với các event ID đã nêu ở trên thì tiến hành drop message.
Tiếp theo ta tạo rule thứ 2 xóa đi những trường không cần thiết. Ở đây tôi xóa đi rất nhiều trường, tùy theo ý định của bạn để biết xóa và giữ trường nào nhé.
Tiếp theo ta cần tạo pipeline và áp rule vào stream window log
Như vậy là chỉ còn lại log của event mà ta đã chỉ định và đã xóa bớt các trường dư thừa của winlogbeat.
Tổng kết
Windows là hệ điều hành tuyệt vời, nhưng bên cạnh đó thì log của nó lại là một vấn đề cực khó vì để thu thập được toàn bộ log của nó thì cần một lượng tài nguyên khổng lồ. Pipeline là một công cụ tuyệt vời để giảm thiểu tài nguyên mà graylog tiêu thụ nếu đẩy trực tiếp toàn bộ log về Graylog. Hy vọng qua bài viết bạn đã hiểu rõ pipeline là gì cũng như cách sử dụng hiệu quả. Nếu còn những thắc mắc cần giải đáp, hãy liên hệ với chúng tôi để được tư vấn sớm nhất nhé.