1. 程式人生 > >zabbix3.0.4通過自定義shell指令碼新增對關鍵日誌檔案的監控

zabbix3.0.4通過自定義shell指令碼新增對關鍵日誌檔案的監控

zabbix新增對自定義無規則日誌檔案的監控


專案背景及思路:
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


報警