zabbix監控crond服務

zabbix對一個服務進行監控,例如crond,zabbix自己沒有此模板,須要手動書寫腳本
場景介紹:
192.168.10.10: zabbix server
192.168.10.11: zabbix client
2:腳本內容以下:
[root@zabbiclient1 scripts]# pwd
/etc/zabbix/scripts
[root@zabbiclient1 scripts]# cat check_process_running 
#!/bin/sh
###################################################
#
#  check  process runing status
#
###################################################
procjetName="${1:-NULL}"
LOCK_PATH="/var/lock/subsys"
RUN_PATH="/var/run"
ret_ok=1
ret_warn=2
ret_critical=3
ret_unknown=4


if  [[ ${procjetName} == "NULL" ]] ; then
        echo ${ret_unknown}
fi


if [ -f "${LOCK_PATH}/${procjetName}" ] || [ -f "${RUN_PATH}/${procjetName}.pid" ] ; then
        echo ${ret_ok}
else
        echo ${ret_critical}
fi


[root@zabbiclient1 zabbix_agentd.conf.d]# pwd
/etc/zabbix/zabbix_agentd.d
[root@zabbiclient1 zabbix_agentd.conf.d]# ll check_process.conf 
-rw-r--r-- 1 root root 533 Dec 26  2013 check_process.conf
[root@zabbiclient1 zabbix_agentd.d]# cat check_process.conf 
UserParameter=check.crontab,/etc/zabbix/scripts/check_process_running crond    ##注意check.crontab必須和下面建立item時的key相對應
在zabbix client機器上include 相關文件,
[root@zabbiclient1 etc]# ls
zabbix_agent.conf  zabbix_agent.conf.d  zabbix_agentd.conf  zabbix_agentd.conf.d
[root@zabbiclient1 etc]# cat zabbix_agentd.conf | grep -v "#" | grep -v "^$"
php

PidFile=/var/run/zabbix/zabbix_agentd.pidapp

LogFile=/var/log/zabbix/zabbix_agentd.logide

LogFileSize=0spa

Server=10.15.0.8orm

ServerActive=127.0.0.1server

Hostname=prod-public-ecs-aliyuncrontab

Include=/etc/zabbix/zabbix_agentd.d/   ###Include該文件!ip

3: 下面關鍵的重點是經過zabbix_get 獲取check.crontab key的值,這個值在建立trigger時時須要,不然
trigger表達式填寫不正確,就沒法觸發trigger

下面就建立一個模板,我建立的模板名爲apptemplate,在模板裏面建立一個item,crond is running,update interval 我設置爲5s,見附件


而後建立一個trigger,trigger名爲:crond does not work, 表達式值爲{apptemplate:check.crontab.last(0)}=3
Severity 選擇disaster,點save按鈕便可建立。見附件

4:而後就能夠在134機器上手動執行service crond stop,看看是否觸發trigger

get

相關文章
相關標籤/搜索