zabbix監控日誌
阿新 • • 發佈:2018-11-09
- zabbix是一個強大的監控服務,它能夠監控伺服器的各個方面,來實時監控並反映伺服器的健康狀況。前年演示過如何通過埠號來監控服務,這裡就來演示下通過指令碼來監控日誌檔案,可以自定義監控日子裡出現的關鍵字。
監控日誌檔案中遇到Error報錯
[[email protected] ~]# cat a.log
rizhi
qwertyusdfgh
asdfmzzxcvbn
qwe
dsfserwerwe
sdfsgrrwh
asfiuytrjhgfnbv
bvmnbvjhgfiuytre
hgfds
nbvcgftr
error //在模擬的日誌檔案中隨意加一些內容
#修改日誌檔案的屬主和屬組,並賦予指令碼執行許可權
[ [email protected] ~]# chown zabbix.zabbix /root/a.log
[[email protected] ~]# chmod +x log.py
[[email protected] ~]# chown -R zabbix.zabbix /tmp
[[email protected] ~]# chown zabbix.zabbix /root/ -R
[[email protected] ~]# chown zabbix.zabbix log.py
//測試下指令碼
[[email protected] ~]# python log.py a.log
0 //日誌中沒有Error
這時/tmp目錄下會生成一個logseek的檔案,這個是用來記錄指令碼檢查日誌的位置。
將這個檔案的屬主與屬組修改為zabbix的。
[ [email protected] ~]# chown -R zabbix.zabbix /tmp/logseek
模擬日誌中出現了定義的關鍵字Error,並用指令碼監測
[[email protected] ~]# echo 'Error' >>a.log
[[email protected] ~]# python log.py a.log
1 //檢測出是有關鍵字的
證明指令碼是沒有問題的
//修改客戶端配置檔案
[[email protected] ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=checklog,/usr/bin/python /root/log.py /root/a.log /tmp/seeklog Error //檔案末尾新增此行內容
#第一個引數為日誌檔名(必須有,相對路徑、絕對路徑均可)
#第二個引數為seek position檔案的路徑(可選項,若不設定則預設為/tmp/logseek檔案。相對路徑、絕對路徑均可)
#第三個引數為搜尋關鍵字,預設為 Error
//再次向日志文件中寫入Error,並重啟服務
[ [email protected] ~]# echo 'Error' >>a.log
[[email protected] ~]# pkill zabbix
[[email protected] ~]# zabbix_agentd
在服務端測試
[[email protected] ~]# zabbix_get -s 192.168.225.129 -k checklog
1
[[email protected] ~]# zabbix_get -s 192.168.225.129 -k checklog
0 //測試成功
web介面配置
新增監控項
新增觸發器
驗證
觸發警告
[[email protected] ~]# echo 'Error' >>a.log //客戶端
警告郵件
監控日誌指令碼點這裡自行下載