Cara menjalankan Beberapa Instance Filebeat di Linux

Dalam tutorial ini, Anda akan belajar bagaimana menjalankan beberapa instance filebeat di sistem Linux. Filebeat adalah salah satu ketukan Elastis dan merupakan pengirim ringan untuk mengumpulkan, meneruskan, dan memusatkan data log peristiwa. Itu diinstal sebagai agen di server tempat Anda mengumpulkan log. Itu dapat meneruskan log yang dikumpulkannya ke Elasticsearch atau Logstash untuk pengindeksan langsung atau untuk diproses lebih lanjut sebelum dikirim ke Elasticsearch untuk pengindeksan masing-masing.

Jalankan Beberapa Instance Filebeat di Linux

Dalam tutorial kami sebelumnya, kami telah membahas cara menginstal Filebeat instance tunggal.

Instal dan Konfigurasi Filebeat di Ubuntu 20.04

Instal dan Konfigurasi Filebeat di CentOS 8

Instal Filebeat di Fedora 30/Fedora 29/CentOS 7

Instal dan Konfigurasi Filebeat 7 di Ubuntu 18.04/Debian 9.8

Dalam semua tutorial di atas, kami memiliki satu contoh Filebeat yang berjalan di sistem dan mengirim data log langsung ke Elasticsearch atau ke Logstash untuk diproses lebih lanjut sebelum dikirim ke Elasticsearch.

Ada saatnya Anda mungkin ingin mengirim log sistem ke beberapa keluaran; misalnya mengirim beberapa log langsung ke Elasticsearch sementara pada saat yang sama mengirimkan beberapa log lain langsung ke Logstash untuk diproses.

Jadi, dalam tutorial ini, mari kita lihat bagaimana mungkin menginstal dan menjalankan beberapa instance filebeat di sistem Linux agar dapat mengirim data ke beberapa output.

Cara menjalankan Beberapa Instance Filebeat di Linux

Ada beberapa cara di mana Anda dapat menginstal dan menjalankan beberapa instance filebeat di Linux. Beberapa di antaranya adalah;

  • Jalankan Beberapa Instance Filebeat di Linux menggunakan Filebeat-god
  • Jalankan Beberapa Instance Filebeat di Linux menggunakan systemd

Jalankan Beberapa Instance Filebeat di Linux menggunakan Filebeat-god

Pergi daemon (atau hanya god) adalah utilitas yang digunakan untuk “mendaemonisasi” program Go yang awalnya hanya berjalan di latar depan dan menulis log ke konsol. Filebeat-god (Filebeat Go daemon) oleh karena itu merupakan utilitas yang digunakan untuk mendaemonisasi proses Filebeat yang seharusnya berjalan di latar depan.

Just to note that this guide has been tested with Ubuntu 20.04 and CentOS 8. It should however work on other systems as well, I guess, -:).

Menginstal Filebeat-god

Setiap kali Filebeat diinstal, Filebeat-god diinstal bersamanya dan biasanya berada di tempat yang sama dengan biner Filebeat di bawah /usr/share/filebeat/bindirektori.

Untuk menemukan biner Filebeat-god, cukup gunakan perintah find sebagai berikut;

find / -iname filebeat-god
/usr/share/filebeat/bin/filebeat-god

Sekarang, secara default, Filebeat menggunakan jalur berikut;

JenisKeteranganLokasi
home Rumah dari instalasi Filebeat. /usr/share/filebeat
bin Lokasi untuk file biner. /usr/share/filebeat/bin
config Lokasi untuk file konfigurasi. /etc/filebeat
data Lokasi untuk file data persisten. /var/lib/filebeat
logs Lokasi untuk log yang dibuat oleh Filebeat. /var/log/filebeat

Dengan asumsi, Anda ingin meneruskan syslog dan peristiwa otentikasi sistem langsung ke Elasticsearch menggunakan modul sistem saat Anda ingin mengirim log khusus lainnya ke Logstash untuk diproses lebih lanjut sebelum mengirim ke Elasticsearch, maka Anda harus menjalankan proses Filebeat menggunakan Filebeat-god, /usr/share/filebeat/bin/filebeat-god, sebagai berikut;

