Filebeat和Logstash是Elastic Stack(以前稱為ELK Stack)中的兩個關鍵組件,它們通常一起使用來收集、處理和轉發日志數據。以下是在CentOS系統上配置Filebeat與Logstash配合使用的步驟:
首先,你需要安裝Elasticsearch、Logstash和Kibana。你可以使用Elastic官方提供的YUM倉庫來安裝這些組件。
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
echo -e "[elasticsearch-7.x]\nname=Elasticsearch repository for 7.x packages\nbaseurl=https://artifacts.elastic.co/packages/7.x/yum\ngpgcheck=1\ngpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch\nenabled=1\nautorefresh=1\ntype=rpm-md" | sudo tee -a /etc/yum.repos.d/elasticsearch.repo
sudo yum install elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
sudo yum install logstash
sudo systemctl start logstash
sudo systemctl enable logstash
sudo yum install kibana
sudo systemctl start kibana
sudo systemctl enable kibana
sudo yum install filebeat
編輯Filebeat配置文件 /etc/filebeat/filebeat.yml
,設置輸出到Logstash。
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.logstash:
hosts: ["localhost:5044"] # Logstash的地址和端口
編輯Logstash配置文件 /etc/logstash/conf.d/filebeat.conf
,設置輸入和輸出。
input {
beats {
port => 5044
}
}
filter {
# 根據需要添加過濾器
# grok {
# match => { "message" => "%{COMBINEDAPACHELOG}" }
# }
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "filebeat-%{+YYYY.MM.dd}"
}
}
sudo systemctl start filebeat
sudo systemctl enable filebeat
確保Elasticsearch、Logstash和Kibana都在運行,并且Filebeat能夠將日志發送到Logstash。
sudo systemctl status filebeat
sudo systemctl status logstash
sudo systemctl status elasticsearch
sudo systemctl status kibana
通過這些步驟,你應該能夠在CentOS系統上成功配置Filebeat與Logstash配合使用。如果有任何問題,請檢查日志文件以獲取更多信息。