ELK Lesson 14:Metricbeat透過Logstash傳送資料到Elasticsearch
設定接收Metricbeat的設定檔
步驟1:新增Logstash的Keystore。
$ /usr/share/logstash/bin/logstash-keystore create --path.settings /etc/logstash
步驟2:於Keystore新增用於對Elasticsearch認證的帳號與密碼。
Elasticsearch認證帳號。
$ /usr/share/logstash/bin/logstash-keystore add ES_ID --path.settings /etc/logstash
Enter value for ES_ID:
Added 'es_id' to the Logstash keystore.
Elasticsearch認證密碼。
$ /usr/share/logstash/bin/logstash-keystore add ES_PWD --path.settings /etc/logstash
Enter value for ES_PWD:
Added 'es_pwd' to the Logstash keystore.
步驟3:新增certs資料夾,放置Elasticsearh的認證憑證。
$ sudo mkdir /etc/logstash/certs
請將之前安裝Elasticsearch所生產的憑證(ca.crt)放進去。
$ sudo cp /etc/elasticsearch/certs/ca.crt /etc/logstash/certs/ca.crt
步驟4:在Logstash的conf.d資料夾中新增一個副檔名為conf的檔案。
$ vi /etc/logstash/conf.d/metricbeat.conf
步驟5:將以下內容寫進metricbeat.conf。
input {
beats {
#指定接聽5044 port
port => 5044
}
}
output {
elasticsearch {
#指定寫入的Elasticsearch的節點,可以設定多個
hosts => ["https://lab-elk-2.example.com:9200"]
#寫入的index命名規則
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
#指定Elasticsearch的憑證
cacert => "/etc/logstash/certs/ca.crt"
#指定Keystore內的帳號密碼
user => "${es_id}"
password => "${es_pwd}"
}
}
步驟6:重新啟動Logstash。
$ systemctl restart logstash
修改Metricbeat設定檔
步驟1:註解掉之前寫入Elasticsearch的部分。
#output.elasticsearch:
...
...
...
#這段全部都要註解掉喔!
步驟2:調整output.logstash的部分。
# ------------------------------ Logstash Output -------------------------------
output.logstash:
# The Logstash hosts
hosts: ["lab-elk-2.example.com:5044"]
# Optional SSL. By default is off.
# List of root certificates for HTTPS server verifications
#ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
# Certificate for SSL client authentication
#ssl.certificate: "/etc/pki/client/cert.pem"
# Client Certificate Key
#ssl.key: "/etc/pki/client/cert.key"
因為特殊原因,我們的環境中lab-elk-2.example.com上的Logstahs只處理metricbeat的資料,若是有多個主機,可以在hosts中多寫入幾個logstash主機,並且增加”loadbalance: true”這個設定,讓loading平均分攤。
相關資訊
- Metricbeat官方教學:網址
~ END ~