在CentOS系統中,Filebeat的日志輪轉可以通過配置systemd服務來實現。以下是詳細的步驟:
首先,找到并編輯Filebeat的systemd服務文件。通常位于 /etc/systemd/system/filebeat.service
。
sudo vi /etc/systemd/system/filebeat.service
在 [Service]
部分添加以下內容來配置日志輪轉:
[Service]
...
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=filebeat
Restart=on-failure
User=filebeat
Group=filebeat
Environment="FILEBEAT_CONFIG=/etc/filebeat/filebeat.yml"
ExecStart=/usr/share/filebeat/filebeat -e -c /etc/filebeat/filebeat.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
PrivateTmp=true
在 /etc/logrotate.d/
目錄下創建一個新的日志輪轉配置文件,例如 filebeat
。
sudo vi /etc/logrotate.d/filebeat
添加以下內容:
/var/log/filebeat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root root
}
解釋:
daily
: 每天輪轉一次日志。missingok
: 如果日志文件丟失,不會報錯。rotate 7
: 保留7天的日志文件。compress
: 壓縮舊的日志文件。notifempty
: 如果日志文件為空,則不輪轉。create 0640 root root
: 創建新的日志文件,權限為0640,屬主和屬組為root。保存并退出編輯器后,重新加載systemd配置并重啟Filebeat服務以應用更改。
sudo systemctl daemon-reload
sudo systemctl restart filebeat
可以通過查看日志文件來驗證日志輪轉是否正常工作。
ls -l /var/log/filebeat/
你應該能看到按日期命名的日志文件,并且舊的日志文件已經被壓縮。
可以使用 journalctl
命令來監控Filebeat的日志輸出。
sudo journalctl -u filebeat -f
這樣可以實時查看Filebeat的日志,并確認日志輪轉是否按預期進行。
通過以上步驟,你可以在CentOS系統中成功配置Filebeat的日志輪轉。