在CentOS系統中,Filebeat本身不負責日志輪轉。日志輪轉通常由logrotate工具來處理。但是,你可以配置Filebeat將日志發送到logrotate管理的日志文件中。以下是如何設置Filebeat和logrotate的步驟:
安裝Filebeat: 如果你還沒有安裝Filebeat,請使用以下命令安裝:
sudo yum install filebeat
配置Filebeat:
編輯Filebeat配置文件/etc/filebeat/filebeat.yml
,確保它指向你想要監控的日志文件。例如,如果你想要監控Apache的訪問日志,你可以這樣設置:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/httpd/access_log
安裝和配置logrotate:
logrotate通常已經預裝在大多數Linux發行版中。你可以通過檢查/etc/logrotate.d/
目錄來確認它是否已經安裝。
創建logrotate配置文件:
如果你需要為Filebeat監控的日志創建一個特定的logrotate配置,你可以在/etc/logrotate.d/
目錄下創建一個新的配置文件。例如,創建一個名為filebeat
的文件:
sudo vi /etc/logrotate.d/filebeat
在這個文件中,添加以下內容:
/var/log/httpd/access_log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
postrotate
if [ -f /var/run/filebeat/filebeat.pid ]; then
/usr/share/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml -d "*"
fi
endscript
}
這個配置將會每天輪轉日志文件,保留最近7天的日志,并對舊日志進行壓縮。postrotate
腳本會在日志輪轉后重啟Filebeat服務,以確保它開始讀取新的日志文件。
測試logrotate配置: 你可以使用以下命令來測試logrotate配置是否正確:
sudo logrotate -f /etc/logrotate.d/filebeat
這個命令會強制執行logrotate配置,并且你應該能看到Filebeat重新啟動的日志輸出。
確保logrotate定時任務運行:
logrotate通常通過cron的daily定時任務來自動運行。你可以檢查/etc/cron.daily/logrotate
文件來確認這一點。
通過以上步驟,你可以確保Filebeat監控的日志文件得到適當的輪轉和管理。記得定期檢查Filebeat和logrotate的配置,以確保它們符合你的需求。