Quản lý log máy chủ web hiệu quả là yếu tố quan trọng để duy trì hiệu suất hệ thống, khắc phục sự cố nhanh chóng và phân tích hành vi người dùng. Nginx tạo ra các log truy cập và lỗi chứa nhiều thông tin hữu ích giúp giám sát hoạt động của máy chủ. Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Fluent Bit trên Droplet, cấu hình để thu thập log từ Nginx và chuyển tiếp chúng đến Managed OpenSearch của DataOnline nhằm hỗ trợ phân tích và trực quan hóa dữ liệu log một cách hiệu quả.
Yêu cầu
Trước khi bắt đầu, hãy đảm bảo bạn đã chuẩn bị đầy đủ các yếu tố sau:
-
Một Droplet của DataOnline với máy chủ web Nginx đã được cài đặt.
-
Một cụm Managed OpenSearch.
Bước 1 – Cài đặt Fluent Bit
Fluent Bit là một trình xử lý và chuyển tiếp log mã nguồn mở, nhẹ, được thiết kế để thu thập dữ liệu và log từ nhiều nguồn, xử lý hoặc chuyển đổi chúng, sau đó chuyển tiếp đến các điểm đích khác nhau.
Fluent Bit có thể được cài đặt trên nhiều nền tảng như Ubuntu, Debian, RedHat, CentOS bằng cách chạy lệnh sau trong terminal của Droplet.
curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh
Bước 2 – Cấu hình Fluent Bit để gửi log đến OpenSearch
Theo mặc định, các file cấu hình của Fluent Bit nằm ở thư mục /etc/fluent-bit/
. Để chuyển tiếp log đến OpenSearch, bạn cần chỉnh sửa file fluent-bit.conf
.
Các nguồn nhập của Fluent Bit
Fluent Bit cung cấp nhiều plugin nhập liệu để thu thập log và dữ liệu sự kiện từ các nguồn khác nhau.
Trong trường hợp của chúng ta là thu thập log từ các file log, chúng ta sẽ sử dụng plugin input tail
. Plugin này được thiết kế đặc biệt để đọc dữ liệu từ các file, xử lý việc xoay log, và truyền tải các mục log mới ngay khi chúng được ghi vào file.
Cập nhật file fluent-bit.conf
như sau:
[INPUT] name tail Tag nginx.access path /var/log/nginx/access.log parser nginx [INPUT] Name tail Tag nginx.error path /var/log/nginx/error.log
Tiếp theo, cấu hình thêm một input cho log lỗi của Nginx:
Để biết thêm thông tin về các input của Fluent Bit, bạn có thể tham khảo tại: Fluent Bit Inputs Documentation
Note: Fluent Bit đã cung cấp sẵn một parser mặc định cho log truy cập của Nginx.
Các đầu ra của Fluent Bit
Tương tự như các plugin nhập liệu, Fluent Bit cung cấp các plugin xuất log để gửi các log đã thu thập và xử lý đến các điểm đích khác nhau. Vì chúng ta sẽ gửi log đến OpenSearch, hãy sử dụng plugin output opensearch
.
[OUTPUT] Name opensearch Match nginx.access Host <OpenSearch_Host> port 25060 HTTP_User doadmin HTTP_Passwd <OpenSearch_Password> Index fbit-nginx-access tls On Suppress_Type_Name On [OUTPUT] Name opensearch Match nginx.error Host <OpenSearch_Host> port 25060 HTTP_User doadmin HTTP_Passwd <OpenSearch_Password> Index fbit-nginx-error tls On Suppress_Type_Name On
Hãy thay <OpenSearch_Host>
bằng hostname của server OpenSearch của bạn và <OpenSearch_Password>
bằng mật khẩu của OpenSearch.
Sau khi cấu hình xong, khởi động dịch vụ Fluent Bit bằng các lệnh:
systemctl enable fluent-bit.service systemctl start fluent-bit.service systemctl status fluent-bit.service
Kiểm tra kết nối
Bạn có thể xác minh rằng Logstash có thể kết nối đến OpenSearch bằng cách kiểm tra kết nối:
curl -u your_username:your_password -X GET "https://your-opensearch-server:25060/_cat/indices?v"
Hãy thay your-opensearch-server
bằng hostname của server OpenSearch, your_username
và your_password
bằng thông tin xác thực của bạn.
Thu thập dữ liệu
Đảm bảo rằng dữ liệu đã được lập chỉ mục đúng trong OpenSearch:
curl -u your_username:your_password -X GET "http://your-opensearch-server:25060/<your-index-name>/_search?pretty"
Thay your-opensearch-server
bằng hostname của server OpenSearch, your_username
và your_password
bằng thông tin xác thực, và <your-index-name>
bằng tên chỉ mục tương ứng.
Cấu hình Firewall và mạng
Đảm bảo các quy tắc firewall và cài đặt mạng cho phép lưu lượng truy cập giữa Logstash và OpenSearch trên cổng đã chỉ định.
Kiểm tra log của Fluent Bit
Theo mặc định, các log được ghi vào hệ thống log. Bạn có thể kiểm tra bằng lệnh:
sudo journalctl -u fluent-bit
Xác thực cấu hình
Đảm bảo rằng các file cấu hình được viết đúng cú pháp:
/opt/fluent-bit/bin/fluent-bit -c /etc/fluent-bit/fluent-bit.conf --dry-run
Kết luận
Chúng ta đã cùng nhau trải qua quá trình cài đặt và cấu hình Fluent Bit để thu thập log của Nginx và chuyển tiếp chúng đến Managed OpenSearch của DataOnline để phân tích. Qua các bước dưới đây, bạn đã thiết lập thành công một hệ thống quản lý log hiệu quả, giúp giám sát và phân tích log của máy chủ web một cách tối ưu:
-
Cài đặt: Sử dụng lệnh curl đơn giản để cài đặt Fluent Bit trên Droplet, phù hợp với nhiều nền tảng.
-
Cấu hình: Chỉnh sửa file
fluent-bit.conf
để thu thập log truy cập và lỗi của Nginx bằng plugin inputtail
và gửi log đến OpenSearch bằng plugin outputopensearch
. -
Quản lý dịch vụ: Kích hoạt và khởi động dịch vụ Fluent Bit để đảm bảo hệ thống hoạt động ổn định.
-
Xử lý sự cố: Bao gồm các bước kiểm tra kết nối, xác minh việc thu thập dữ liệu, và kiểm tra log của Fluent Bit.
Với việc Fluent Bit được cấu hình thành công, bạn sẽ tận dụng được khả năng tìm kiếm và trực quan hóa mạnh mẽ của OpenSearch để có cái nhìn sâu sắc về log của máy chủ Nginx