溫馨提示×

Filebeat在CentOS中的日志輪轉策略

小樊
37
2025-05-23 01:37:32
欄目: 智能運維

在CentOS系統中,Filebeat的日志輪轉策略可以通過兩種主要方式實現:使用系統級的 logrotate 工具,或者通過Filebeat自身的配置。以下是詳細的設置步驟:

使用 logrotate 工具進行日志輪轉

  1. 安裝 logrotate(如果尚未安裝):

    sudo yum install logrotate
    
  2. 創建或編輯 logrotate 配置文件: 在 /etc/logrotate.d/ 目錄下創建或編輯Filebeat的配置文件,例如 filebeat。

    sudo vi /etc/logrotate.d/filebeat
    
  3. 添加以下內容到配置文件

    /var/log/filebeat/*.log {
        daily
        rotate 7
        compress
        delaycompress
        missingok
        notifempty
        create 640 root adm
        postrotate
            if [ -f /var/run/filebeat/filebeat.pid ]; then
                kill -USR1 $(cat /var/run/filebeat/filebeat.pid)
            fi
        endscript
    }
    

    解釋:

    • daily: 每天輪轉一次日志。
    • rotate 7: 保留最近7個日志文件。
    • compress: 壓縮舊的日志文件。
    • delaycompress: 延遲壓縮,直到下一次輪轉。
    • missingok: 如果日志文件丟失,不會報錯。
    • notifempty: 如果日志文件為空,不進行輪轉。
    • create 640 root adm: 創建新的日志文件時設置權限和所有者。
    • postrotateendscript: 在輪轉日志后執行的腳本,這里發送USR1信號給Filebeat進程,通知它重新打開日志文件。
  4. 測試 logrotate 配置: 可以手動測試 logrotate 配置是否正確:

    sudo logrotate -f /etc/logrotate.d/filebeat
    
  5. 設置 logrotate 定時任務logrotate 通常會在系統的cron定時任務中自動執行??梢詸z查 /etc/cron.daily/logrotate 文件,確保它存在并且沒有被禁用。

通過Filebeat自身配置實現日志輪轉

  1. 編輯Filebeat配置文件: 打開Filebeat的配置文件 /etc/filebeat/filebeat.yml。

    sudo vi /etc/filebeat/filebeat.yml
    
  2. 添加日志輪轉配置: 在 filebeat.inputs 部分添加以下內容:

    filebeat.inputs:
    - type: log
      enabled: true
      paths:
      - /var/log/filebeat/*.log
      fields:
        log_type: filebeat
      json.keys_under_root: true
      json.add_error_key: true
      ignore_older: 7d
    
  3. 重啟Filebeat服務: 要使配置生效,需要重啟Filebeat服務:

    sudo systemctl restart filebeat
    

通過以上步驟,你可以在CentOS系統中成功配置Filebeat的日志輪轉。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女