در ادامه ی سلسله مطالب «آموزش نصب و پیکربندی 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
ادامه دارد …

