在 CentOS 上使用 Filebeat 采集“指标”,需要先明确一点:
Filebeat 本身主要用于采集日志(Log),不是 Prometheus 那种指标(Metrics)采集器。
但 Filebeat 可以通过 modules / input 采集 系统指标类日志(如 CPU、内存、磁盘、网络等),再发给 Elasticsearch / Logstash。
下面分几种常见场景说明。
sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
sudo cat > /etc/yum.repos.d/filebeat.repo <<EOF
[filebeat]
name=Elasticsearch repository for Filebeat
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
EOF
sudo yum install filebeat -y
sudo filebeat modules enable system
编辑配置:
sudo vi /etc/filebeat/modules.d/system.yml
示例:
- module: system
syslog:
enabled: true
var.paths: ["/var/log/messages"]
auth:
enabled: true
var.paths: ["/var/log/secure"]
sudo vi /etc/filebeat/filebeat.yml
output.elasticsearch:
hosts: ["http://localhost:9200"]
setup.kibana:
host: "http://localhost:5601"
sudo systemctl enable filebeat
sudo systemctl start filebeat
✅ 这样采集的是 系统日志,不是实时指标。
如果你有 指标格式日志文件(例如自定义输出):
cpu_usage 0.23
mem_usage 0.56
可用 filestream input:
filebeat.inputs:
- type: filestream
paths:
- /var/log/metrics/*.log
输出到 ES 或 Logstash 后做解析。
| 需求 | 工具 |
|---|---|
| CPU / 内存 / 磁盘 | node_exporter + Prometheus |
| 容器指标 | cAdvisor |
| 日志 | Filebeat |
| 统一展示 | Prometheus + Grafana |
示例(node_exporter):
yum install prometheus-node-exporter
systemctl start node_exporter
✅ Filebeat 可以:
❌ Filebeat 不适合:
如果你能具体说明:
我可以给你更精确的配置示例。