ubuntu如何利用filebeat进行系统监控
1. 安装Filebeat
在Ubuntu上安装Filebeat前,先更新系统软件包列表:
sudo apt-get update &
&
sudo apt-get upgrade -y
添加Elastic官方GPG密钥和软件源(以7.x版本为例):
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
更新软件源并安装Filebeat:
sudo apt-get update &
&
sudo apt-get install filebeat -y
2. 配置Filebeat监控系统日志
Filebeat的主配置文件位于/etc/filebeat/filebeat.yml
,需修改filebeat.inputs
部分指定监控的日志路径。例如,监控系统默认日志(syslog
、auth.log
)和所有.log
文件:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/auth.log
- /var/log/*.log
ignore_older: 72h # 忽略超过72小时的旧日志,减少资源占用
若需解析JSON格式日志(如某些应用的自定义日志),可添加processors
配置:
processors:
- decode_json_fields:
fields: ["message"] # 从message字段提取JSON内容
target: "" # 解析后的字段存入根对象
3. 启动Filebeat服务
保存配置文件后,启动Filebeat并设置为开机自启:
sudo systemctl start filebeat
sudo systemctl enable filebeat
检查服务状态,确认运行正常:
sudo systemctl status filebeat
若状态显示为active (running)
,则表示Filebeat已成功启动。
4. 验证日志收集与发送
查看Filebeat自身日志,排查配置错误:
sudo journalctl -u filebeat -f # 实时查看日志
若输出目标为Elasticsearch(默认配置),可通过以下命令检查Elasticsearch中的索引:
curl -X GET "localhost:9200/_cat/indices?v" # 查看所有索引
若索引前缀为filebeat-*
,说明Filebeat已成功发送系统日志到Elasticsearch。
5. 可选:使用System模块简化配置
Filebeat提供system
模块,预定义了系统日志(如syslog
、auth.log
、kernel.log
)的收集、解析规则,无需手动配置filebeat.inputs
。启用步骤如下:
sudo filebeat modules enable system # 启用system模块
修改filebeat.yml
,配置输出目标(如Elasticsearch):
output.elasticsearch:
hosts: ["localhost:9200"]
index: "system-logs-%{
+yyyy.MM.dd}
" # 索引按日期分割
重新加载配置并启动Filebeat:
sudo systemctl restart filebeat
6. 高级配置(可选)
- 多行日志处理:若日志跨越多行(如Java异常堆栈),需配置
multiline
选项合并多行:filebeat.inputs: - type: log enabled: true paths: - /var/log/myapp/*.log multiline: pattern: '^\[' # 匹配多行起始标识(如时间戳[2025-10-10) negate: true match: after # 将后续行合并到上一行
- 日志轮转处理:调整
close_inactive
(文件无新数据后关闭的时间,默认5m)和clean_inactive
(清理过期文件的时间,默认7天),避免文件句柄泄漏:filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log close_inactive: 1h clean_inactive: 30d
- 监控性能优化:若监控大量日志文件,可调整
max_procs
(最大CPU核心数)和queue.mem.events
(内存队列大小),提升吞吐量:max_procs: 4 # 使用4个CPU核心 queue.mem: events: 4096 # 内存队列最多缓存4096个事件
7. 监控Filebeat自身状态
通过systemctl
命令监控Filebeat运行状态:
sudo systemctl status filebeat
查看Filebeat日志,确认是否有错误:
sudo tail -f /var/log/filebeat/filebeat.log
若需长期监控Filebeat的性能指标(如CPU、内存使用率),可使用top
、htop
或prometheus
+grafana
组合,设置告警规则(如CPU使用率超过80%时触发邮件通知)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu如何利用filebeat进行系统监控
本文地址: https://pptw.com/jishu/722983.html