linux

如何配置Filebeat日志轮转

小樊
33
2025-08-15 22:35:18
栏目: 编程语言

Filebeat日志轮转可通过logrotate工具Filebeat自身配置实现,以下是具体方法:

方法一:使用logrotate工具(推荐)

  1. 安装logrotate(若未安装):
    sudo yum install logrotate -y  # CentOS
    
  2. 创建配置文件
    /etc/logrotate.d/下新建filebeat文件,添加以下内容:
    /var/log/filebeat/*.log {
        daily       # 每天轮转
        rotate 7    # 保留7天日志
        compress    # 压缩旧日志
        missingok   # 忽略丢失文件
        notifempty  # 空文件不轮转
        create 0640 root root  # 新日志权限及属主
        postrotate
            if [ -f /var/run/filebeat/filebeat.pid ]; then
                kill -USR1 $(cat /var/run/filebeat/filebeat.pid)  # 通知Filebeat重新打开日志
            fi
        endscript
    }
    
  3. 测试并启用
    • 手动测试:sudo logrotate -f /etc/logrotate.d/filebeat
    • 确保/etc/cron.daily/logrotate存在,logrotate会自动每日运行。

方法二:通过Filebeat自身配置

  1. 编辑配置文件
    修改/etc/filebeat/filebeat.yml,在filebeat.inputs中添加:
    filebeat.inputs:
    - type: log
      enabled: true
      paths: ["/var/log/filebeat/*.log"]
      logging.file:
        name: /var/log/filebeat/filebeat.log
        keepfiles: 7  # 保留7个日志文件
        permissions: "0640"
        rotation.period: 24h  # 每天轮转
    
  2. 重启服务
    sudo systemctl restart filebeat
    
    注:此方式灵活性较低,推荐优先使用logrotate。

注意事项

0
看了该问题的人还看了