在CentOS上配置Filebeat的日志轮转,可以通过修改Filebeat的配置文件和系统的日志轮转配置来实现。以下是具体步骤:
首先,找到并编辑Filebeat的配置文件。通常情况下,该文件位于 /etc/filebeat/filebeat.yml。
sudo vi /etc/filebeat/filebeat.yml
在配置文件中,确保有以下配置项来指定日志文件的路径和轮转策略:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
fields:
log_type: "system"
# 日志轮转配置
logging.level: info
logging.to_files: true
logging.files:
path: /var/log/filebeat/filebeat.log
name: filebeat
keepfiles: 7
permissions: 0640
CentOS使用 logrotate 工具来管理日志文件的轮转。你需要编辑 logrotate 的配置文件来确保Filebeat的日志文件也能被正确轮转。
创建一个新的 logrotate 配置文件,或者编辑现有的配置文件 /etc/logrotate.d/filebeat。
sudo vi /etc/logrotate.d/filebeat
在配置文件中添加以下内容:
/var/log/filebeat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root root
}
解释:
daily: 每天轮转一次日志文件。missingok: 如果日志文件不存在,不会报错。rotate 7: 保留7个轮转后的日志文件。compress: 压缩轮转后的日志文件。notifempty: 如果日志文件为空,则不进行轮转。create 0640 root root: 创建新的日志文件,权限为0640,属主和属组为root。保存并退出编辑器后,你可以手动测试 logrotate 配置是否正确:
sudo logrotate -f /etc/logrotate.d/filebeat
如果一切正常,你应该会看到类似以下的输出:
reading config file /etc/logrotate.d/filebeat
...
rotating pattern: /var/log/filebeat/*.log daily (7 rotations)
empty log files are not rotated, old versions are removed
considering log /var/log/filebeat/filebeat.log
log does not exist -- skipping
最后,重启Filebeat服务以应用新的配置:
sudo systemctl restart filebeat
通过以上步骤,你就可以在CentOS上成功配置Filebeat的日志轮转了。