در ادامه ی سلسله مطالب «آموزش نصب و پیکربندی ELK Stack» ، در بخش ۳ سرویس logstash را نصب کردیم و همچنین SSL Certificates ایجاد کردیم.در این مطلب قصد داریم تا سرویس logstash را پیکربندی کنیم.
فایل های پیکربندی logstash به صورت JSON-format می باشند و در مسیر زیر قرار دارند :
/etc/logstash/conf.d
فایل های پیکربندی شامل سه قسمت inputs, filters و outputs می باشند.اکنون برای دریافت ورودی از filebeat فایل پیکربندی input زیر را ایجاد کنید :
#vi /etc/logstash/conf.d/02-beats-input.conf
سپس خطوط زیر را درون فایل بنویسید :
input { beats { port => "5044" ssl => true ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt" ssl_key => "/etc/pki/tls/private/logstash-forwarder.key" } }
همانطور که در تنظیمات input می بینید.beats روی پورت 5044 tcp قادر به listen می باشد و از ssl certificate و private key که قبلا ساختیم استفاده می کند.جهت بررسی درست بودن فایل پیکربندی کافیست تا دستورات پایین را اجرا کنید :
#cd /usr/share/logstash # bin/logstash -f /etc/logstash/conf.d/02-beats-input.conf --config.test_and_exit
پس از اجرای دستور بالا خروجی مانند خط پایین را مشاهده خواهید کرد :
[INFO ] 2018-08-04 10:48:14.599 [LogStash::Runner] runner – Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash
اکنون فایل پیکربندی زیر را برای filter کردن syslog messages ایجاد کنید :
#vi /etc/logstash/conf.d/10-syslog-filter.conf
سپس این خطوط را درون فایل بنویسید :
filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } syslog_pri { } date { match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } }
اکنون فایل پیکربندی output را ایجاد کنید :
#vi /etc/logstash/conf.d/30-elasticsearch-output.conf
سپس این خطوط را درون فایل بنویسید :
output { elasticsearch { hosts => ["localhost:9200"] sniffing => true manage_template => false index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } }
اکنون سرویس logstash را با استفاده از systemctl باید start و enable کنید :
#systemctl start logstash
#systemctl enable logstash
ادامه دارد …