在 CentOS 上,Filebeat 通常用来“收集日志文件”,然后把日志发送给 Elasticsearch / Logstash / Kafka 等。
下面按常见场景给你说明 Filebeat 在 CentOS 上一般收集什么:
CentOS 默认日志位置(rsyslog / journald 落盘):
/var/log/messages # 系统通用日志
/var/log/secure # 安全、SSH 登录、sudo
/var/log/cron # 定时任务
/var/log/maillog # 邮件
/var/log/dmesg # 内核启动信息
示例配置:
filebeat.inputs:
- type: log
paths:
- /var/log/messages
- /var/log/secure
只要应用把日志写到文件,Filebeat 都能收:
/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/httpd/access_log
/var/log/httpd/error_log
/opt/tomcat/logs/catalina.out
/app/logs/*.log
/var/log/mysqld.log
/var/log/redis/redis.log
/var/lib/docker/containers/*/*.log
/var/log/pods/*
/var/log/containers/*
比如:
/data/logs/order/*.log
/home/app/logs/*.log
配置示例:
filebeat.inputs:
- type: log
paths:
- /data/logs/*/*.log
fields:
app: order-service
Filebeat 做的事情:
✅ 读取文件
✅ 跟踪文件位置(registry)
✅ 加字段(host、tags)
✅ 发送到后端
❌ 不负责复杂解析(那是 Logstash / ES Ingest 的事)
Filebeat → Logstash → Elasticsearch → Kibana
Filebeat → Elasticsearch(直接)
Filebeat → Kafka → 消费端
如果你愿意,可以告诉我:
我可以直接帮你写 filebeat.yml 示例配置。