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 实现日志轮转。