InfluxData|How to enable Influxdb v2 log to file
InfluxDB 安裝後原本有 /var/log/influxdb/ 路徑資料夾,但是預設情況下並沒有存放 log 在裡面,原因是在2.x版之後,默認情況下InfluxDB 將所有日誌輸出到 stdout,
若要查看 InfluxDB 當下運行紀錄,需要手動執行 influxd 或是 journalctl 指令,要看之前的則需要到 syslog 查看非常繁雜不便,
因此如果想要完整監控 InfluxDB 運行效能,建議將 InfluxDB 日誌獨立分開存放,之後進一步做日誌分析會更方便
第一步:建立 influxdb 擁有寫入權限的 log 檔案
root@inluxdb-uat:~# touch /var/log/influxdb/influxd.log
root@inluxdb-uat:~# chown -R influxdb:influxdb /var/log/influxdb/influxd.log
確認檔案擁有者為 influxdb
root@inluxdb-uat:~# ls -l /var/log/influxdb/influxd.log
-rw-r--r-- 1 influxdb influxdb 0 May 23 22:20 /var/log/influxdb/influxd.log
第二步:修改 influxdb 啟動的腳本內容
root@inluxdb-uat:~# vim /usr/lib/influxdb/scripts/influxd-systemd-start.sh
將原本第一行的 /usr/bin/influxd & ,修改重新定向為指定的目錄檔案
root@inluxdb-uat:~# /usr/bin/influxd 1> /var/log/influxdb/influxd.log &
重新啟動服務
root@inluxdb-uat:~# systemctl restart influxdb.service
查看log檔案已經將日誌內容寫入
root@inluxdb-uat:~# cat /var/log/influxdb/influxd.log
第三步:查看 influxdb 的 logrotate 設定
InfluxDB 本身不會定期清理日誌,使用logrotate來管理日誌,日誌按天輪換,保留期為 7 天,如果指定的路徑跟名稱不一樣則需修改。
root@inluxdb-uat:~# vim /etc/logrotate.d/influxdb