Buat copyan file konfigurasi Filebeat.

cp -r /etc/filebeat{,-elasticsearch}

Perintah ini membuat /etc/filebeatdirektori -org.

Jadi kita sekarang memiliki direktori konfigurasi FIlebeat ini;

ls /etc/filebeat*
/etc/filebeat: fields.yml filebeat.reference.yml filebeat.yml modules.d /etc/filebeat-elasticsearch: fields.yml filebeat.reference.yml filebeat.yml modules.d

Mari kita kumpulkan syslog dan authenticationlog menggunakan /etc/filebeat-elasticsearchkonfigurasi dan teruskan ke Elasticsearch. Mengaktifkan modul sistem;

cp /etc/filebeat-elasticsearch/modules.d/system.yml{.disabled,}
Konfigurasikan keluaran Elasticsearch
vim /etc/filebeat-elasticsearch/filebeat.yml
... # ---------------------------- Elasticsearch Output ---------------------------- output.elasticsearch: # Array of hosts to connect to. hosts: ["192.168.57.30:9200"]...

Simpan dan keluar dari konfigurasi.

Verifikasi apakah koneksi ke Elasticsearch dapat dibuat dengan menjalankan Filebeat dalam mode debug;

filebeat -e --path.config /etc/filebeat-elasticsearch --path.home /usr/share/filebeat --path.data /var/lib/filebeat-elasticsearch

Jika semuanya baik-baik saja, Anda akan melihat koneksi Elasticsearch sedang dibuat.

