Install and Configure Filebeat

Filebeat adalah salah satu dari anggota beats family yang dipasang sebagai agent di server Anda. Fungsi dari filebeat adalah memantau file log yang Anda tentukan serta mengumpulkan log events dan meneruskannya ke Elasticsearch atau Logstash untuk diindeks.

Sebelum memulai Anda memerlukan Elastic Stack seperti Elasticsearch untuk menyimpan dan mencari data, dan Kibana untuk memvisualisasikan dan mengelolanya.

Install Filebeat

Install filebeat di server yang ingin Anda monitor

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.0-x86_64.rpm
sudo rpm -vi filebeat-8.11.0-x86_64.rpm

Connect to the Elastic Stack

Konfigurasikan filebeat.yml dengan menentukan instalasi elasticsearch mana yang akan dikirimkan data oleh filebeat.

output.elasticsearch:
  hosts: ["https://myEShost:9200"]
  username: "filebeat_internal"
  password: "YOUR_PASSWORD" 
  ssl:
    enabled: true
    ca_trusted_fingerprint: "b9a10bbe64ee9826abeda6546fc988c8bf798b41957c33d05db736716513dc9c"

setup.template.settings:
  index.number_of_shards: 1

setup.kibana:
  host: "mykibanahost:5601" 
  username: "my_kibana_user"  
  password: "{pwd}"

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

Untuk ca_trusted_fingerprint dapat Anda temukan dari sertifikat yang dihasilkan Elasticsearch.

openssl x509 -fingerprint -sha256 -noout -in ./http_ca.crt | awk --field-separator="=" '{print $2}' | sed 's/://g'

Lalu untuk konfigurasi username dan password kibana bersifat opsional. Jika tidak ditentukan, maka filebeat akan menggunakan username dan password dari output.elasticsearch.

Untuk menggunakan username dan password kibana, akun kibana harus disetting role kibana_admin.

Collect log data

Untuk mengecek modul filebeat yang tersedia

filebeat modules list

Aktifkan modul yang akan digunakan untuk mengumpulkan log. misalnya MySQL.

filebeat modules enable mysql

Selanjutnya konfigurasikan modul /etc/filebeat/modules.d/mysql.yml menyesuaikan lokasi log di server Anda.

- module: mysql
  error:
    enabled: true
    var.paths: ["/path/to/log/mysql/error.log*"]
  slowlog:
    enabled: true
    var.paths: ["/path/to/log/mysql/mysql-slow.log*"]

Dokumentasi lengkap terkait variable module dapat dicek disini

Test konfigurasi filebeat.

filebeat test config -e

Set up assets

Filebeat dilengkapi dengan assets bawaan untuk parsing, indexing, dan visualizing data Anda.

Untuk menerapkannya gunakan perintah berikut.

filebeat setup -e

Start Filebeat

Start service filebeat untuk memulai pengumpulan data.

systemctl start filebeat

Cek dashboard Kibana untuk memastikan data sudah masuk