Hướng dẫn sử dụng filebeat để đọc và quản lý logs hệ thống nginx trên ubuntu

6035

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:

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

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:

Hướng dẫn sử dụng filebeat để đọc và quản lý logs hệ thống nginx trên ubuntu

# 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

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.

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

Hướng dẫn sử dụng filebeat để đọc và quản lý logs hệ thống nginx trên ubuntu

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

Xem thêm các vị trí tuyển dụng it manager tại Topdev