Filebeat 在 CentOS 上實現日志輪轉,可以通過配置 Filebeat 的 filebeat.inputs
部分以及設置系統的日志輪轉策略來完成。以下是具體的步驟:
filebeat.inputs
部分首先,確保你的 Filebeat 配置文件(通常是 /etc/filebeat/filebeat.yml
)中的 filebeat.inputs
部分正確配置了要監控的日志文件路徑。例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/myapp/*.log
CentOS 使用 logrotate
工具來管理日志文件的輪轉。你需要確保 logrotate
配置文件正確設置了日志文件的輪轉策略。
logrotate
配置文件你可以創建一個新的 logrotate
配置文件或編輯現有的配置文件。通常,這些文件位于 /etc/logrotate.d/
目錄下。
例如,創建一個新的 logrotate
配置文件 /etc/logrotate.d/myapp
:
sudo nano /etc/logrotate.d/myapp
logrotate
配置文件/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root adm
postrotate
# 通知 Filebeat 重新加載配置
/usr/share/filebeat/bin/filebeat -e -c /etc/filebeat/filebeat.yml -d "*"
endscript
}
解釋:
daily
: 每天輪轉一次日志文件。rotate 7
: 保留最近 7 天的日志文件。compress
: 壓縮舊的日志文件。missingok
: 如果日志文件不存在,不會報錯。notifempty
: 如果日志文件為空,不進行輪轉。create 640 root adm
: 創建新的日志文件時設置權限和所有者。postrotate
腳本: 在日志輪轉后通知 Filebeat 重新加載配置文件。logrotate
配置你可以手動測試 logrotate
配置是否正確:
sudo logrotate -f /etc/logrotate.d/myapp
確保 Filebeat 服務正在運行:
sudo systemctl status filebeat
如果 Filebeat 沒有運行,啟動它:
sudo systemctl start filebeat
你可以查看 Filebeat 的日志文件(通常是 /var/log/filebeat/filebeat
)來監控日志輪轉是否正常工作。
通過以上步驟,你應該能夠在 CentOS 上成功配置 Filebeat 實現日志輪轉。