温馨提示×

CentOS系统Filebeat日志轮转设置

小樊
53
2025-09-15 19:48:00
栏目: 智能运维

在CentOS系统中,Filebeat的日志轮转可以通过配置logrotate工具来实现。以下是详细的步骤和说明:

1. 安装logrotate

如果你的CentOS系统还没有安装logrotate,可以使用以下命令进行安装:

sudo yum install logrotate -y

2. 配置logrotate

logrotate的配置文件通常位于/etc/logrotate.d/目录下。你可以创建一个新的配置文件来专门管理Filebeat的日志轮转。

创建Filebeat日志轮转配置文件

sudo vi /etc/logrotate.d/filebeat

配置文件内容

以下是一个示例配置文件的内容:

/var/log/filebeat/filebeat.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 0640 root root
    sharedscripts
    postrotate
        if [ -f /var/run/filebeat/filebeat.pid ]; then
            /usr/share/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml -d "*"
        fi
    endscript
}

配置项解释

  • daily: 每天轮转一次日志。
  • missingok: 如果日志文件丢失,不会报错。
  • rotate 7: 保留7个轮转后的日志文件。
  • compress: 压缩轮转后的日志文件。
  • notifempty: 如果日志文件为空,则不轮转。
  • create 0640 root root: 创建新的日志文件,权限为0640,属主为root,属组为root。
  • sharedscripts: 如果有多个日志文件匹配,只执行一次postrotate脚本。
  • postrotate: 轮转后执行的脚本。
    • 检查Filebeat进程是否在运行,如果在运行,则重新加载配置。

3. 测试logrotate配置

你可以手动测试logrotate配置是否正确:

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

4. 确保Filebeat服务重启

为了确保Filebeat在日志轮转后能够重新加载配置,可以在postrotate脚本中添加重启Filebeat服务的命令:

postrotate
    if [ -f /var/run/filebeat/filebeat.pid ]; then
        systemctl restart filebeat
    fi
endscript

5. 验证配置

确保Filebeat服务正常运行,并且日志文件按照预期进行轮转:

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

通过以上步骤,你应该能够在CentOS系统中成功配置Filebeat的日志轮转。如果有任何问题,请检查配置文件和日志文件以获取更多信息。

0