Hướng dẫn sử dụng filebeat để đọc và quản lý logs hệ thống nginx trên ubuntu
Cài đặt elasticsearch, kibana, filebeat (Phiên bản 6.4 bản mới nhất) Vì tìm hiểu đến filebeat thì chắc hẳn mọi người đã cài đặt rồi nên mình sẽ không hướng dẫn cài đặt nữa. Còn với những bạn chưa cài đặt thì có thể dễ dàng cái đặt theo hướng dẫn trên trang chủ elastic theo đường ...
Cài đặt elasticsearch, kibana, filebeat (Phiên bản 6.4 bản mới nhất)
Vì tìm hiểu đến filebeat thì chắc hẳn mọi người đã cài đặt rồi nên mình sẽ không hướng dẫn cài đặt nữa. Còn với những bạn chưa cài đặt thì có thể dễ dàng cái đặt theo hướng dẫn trên trang chủ elastic theo đường dẫn dưới đây:
https://www.elastic.co/downloads
– elasticsearch trong phần hướng dẫn này để indeces dữ liệu mà filebeat đọc được từ hệ thống logs của nginx
– kibana để quản lý và xem tổng quan logs của nginx.
Cài đặt plugins elasticsearch geoip và user agent
Module nginx của filebeat yêu cầu phải cài đặt plugin elasticsearch geoip và plugin elasticsearch user agent, có thể dễ dàng cài đặt thông qua command line:
1 2 3 4 5 |
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-user-agent sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-geoip |
Cấu hình filebeat
Để cấu hình filebeat trên ubuntu, chúng ta cần tìm đến file cấu hình theo đường dẫn /etc/filebeat/filebeat.yml, mở file này (sudo vim /etc/filebeat/filebeat.yml) và chỉ cần để ý các dòng sau :
filebeat.inputs:
– type: log
enabled: false
paths:
– /var/log/*.log
Giải thích:
Trong hướng dẫn này chúng ta chỉ cần để ý đến hai tham số “enabled” và “paths”
– enabled: theo mặc định là false, điều này có nghĩa là filebeat sẽ không indeces dữ liệu đọc được từ logs đến elasticsearch và khi truy cập vào kibana để xem và quản lý logs chúng ta sẽ nhận được thông báo lỗi như sau:
Đổi tham số này thành true để xem logs trên kibana.
– paths: Đường dẫn đến file log, chúng ta nên để mặc định để đọc được tất cả các file logs (sử dụng cho modules redis,mysql,…)
Enabled và cấu hình modules nginx
1 2 3 |
sudo filebeat modules enable nginx |
Chúng ta sẽ mở file cấu hình của modules nginx theo đường dẫn /etc/filebeat/modules.d/nginx.yml, nội dung trong file như sau:
# Access logs chỉ quan tâm đến dòng #var.paths
var.paths: [“/var/log/nginx/access.log*”]
# Error logs tương tự như ở access logs
var.paths: [“/var/log/nginx/error.log*”]
Cài đặt kibana dashboards
1 2 3 |
sudo filebeat setup |
Khởi động elasticsearch, kibana, filebeat.
Chúng ta cần khởi động lại các service này sau khi cấu hình.
1 2 3 4 5 6 7 |
sudo service elasticsearch restart sudo service kibana restart sudo service filebeat restart |
Đến đây thì chúng ta có thể truy cập vào kibana dashboard để xem logs của hệ thống nginx
Nếu nhìn thấy dữ liệu trong kibana dashboard thì các cài đặt cơ bản của filebeat để sử dụng modules nginx đã thành công.
Chúng ta có thể tìm hiểu thêm và filebeat và các modules khác của filebeat tại địa chỉ dưới đây của elastic:
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-overview.html
Tác giả: Trần Thanh Dân