温馨提示×

如何在CentOS上配置Filebeat的日志轮转

小樊
74
2025-03-25 16:36:25
栏目: 智能运维

在CentOS上配置Filebeat的日志轮转,可以通过以下步骤实现:

方法一:使用systemd服务文件配置

  1. 创建或编辑Filebeat的systemd服务文件: 打开或创建/etc/systemd/system/filebeat.service文件,并确保包含以下内容:

    [Unit] Description=Filebeat After=syslog.target network.target [Service] Type=simple ExecStart=/usr/share/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml Restart=on-failure [Install] WantedBy=multi-user.target 
  2. 创建日志轮转配置文件: 在/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: 创建新的日志文件时设置权限和所有者。
  3. 重新加载systemd配置并重启Filebeat服务

    sudo systemctl daemon-reload sudo systemctl restart filebeat 

方法二:使用logrotate命令手动配置

  1. 创建日志轮转配置文件: 在/etc/logrotate.d/目录下创建一个新的文件,例如filebeat

    sudo vi /etc/logrotate.d/filebeat 

    添加以下内容:

    /var/log/filebeat/*.log { daily missingok rotate 7 compress notifempty create 0640 root root } 
  2. 手动触发日志轮转

    sudo logrotate -f /etc/logrotate.d/filebeat 

验证配置

确保Filebeat正在运行并且日志文件正在被正确轮转:

sudo systemctl status filebeat ls -l /var/log/filebeat/ 

你应该能看到按日期命名的日志文件,并且旧的日志文件已经被压缩。

通过以上步骤,你可以在CentOS上成功配置Filebeat的日志轮转。

0