在CentOS上设置Filebeat的日志轮转,可以通过配置systemd的定时器和服务来实现。以下是详细的步骤:
首先,确保你已经安装了Filebeat。如果没有安装,可以使用以下命令进行安装:
sudo yum install filebeat
编辑Filebeat的配置文件 /etc/filebeat/filebeat.yml
,确保以下配置项存在并正确设置:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["localhost:9200"]
创建一个systemd服务单元文件来管理Filebeat的日志轮转。创建文件 /etc/systemd/system/filebeat-logrotate.service
:
[Unit]
Description=Log rotation for Filebeat
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/logrotate /etc/logrotate.d/filebeat
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
创建文件 /etc/logrotate.d/filebeat
来定义Filebeat日志的轮转规则:
/var/log/filebeat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root root
}
这个配置表示每天轮转一次日志,保留最近7天的日志,并且压缩旧日志。
运行以下命令重新加载systemd配置:
sudo systemctl daemon-reload
启动Filebeat服务并设置开机自启:
sudo systemctl start filebeat
sudo systemctl enable filebeat
启动并启用日志轮转服务:
sudo systemctl start filebeat-logrotate
sudo systemctl enable filebeat-logrotate
确保Filebeat和日志轮转服务都在运行:
sudo systemctl status filebeat
sudo systemctl status filebeat-logrotate
通过以上步骤,你就可以在CentOS上成功设置Filebeat的日志轮转。这样,Filebeat的日志将会按照配置的规则自动轮转和压缩。