使用nagios监控某进程的运行状态-创新互联

使用nagios监控被监控服务器上的某一程序,脚本通过查看进程状态返回状态值,并传送给nagios,来达到监控目的。nagios每个插件监控会返回以下状态值,我只用到了 0 、1、 2

东乃网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

使用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)即可开始监控服务了。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:使用nagios监控某进程的运行状态-创新互联
路径分享:http://scyanting.com/article/dedpho.html