如何使用Filebeat监控Linux系统日志
导读:使用 Filebeat 监控 Linux 系统日志 一 安装与准备 在 RHEL/CentOS 系列: 安装:执行 sudo yum install -y filebeat;或下载 RPM 包后用 sudo rpm -ivh fileb...
使用 Filebeat 监控 Linux 系统日志
一 安装与准备
- 在 RHEL/CentOS 系列:
- 安装:执行 sudo yum install -y filebeat;或下载 RPM 包后用 sudo rpm -ivh filebeat-< 版本> -x86_64.rpm 安装。
- 配置文件默认路径:/etc/filebeat/filebeat.yml。
- 在 Debian/Ubuntu 系列:
- 使用 apt 安装 Filebeat(官方仓库),配置文件同样位于 /etc/filebeat/filebeat.yml。
- 安装完成后,建议先备份原始配置:sudo cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak。
二 配置 Filebeat 采集系统日志
- 启用系统模块(推荐)
- 执行:sudo filebeat modules enable system,如需自定义模块参数,编辑 /etc/filebeat/modules.d/system.yml。
- 说明:Filebeat 提供 system、auditd、nginx、apache、mysql 等模块,可一键完成常见日志的采集与解析。
- 最小可用配置示例(直接读文件,适合快速验证)
- 编辑 /etc/filebeat/filebeat.yml:
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log - /var/log/messages exclude_files: ["*.gz"] fields: type: systemlog fields_under_root: true output.elasticsearch: hosts: ["localhost:9200"] index: "system-logs-%{ +yyyy.MM.dd} " - 要点:
- paths 指定采集路径;exclude_files 排除压缩旧日志。
- 通过 fields 添加自定义字段,便于后续在 ES/Kibana 中区分来源。
- 索引名使用 %{ +yyyy.MM.dd} 做按日滚动。
- 编辑 /etc/filebeat/filebeat.yml:
三 启动与验证
- 启动与开机自启
- 启动:sudo systemctl start filebeat
- 开机自启:sudo systemctl enable filebeat
- 查看状态:sudo systemctl status filebeat
- 查看运行日志(排查问题)
- 使用 journalctl:sudo journalctl -u filebeat -f
- 快速自检
- 确认进程与端口连通性(若输出到本机 ES):curl -X GET “localhost:9200”。
四 输出到 Elasticsearch 与 Kibana 可视化
- 若输出到 Elasticsearch
- 在 Kibana 访问 http://:5601,进入 Stack Management → Index Patterns,创建索引模式匹配 system-logs-*,时间字段选择 @timestamp,保存后即可在 Discover 查看。
- 若经由 Logstash 处理再入 ES
- 修改输出段为:
output.logstash: hosts: ["logstash-host:5044"] - 在 Logstash 中配置 beats 输入与所需 filter 解析后输出到 ES。此方式便于做字段解析、脱敏与丰富。
- 修改输出段为:
五 常见问题与优化
- 多行日志(如 /var/log/messages 的堆栈)
- 在对应 input 下增加:
multiline.pattern: '^\s' multiline.negate: true multiline.match: after
- 在对应 input 下增加:
- 大文件与性能
- 调整 harvester.max_bytes(单次事件最大字节数),并确保与系统日志轮转后的单文件大小匹配,避免截断。
- 忽略历史旧文件
- 使用 ignore_older(如 24h、7d)跳过过久未更新的文件,减少启动扫描压力。
- 日志轮转适配
- 配合 logrotate 正常轮转;Filebeat 会跟踪 inode 与偏移,一般无需额外处理。
- 调试技巧
- 前台运行查看事件:filebeat -e -c /etc/filebeat/filebeat.yml -d “publish”;如需强制从文件开头重读,可清理注册表目录(生产慎用):/var/lib/filebeat/registry(或解压包部署时的 data/registry)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何使用Filebeat监控Linux系统日志
本文地址: https://pptw.com/jishu/782405.html
