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.
Xem thêm các bài viết liên quan:
- Hướng dẫn cài đặt ELK Stack trên Centos 7 (Phần 2)
- Series tìm hiểu lập trình java
- Cùng nhau tìm hiểu Docker
- 13 Plugin không thể thiếu khi làm việc với IntellIJ IDEA
- Những plugins Intellij IDEA tốt nhất trong công việc
- Crack Intellij IDEA new versions 2021
- Crack IntellIJ để code như một senior
- Shortcut Intellij hữu ích để làm việc được hiệu quả hơn
- Build hệ thống Pub Sub dùng Hazelcast và Spring boot
- Build hệ thống Pub-Sub bằng Kafka+Spring boot (phần 3)
- Biết sử dụng git cherry-pick để làm việc hiệu quả hơn
- Git stash giúp bạn trở nên chuyên nghiệp như thế nào?
- Git revert với git reset hoạt động như thế nào
- Active Jrebel để code trong IntellIJ IDEA
- Tìm hiểu cơ chế hoạt động của Apache Kafka (phần 1)
- Tìm hiểu cơ chế hoạt động của Apache Kafka (phần 2)
- Elasticsearch là gì mà bá đạo đến vậy? [Phần 1]
- Cài đặt Hazelcast trên server Centos 7
- Elasticsearch và Kibana dựng bằng Docker
- Câu chuyện phỏng vấn online mùa Covid
- Nói sao để được chào đón, làm thế nào để được ghi nhận
- Lập trình viên lúc rảnh rỗi thì nên làm gì?