在Ubuntu系統中,Filebeat的日志輪轉可以通過配置logrotate工具來實現。以下是具體的步驟:
如果你的系統還沒有安裝logrotate,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install logrotate
Filebeat的日志文件通常位于/var/log/filebeat/filebeat
。你需要編輯或創建一個logrotate配置文件來指定如何輪轉這些日志。
你可以創建一個新的配置文件或者編輯現有的配置文件。通常,這個文件會放在/etc/logrotate.d/
目錄下。例如,你可以創建一個名為filebeat
的文件:
sudo nano /etc/logrotate.d/filebeat
/var/log/filebeat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
解釋一下這些選項:
daily
: 每天輪轉一次日志。missingok
: 如果日志文件丟失,不會報錯。rotate 7
: 保留7天的日志文件。compress
: 壓縮舊的日志文件。notifempty
: 如果日志文件為空,則不輪轉。create 0640 root adm
: 輪轉后創建新的日志文件,權限為0640,屬主為root,屬組為adm。你可以使用以下命令來測試logrotate配置是否正確:
sudo logrotate -f /etc/logrotate.d/filebeat
-f
選項表示強制輪轉日志,即使日志文件沒有達到輪轉條件也會進行輪轉。
Filebeat在啟動時會讀取日志文件的inode信息來判斷是否需要重新打開日志文件。為了確保Filebeat能夠檢測到日志文件的輪轉并重新打開它們,你可以在Filebeat的配置文件中添加以下設置:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/filebeat/*.log
# 添加以下行以確保Filebeat重新加載日志
reload.enabled: true
最后,重啟Filebeat服務以應用所有更改:
sudo systemctl restart filebeat
通過以上步驟,你應該能夠在Ubuntu系統上成功配置Filebeat的日志輪轉。