在Ubuntu系统中,Filebeat的日志轮转可以通过配置logrotate工具来实现。以下是具体的步骤:
如果你的系统还没有安装logrotate,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install logrotate
Filebeat的日志文件通常位于/var/log/filebeat/filebeat
。你需要编辑或创建一个logrotate配置文件来指定如何轮转这些日志。
你可以创建一个新的配置文件或者编辑现有的配置文件。通常,这个文件会放在/etc/logrotate.d/
目录下。例如,你可以创建一个名为filebeat
的文件:
sudo nano /etc/logrotate.d/filebeat
/var/log/filebeat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
解释一下这些选项:
daily
: 每天轮转一次日志。missingok
: 如果日志文件丢失,不会报错。rotate 7
: 保留7天的日志文件。compress
: 压缩旧的日志文件。notifempty
: 如果日志文件为空,则不轮转。create 0640 root adm
: 轮转后创建新的日志文件,权限为0640,属主为root,属组为adm。你可以使用以下命令来测试logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.d/filebeat
-f
选项表示强制轮转日志,即使日志文件没有达到轮转条件也会进行轮转。
Filebeat在启动时会读取日志文件的inode信息来判断是否需要重新打开日志文件。为了确保Filebeat能够检测到日志文件的轮转并重新打开它们,你可以在Filebeat的配置文件中添加以下设置:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/filebeat/*.log
# 添加以下行以确保Filebeat重新加载日志
reload.enabled: true
最后,重启Filebeat服务以应用所有更改:
sudo systemctl restart filebeat
通过以上步骤,你应该能够在Ubuntu系统上成功配置Filebeat的日志轮转。