如何在CentOS上使用Filebeat监控系统日志
Filebeat是Elastic官方提供的轻量级日志收集器,支持CentOS系统。安装方式有两种:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
sudo yum install -y filebeat
filebeat-7.14.0-x86_64.rpm),再用rpm命令安装:sudo rpm -ivh filebeat-7.14.0-x86_64.rpm
Filebeat的核心配置文件位于/etc/filebeat/filebeat.yml,需修改以下关键部分:
log类型输入,指定要监控的系统日志路径。例如,监控/var/log目录下所有.log文件(包括messages、secure等系统日志):filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
ignore_older: 72h # 忽略72小时前的旧日志(可选,减少资源占用)
若只需监控特定日志(如/var/log/messages和/var/log/secure),可调整为:paths:
- /var/log/messages
- /var/log/secure
output.elasticsearch:
hosts: ["localhost:9200"] # Elasticsearch地址(若不在本地,替换为IP)
index: "system-logs-%{+yyyy.MM.dd}" # 自定义索引名称(按日期分割)
若需先发送到Logstash(需提前安装并运行Logstash),可配置:output.logstash:
hosts: ["localhost:5044"] # Logstash地址
配置完成后,启动Filebeat服务并设置为开机自启:
sudo systemctl daemon-reload # 重新加载systemd配置(若有修改)
sudo systemctl start filebeat # 启动Filebeat
sudo systemctl enable filebeat # 设置开机自启
sudo systemctl status filebeat
若显示“Active: active (running)”,说明服务已正常启动。sudo tail -f /var/log/filebeat/filebeat
若日志中出现“Successfully sent batch of events to Elasticsearch”或“Logstash output is configured”,说明配置生效。Filebeat提供了针对常见系统日志(如system、nginx、mysql)的预定义模块,可直接使用:
sudo filebeat modules enable system
系统模块会自动监控/var/log/messages、/var/log/secure等系统日志,并应用预定义的解析规则。/etc/filebeat/modules.d/system.yml,可根据需求调整(如过滤字段、添加标签)。sudo systemctl restart filebeat
filebeat.yml中增加max_procs(CPU核心数)和queue.mem.events(内存队列大小),提升处理能力:max_procs: 4 # 使用4个CPU核心
queue.mem.events: 4096 # 内存队列大小(默认1024)
bulk_max_size(每次发送的日志条数),减少网络请求次数:output.elasticsearch:
bulk_max_size: 512 # 默认为20
filestream输入类型(替代老旧的log类型),性能更优:filebeat.inputs:
- type: filestream
enabled: true
paths:
- /var/log/*.log
通过以上步骤,即可完成Filebeat在CentOS上的部署,实现对系统日志的实时监控与传输。后续可通过Kibana连接Elasticsearch,进行日志的可视化分析与告警配置。