nagios監控某進程

安裝完nagios後準備監控被監控服務器上的某一程序,腳本通過查看進程狀態返回狀態值,並傳送給nagios,來達到監控目的。

nagios每個插件監控會返回以下狀態值,我只用到了 0 、1、 2

#!/bin/bash -x

# Exit values:
# ------------
#    0  OK
#    1  Warning
#    2  Cirital
#    3  Unknown
#    Others Unknown

##############################################

dfs_process=`ps -ef | grep './dfs client' | grep -v grep`
if [ -z "$dfs_process" ];then
        echo "Critical the program of gather is down !!!"
        exit 2
fi

process_ppid=`echo $dfs_process|awk '{print $3}'`
process_pid=`echo $dfs_process|awk '{print $2}'`

if [ $process_ppid = 1 ];then
        echo 'The process of dfs put back'
        exit 1
else
        while [ $process_ppid != 1 ]
                do
                old_process_ppid=$process_ppid
                process_ppid=`ps -ef | grep $process_ppid | grep -v $process_pid | grep -v grep | awk '{print $3}'`
                process_pid=`ps -ef | grep $old_process_ppid| grep -v $process_pid | grep -v grep|awk '{print $2}'`
                done
        dfs_pprocess=`ps -ef | grep "$process_pid     1" | grep -v grep`
        echo "process of './dfs client' OK ! - Parent process is `echo $dfs_pprocess | awk '{print $8,$9,$10}'`"
        exit 0

fi

 

然後打開被監控端nrpe的配置文件

# vi /usr/local/nagios/etc/nrpe.cfg

添加:

command[check_dfs]=/usr/local/nagios/libexec/check_dfs.sh

 

就可以在監控端定製監控服務(service.cfg)了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章