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配合使用。如果有任何问题,请检查日志文件以获取更多信息。