Filebeat和Logstash是Elastic Stack(以前称为ELK Stack)中的两个关键组件,它们通常一起使用来收集、处理和转发日志数据。以下是在CentOS系统上配置Filebeat与Logstash配合使用的步骤:
1. 安装Elastic Stack
首先,你需要安装Elasticsearch、Logstash和Kibana。你可以使用Elastic官方提供的YUM仓库来安装这些组件。
添加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
安装Elasticsearch
sudo yum install elasticsearch
启动并启用Elasticsearch服务
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
安装Logstash
sudo yum install logstash
启动并启用Logstash服务
sudo systemctl start logstash
sudo systemctl enable logstash
安装Kibana
sudo yum install kibana
启动并启用Kibana服务
sudo systemctl start kibana
sudo systemctl enable kibana
2. 安装Filebeat
sudo yum install filebeat
3. 配置Filebeat
编辑Filebeat配置文件 /etc/filebeat/filebeat.yml
,设置输出到Logstash。
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.logstash:
hosts: ["localhost:5044"] # Logstash的地址和端口
4. 配置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}"
}
}
5. 启动Filebeat
sudo systemctl start filebeat
sudo systemctl enable filebeat
6. 验证配置
确保Elasticsearch、Logstash和Kibana都在运行,并且Filebeat能够将日志发送到Logstash。
检查Filebeat状态
sudo systemctl status filebeat
检查Logstash状态
sudo systemctl status logstash
检查Elasticsearch状态
sudo systemctl status elasticsearch
检查Kibana状态
sudo systemctl status kibana
通过这些步骤,你应该能够在CentOS系统上成功配置Filebeat与Logstash配合使用。如果有任何问题,请检查日志文件以获取更多信息。