Trước khi đi bóc tách tìm hiểu Log Aggregator thì chúng ta sẽ đi tìm hiểu Log là gì, và tầm quan trọng của nó trong việc quản trị, theo dõi, giám sát hệ thống.

Log là gì? Log để làm gì?

Log là những bản ghi, ghi lại liên tục các thông báo về hoạt động của hệ thống/dịch vụ cũng như các ứng dụng được thiết lập trên hệ thống. Log file thường là những file văn bản dưới dạng “clear-text”, nghĩa là có thể đọc một cách tường minh, không bị mã hóa. Vì thế có thể sử dụng các trình soạn thảo như (vi, vim, nano) để xem, hoặc cùng lắm là tải về rồi mở notepad để tra cứu.

Để giải quyết các rắc rối mà hệ thống gặp phải, điều tối quan trọng là chúng ta cần phải kiểm tra file log để xem những gì đã xảy ra, miễn sao là chúng ta biết ứng dụng nào, tiến trình nào ghi log ở đâu. Từ đó dễ dàng khắc phục sự cố, cũng như dự đoán được những vấn đề tiềm tàng có thể xảy ra.

Trong hệ thống Linux, file log hầu hết được lưu trữ local tại thư mục: /var/log

Log Aggregator là gì?

Log có nhiều ưu điểm vậy thì đối với những hệ thống lớn, cài đặt nhiều ứng dụng, chạy nhiều dịch vụ, ta cần xem một ứng dụng đang chạy ra sao, tại sao lại không chạy, tại sao lại bị lỗi thì cứ phải SSH sau đó lại vào từng thư mục log rồi tail -f file_log_path để xem thủ công hay sao? Nếu mà ứng dụng chạy bị lỗi, file log lên tận mấy trăm MB thì xem thủ công cũng mệt lắm đấy.

Để giải quyết vấn đề này thì Log Aggregator ra đời, bản chất của việc này là chúng ta sẽ tổng hợp toàn bộ log hệ thống, log ứng dụng, log dịch vụ lại theo cùng một định dạng dễ đọc, từ đó dễ dàng tra cứu cũng như giải quyết nhanh chóng được các vấn đề của hệ thống, dịch vụ nói chung.

Ngoài ra có một vài lý do chính khiến chúng ta cần phải dùng quản lý log tập trung:

  • Có nhiều nguồn sinh ra log, log nằm trên nhiều máy chủ khác nhau nên khó quản lý, rất mất thời gian tìm kiếm, tra cứu.
  • Nội dung các file log không đồng nhất, file log hệ thống định dạng lại khác file log ứng dụng, nhiều loại file log khó đọc, không tường minh.
  • Có nhiều rootkit, tiến trình được sinh ra để xóa bỏ, nén file log.

Ưu điểm của việc thu thập log thông qua Log Aggregator:

  • Lưu trữ, hiển thị dữ liệu tìm kiếm theo thời gian thực.
  • Việc tổng hợp dữ liệu log diễn ra tự động, giúp quản trị viên/lập trình viên có cái nhìn tổng quan về hệ thống -> từ đó có định hướng tốt hơn để giải quyết vấn đề.
  • Quản lý log tập trung kết hợp với các ứng dụng thu thập, phân tích log khác giúp cho việc phân tích log dễ dàng, nhanh chóng, giảm thiểu thời gian tra cứu.

Ở phần tiếp theo, chúng ta sẽ đi tìm hiểu cách xây dựng một hệ thống quản lý log tập trung (Log Aggregator) như thế nào, dùng công nghệ gì để triển khai và lợi ích của nó đem lại ra sao.