定位与能力边界
Filebeat 是 Elastic Stack 的轻量级日志采集器,职责是“读取文件/日志并转发”,本身并不直接采集 CPU、内存、磁盘 I/O、网络 等系统指标。它可以把系统日志(如 /var/log/syslog)或应用日志可靠地发送到 Elasticsearch/Logstash/Kafka 等后端,用于检索与可视化;但它不是 Metricbeat(负责系统指标采集)的替代者。
在 Ubuntu 上的可行做法
- 使用 Metricbeat 采集系统资源指标(CPU、内存、磁盘、网络、进程等),输出到 Elasticsearch/Logstash,在 Kibana 做可视化与告警。
- 使用 Filebeat 采集系统与应用日志(如 /var/log/syslog、/var/log/auth.log、Nginx/Apache 日志),与 Metricbeat 的数据在 Elasticsearch 中关联展示,形成“日志 + 指标”的一体化监控。
- 若当前仅有 Filebeat,可先将其用于日志链路建设,后续再补充 Metricbeat 完善指标监控。
快速示例 Filebeat 采集 Ubuntu 系统日志
- 安装 Filebeat(Ubuntu 22.04 示例)
- 添加 Elastic GPG 与 APT 源,执行:sudo apt update && sudo apt install filebeat
- 启用并配置 system 模块
- 启用模块:sudo filebeat modules enable system
- 按需编辑模块配置:/etc/filebeat/modules.d/system.yml(保持默认路径或指向你的 syslog)
- 配置输出(示例为 Elasticsearch)
- /etc/filebeat/filebeat.yml 片段:
- output.elasticsearch:
- hosts: [“localhost:9200”]
- 启动与验证
- sudo systemctl start filebeat && sudo systemctl enable filebeat
- 查看服务状态:sudo systemctl status filebeat
- 查看运行日志:journalctl -u filebeat -f
- 在 Kibana 的 Discover/Logs 中检索 system.syslog 等事件。