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