Filebeat 在 CentOS 上实现日志轮转,可以通过配置 Filebeat 的 filebeat.inputs
部分以及设置系统的日志轮转策略来完成。以下是具体的步骤:
filebeat.inputs
部分首先,确保你的 Filebeat 配置文件(通常是 /etc/filebeat/filebeat.yml
)中的 filebeat.inputs
部分正确配置了要监控的日志文件路径。例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/myapp/*.log
CentOS 使用 logrotate
工具来管理日志文件的轮转。你需要确保 logrotate
配置文件正确设置了日志文件的轮转策略。
logrotate
配置文件你可以创建一个新的 logrotate
配置文件或编辑现有的配置文件。通常,这些文件位于 /etc/logrotate.d/
目录下。
例如,创建一个新的 logrotate
配置文件 /etc/logrotate.d/myapp
:
sudo nano /etc/logrotate.d/myapp
logrotate
配置文件/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root adm
postrotate
# 通知 Filebeat 重新加载配置
/usr/share/filebeat/bin/filebeat -e -c /etc/filebeat/filebeat.yml -d "*"
endscript
}
解释:
daily
: 每天轮转一次日志文件。rotate 7
: 保留最近 7 天的日志文件。compress
: 压缩旧的日志文件。missingok
: 如果日志文件不存在,不会报错。notifempty
: 如果日志文件为空,不进行轮转。create 640 root adm
: 创建新的日志文件时设置权限和所有者。postrotate
脚本: 在日志轮转后通知 Filebeat 重新加载配置文件。logrotate
配置你可以手动测试 logrotate
配置是否正确:
sudo logrotate -f /etc/logrotate.d/myapp
确保 Filebeat 服务正在运行:
sudo systemctl status filebeat
如果 Filebeat 没有运行,启动它:
sudo systemctl start filebeat
你可以查看 Filebeat 的日志文件(通常是 /var/log/filebeat/filebeat
)来监控日志轮转是否正常工作。
通过以上步骤,你应该能够在 CentOS 上成功配置 Filebeat 实现日志轮转。