... 2020-11-24T19:47:12.332Z	INFO	[index-management]	idxmgmt/std.go:298	Loaded index template. 2020-11-24T19:47:12.333Z	INFO	[index-management]	idxmgmt/std.go:309	Write alias successfully generated. 2020-11-24T19:47:12.333Z	INFO	[publisher_pipeline_output]	pipeline/output.go:151	Connection to backoff(elasticsearch(http://192.168.57.30:9200)) established

Selanjutnya, hentikan Filebeat berjalan dalam mode debug dan mulai sebagai daemon menggunakan Filebeat-god sebagai berikut;

/usr/share/filebeat/bin/filebeat-god -n -p /var/run/filebeat-elasticsearch.pid -r / -- /usr/share/filebeat/bin/filebeat --path.config /etc/filebeat-elasticsearch --path.home /usr/share/filebeat --path.data /var/lib/filebeat-elasticsearch --path.logs /var/log/filebeat-elasticsearch

Verifikasi apakah Filebeat sekarang berjalan sebagai daemon;

ps aux | grep filebeat | grep -v grep
root 121377 0.0 0.0 9300 636 pts/1 S 20:14 0:00 /usr/share/filebeat/bin/filebeat-god -n -p /var/run/filebeat-elasticsearch.pid -r / -- /usr/share/filebeat/bin/filebeat --path.config /etc/filebeat-elasticsearch --path.home /usr/share/filebeat --path.data /var/lib/filebeat-elasticsearch --path.logs /var/log/filebeat-elasticsearch root 121378 4.8 2.0 1609528 127224 pts/1 SLl 20:14 0:02 /usr/share/filebeat/bin/filebeat --path.config /etc/filebeat-elasticsearch --path.home /usr/share/filebeat --path.data /var/lib/filebeat-elasticsearch --path.logs /var/log/filebeat-elasticsearch

Tailing log;

tail -f /var/log/filebeat-elasticsearch/filebeat
... 2020-11-25T17:22:30.532Z	INFO	template/load.go:97	Template filebeat-7.10.0 already exists and will not be overwritten. 2020-11-25T17:22:30.532Z	INFO	[index-management]	idxmgmt/std.go:298	Loaded index template. 2020-11-25T17:22:30.533Z	INFO	[index-management]	idxmgmt/std.go:309	Write alias successfully generated. 2020-11-25T17:22:30.536Z	INFO	[publisher_pipeline_output]	pipeline/output.go:151	Connection to backoff(elasticsearch(http://192.168.57.30:9200)) established
Konfigurasikan Keluaran Logstash

Sekarang, jika Anda ingin mengumpulkan beberapa log lain pada sistem yang sama dan mengirim langsung ke Logstash untuk diproses lebih lanjut daripada mengirim ke Elasticsearch, cukup buat file konfigurasi Filebeat terpisah sebagai berikut;

cp -r /etc/filebeat{,-logstash}
vim /etc/filebeat-logstash/filebeat.yml

Tentukan file log untuk membaca dan mengirim data ke Logstash. Dalam contoh ini, kami mengumpulkan log wordpress dan meneruskan ke Logstash untuk diproses.

# ============================== Filebeat inputs =
============================== filebeat.inputs: - type: log # Change to true to enable this input configuration. enabled: true # Paths that should be crawled and fetched. Glob based paths. paths: - /var/log/wordpress/kifarunix-demo.com.log...
... # ================================== Outputs =================================== # Configure what output to use when sending the data collected by the beat. # ---------------------------- Elasticsearch Output ---------------------------- #output.elasticsearch: # Array of hosts to connect to. #hosts: ["192.168.57.30:9200"]...... # ------------------------------ Logstash Output ------------------------------- output.logstash: # Logstash hosts hosts: ["192.168.57.30:5044"]...

Simpan dan keluar dari file konfigurasi.

Jalankan Filebeat dalam mode debug menggunakan konfigurasi Filebeat khusus untuk logstash yang dibuat di atas.

filebeat -e --path.config /etc/filebeat-logstash/ --path.home /usr/share/filebeat --path.data /var/lib/filebeat-logstash
... 2020-11-25T18:06:30.298Z	INFO	log/harvester.go:302	Harvester started for file: /var/log/wordpress/kifarunix-demo.com.log 2020-11-25T18:06:33.300Z	INFO	[add_cloud_metadata]	add_cloud_metadata/add_cloud_metadata.go:89	add_cloud_metadata: hosting provider type not detected. 2020-11-25T18:06:34.302Z	INFO	[publisher_pipeline_output]	pipeline/output.go:143	Connecting to backoff(async(tcp://192.168.57.30:5044)) 2020-11-25T18:06:34.303Z	INFO	[publisher]	pipeline/retry.go:219	retryer: send unwait signal to consumer 2020-11-25T18:06:34.304Z	INFO	[publisher]	pipeline/retry.go:223	 done 2020-11-25T18:06:34.305Z	INFO	[publisher_pipeline_output]	pipeline/output.go:151	Connection to backoff(async(tcp://192.168.57.30:5044)) established

Jika semuanya baik-baik saja, jalankan instance Filebeat yang mengirimkan data ke Logstash sebagai daemon;

/usr/share/filebeat/bin/filebeat-god -n -p /var/run/filebeat-logstash.pid -r / -- /usr/share/filebeat/bin/filebeat --path.config /etc/filebeat-logstash/ --path.home /usr/share/filebeat --path.data /var/lib/filebeat-logstash --path.logs /var/log/filebeat-logstash

Demikian pula, Anda dapat memeriksa prosesnya menggunakan ps memerintah.

Jalankan Beberapa Contoh Filebeat di Linux menggunakan Systemd

Untuk sistem Linux yang menggunakan inisialisasi Systemd, tidak perlu repot menjalankan beberapa instance Filebeat di Linux menggunakan Filebeat-god.

Menjalankan beberapa instance Filebeat di Linux menggunakan Systemd semudah berikut ini.

Dengan asumsi Anda ingin mengumpulkan berbagai log dan dikirim ke berbagai output, seperti pada contoh yang kami gunakan di atas, maka yang perlu Anda lakukan hanyalah membuat unit service Systemd untuk Filebeat yang mengumpulkan log pada setiap file log tertentu.

Contoh membuat Filebeat untuk mengirimkan log ke Elasticsearch berdasarkan contoh file konfigurasi di atas;

Copy unit service FIlebeat systemd default dengan mengganti namanya.

cp /lib/systemd/system/filebeat.service /etc/systemd/system/filebeat-elasticsearch.service

Edit file konfigurasi untuk unit service khusus dan atur direktori yang sesuai

vim /etc/systemd/system/filebeat-elasticsearch.service
[Unit] Description=Filebeat sends log files to directly to Elasticsearch. Documentation=https://www.elastic.co/products/beats/filebeat Wants=network-online.target After=network-online.target [Service] Environment="BEAT_LOG_OPTS=" Environment="BEAT_CONFIG_OPTS=-c /etc/filebeat-elasticsearch/filebeat.yml" Environment="BEAT_PATH_OPTS=--path.home /usr/share/filebeat --path.config /etc/filebeat-elasticsearch --path.data /var/lib/filebeat-elasticsearch --path.logs /var/log/filebeat-elasticsearch" ExecStart=/usr/share/filebeat/bin/filebeat --environment systemd $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS Restart=always [Install] WantedBy=multi-user.target

Demikian pula, untuk mengirim ke Logstash;

cp /lib/systemd/system/filebeat.service /etc/systemd/system/filebeat-logstash.service
vim /etc/systemd/system/filebeat-logstash.service
[Unit] Description=Filebeat sends log files to Logstash. Documentation=https://www.elastic.co/products/beats/filebeat Wants=network-online.target After=network-online.target [Service] Environment="BEAT_LOG_OPTS=" Environment="BEAT_CONFIG_OPTS=-c /etc/filebeat-logstash/filebeat.yml" Environment="BEAT_PATH_OPTS=--path.home /usr/share/filebeat --path.config /etc/filebeat-logstash --path.data /var/lib/filebeat-logstash --path.logs /var/log/filebeat-logstash" ExecStart=/usr/share/filebeat/bin/filebeat --environment systemd $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS Restart=always [Install] WantedBy=multi-user.target

Reload konfigurasi Systemd;

systemctl daemon-reload

Mulai dua service;

systemctl start filebeat-logstash filebeat-elasticsearch

Periksa statusnya;

systemctl status filebeat-logstash filebeat-elasticsearch
● filebeat-logstash.service - Filebeat sends log files to Logstash. Loaded: loaded (/etc/systemd/system/filebeat-logstash.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2020-11-25 19:29:20 UTC; 1min 21s ago Docs: https://www.elastic.co/products/beats/filebeat Main PID: 129521 (filebeat) Tasks: 9 (limit: 7031) Memory: 28.4M CGroup: /system.slice/filebeat-logstash.service └─129521 /usr/share/filebeat/bin/filebeat --environment systemd -c /etc/filebeat-logstash/filebeat.yml --path.home /usr/share/filebeat --path.config /etc/file>... ● filebeat-elasticsearch.service - Filebeat sends log files to directly to Elasticsearch. Loaded: loaded (/etc/systemd/system/filebeat-elasticsearch.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2020-11-25 19:29:20 UTC; 1min 21s ago Docs: https://www.elastic.co/products/beats/filebeat Main PID: 129540 (filebeat) Tasks: 9 (limit: 7031) Memory: 23.9M CGroup: /system.slice/filebeat-elasticsearch.service └─129540 /usr/share/filebeat/bin/filebeat --environment systemd -c /etc/filebeat-elasticsearch/filebeat.yml --path.home /usr/share/filebeat --path.config /et...

Dan di sana Anda pergi. Hanya itu yang diperlukan untuk menjalankan beberapa instance Filebeat di Linux.

Referensi

Instal dan konfigurasikan beberapa filebeat di instance linux

Tutorial Terkait

Siapkan Kibana Elasticsearch dan Fluentd di CentOS 8

Setup Multi-node Elasticsearch 7.x Cluster di Fedora 30/Fedora 29/CentOS 7

Instal Elasticsearch 7 di Fedora 30

Instal Elasticsearch 7.x di Ubuntu 18.04/Debian 9.8

Related Posts

© 2022 Tekno Sridianti