可以的。CentOS 上的 Filebeat 完全支持监控目录(目录级别的日志采集),这是它最常见的用法之一。
下面给你一个清晰、可操作的说明。
Filebeat 通过 inputs 配置来指定要监控的文件或目录。
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/myapp/*.log
含义:
/var/log/myapp/ 目录下 所有 .log 文件*paths:
- /data/logs/*.log
paths:
- /data/logs/**/*.log
**表示递归匹配子目录
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.log
- /var/log/app/*.log
✅ 自动发现新文件
✅ 自动从断点继续读取(registry)
✅ 支持文件轮转(log rotate)
✅ 支持多行日志(如 Java 异常)
✅ 支持按时间、大小切割的日志
# 导入 GPG Key
sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
# 添加 yum 源
sudo cat > /etc/yum.repos.d/filebeat.repo <<EOF
[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
# 安装
sudo yum install filebeat -y
# 启动
systemctl enable filebeat
systemctl start filebeat
Filebeat 需要 读取日志文件的权限,否则监控不到。
# 查看 filebeat 运行用户
ps -ef | grep filebeat
常见解决方式:
Filebeat 对 软链接目录 支持有限,建议直接监控真实路径。
如果日志目录名包含 时间戳或随机字符串,可能导致重复采集。
❌ 不支持
Filebeat 不会自动创建目录,但:
✅ CentOS 上的 Filebeat 完全可以监控目录
✅ 通过 paths 配置
✅ 支持通配符、递归、多目录
✅ 非常适合日志采集场景
如果你愿意,可以把你的 日志目录结构 或 Filebeat 版本 发给我,我可以帮你写一份完全贴合你环境的配置。