在CentOS上設置Filebeat的日志輪轉,可以通過配置systemd的定時器和服務來實現。以下是詳細的步驟:
首先,確保你已經安裝了Filebeat。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install filebeat
編輯Filebeat的配置文件 /etc/filebeat/filebeat.yml
,確保以下配置項存在并正確設置:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["localhost:9200"]
創建一個systemd服務單元文件來管理Filebeat的日志輪轉。創建文件 /etc/systemd/system/filebeat-logrotate.service
:
[Unit]
Description=Log rotation for Filebeat
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/logrotate /etc/logrotate.d/filebeat
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
創建文件 /etc/logrotate.d/filebeat
來定義Filebeat日志的輪轉規則:
/var/log/filebeat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root root
}
這個配置表示每天輪轉一次日志,保留最近7天的日志,并且壓縮舊日志。
運行以下命令重新加載systemd配置:
sudo systemctl daemon-reload
啟動Filebeat服務并設置開機自啟:
sudo systemctl start filebeat
sudo systemctl enable filebeat
啟動并啟用日志輪轉服務:
sudo systemctl start filebeat-logrotate
sudo systemctl enable filebeat-logrotate
確保Filebeat和日志輪轉服務都在運行:
sudo systemctl status filebeat
sudo systemctl status filebeat-logrotate
通過以上步驟,你就可以在CentOS上成功設置Filebeat的日志輪轉。這樣,Filebeat的日志將會按照配置的規則自動輪轉和壓縮。