zabbix3.0.4通過自定義shell指令碼新增對關鍵日誌檔案的監控
阿新 • • 發佈:2019-02-17
zabbix新增對自定義無規則日誌檔案的監控
專案背景及思路:
zabbix自帶有針對日誌檔案的監控,自帶的監控只能監控到指定檔案或者正則匹配的固定日誌檔案,但當需要監控的檔名沒有規律的時候自帶監控就不適用了
1.修改zabbix-agent客戶端配置:
a.visudo修改配置
新增zabbix使用者的sudo許可權
# 新增如下這行
zabbix ALL=(ALL) NOPASSWD: ALL
b.註釋掉如下這行
#Defaults requiretty
③修改客戶端配置
/etc/zabbix/zabbix_agentd.conf
UserParameter=esb_status,sudo /bin/bash /usr/local/zabbix-agent/scripts/esb_status.sh
2.在被監控的zabbix-agent端新增需要監控的指令碼
vim /usr/local/zabbix-agent/scripts/esb_status.sh
新增指令碼的執行許可權
chmod +x /usr/local/zabbix-agent/scripts/esb_status.sh
3.zabbix-server端的配置
①新增items
②新增graphs趨勢圖
專案背景及思路:
zabbix自帶有針對日誌檔案的監控,自帶的監控只能監控到指定檔案或者正則匹配的固定日誌檔案,但當需要監控的檔名沒有規律的時候自帶監控就不適用了
此次需要監控關鍵的esb企業匯流排系統日誌,當tail -f esb日誌出現大量failture的時候就是業務可能出現故障的時候,需要觸發警報
1.修改zabbix-agent客戶端配置:
a.visudo修改配置
新增zabbix使用者的sudo許可權
# 新增如下這行
zabbix ALL=(ALL) NOPASSWD: ALL
b.註釋掉如下這行
#Defaults requiretty
③修改客戶端配置
/etc/zabbix/zabbix_agentd.conf
UserParameter=esb_status,sudo /bin/bash /usr/local/zabbix-agent/scripts/esb_status.sh
2.在被監控的zabbix-agent端新增需要監控的指令碼
vim /usr/local/zabbix-agent/scripts/esb_status.sh
#!/bin/bash # 日誌檔案目錄 path=/home/yunva/log/esbE001 # 找到最新的日誌檔名 ls -t 按照時間排序,最新的在上面 esb_file=`ls -t "${path}" | head -1` fail_count=`tail -n 200 $path/${esb_file} |grep 'failure'|wc -l` echo $fail_count
新增指令碼的執行許可權
chmod +x /usr/local/zabbix-agent/scripts/esb_status.sh
3.zabbix-server端的配置
①新增items
②新增graphs趨勢圖
③新增觸發器,當失敗次數過半的時候觸發報警
Name :
esb failure gt 100
Expression:
{1.1.1.1:esb_status.last(0)}>100
報警