在CentOS系统中,Filebeat的日志轮转可以通过配置systemd服务来实现。以下是详细的步骤:
首先,找到并编辑Filebeat的systemd服务文件。通常位于 /etc/systemd/system/filebeat.service
。
sudo vi /etc/systemd/system/filebeat.service
在 [Service]
部分添加以下内容来配置日志轮转:
[Service]
...
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=filebeat
Restart=on-failure
User=filebeat
Group=filebeat
Environment="FILEBEAT_CONFIG=/etc/filebeat/filebeat.yml"
ExecStart=/usr/share/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
PrivateTmp=true
在 /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。保存并退出编辑器后,重新加载systemd配置并重启Filebeat服务以应用更改。
sudo systemctl daemon-reload
sudo systemctl restart filebeat
可以通过查看日志文件来验证日志轮转是否正常工作。
ls -l /var/log/filebeat/
你应该能看到按日期命名的日志文件,并且旧的日志文件已经被压缩。
可以使用 journalctl
命令来监控Filebeat的日志输出。
sudo journalctl -u filebeat -f
这样可以实时查看Filebeat的日志,并确认日志轮转是否按预期进行。
通过以上步骤,你可以在CentOS系统中成功配置Filebeat的日志轮转。