Monitoring plugin:

[root@RHEL5 ~]# cd /usr/local/nagios/
[root@RHEL5 nagios]# mkdir customexec
[root@RHEL5 nagios]# vi customexec/check_procs.sh

#!/bin/sh#Author:zhai_kang,20131024COUNT=`ps -ef | grep -v grep | grep $2 | wc -l`PROC=`expr $COUNT - 2`if [[ $PROC -ge $6 ]]then line=`echo "Critical - PROC=$PROC"` RC=2elif [[ $PROC -ge $4 ]]then line=`echo "Warning - PROC=$PROC"` RC=1elif [[ $PROC -ge 1 ]]then line=`echo "OK - PROC=$PROC"` RC=0else line=`echo "Unknown - PROC=null"` RC=3fiecho $line \| proc=$PROCexit $RC


[root@RHEL5 nagios]# chown -R nagios:nagios customexec/
[root@RHEL5 nagios]# chmod +x customexec/check_procs.sh


Set the path to the plugins:
[root@RHEL5 nagios]# vi /etc/nagios/resource.cfg

#Add by Kingcraft$USER5$=/usr/local/nagios/customexec



Integration of the PNP4Nagios and Nagios:
[root@RHEL5 nagios]# vi /etc/nagios/nagios.cfg

process_performance_data=1host_perfdata_command=process-host-perfdataservice_perfdata_command=process-service-perfdata


[root@RHEL5 nagios]# vi /etc/nagios/objects/templates.cfg

#Add by Kingcraftdefine host{ name host-pnp register 0 action_url /pnp4nagios/graph?host=$HOSTNAME$ }define service{ name srv-pnp register 0 action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ }


Define the monitoring command:
[root@RHEL5 nagios]# vi /etc/nagios/objects/commands.cfg

define command{    command_name   process-host-perfdata    command_line   /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA}define command{    command_name   process-service-perfdata    command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl}define command{ command_name check_procs command_line $USER5$/check_procs.sh -a $ARG1$ -w $ARG2$ -c $ARG3$ }


Definition monitor file:
[root@RHEL5 nagios]# vi /etc/nagios/Linuxhosts/localhost.cfg

# Define a host for the local machinedefine host{ use linux-server,host-pnp host_name Monitor alias Monitor address 172.17.10.4 }define service{ use local-service,srv-pnp host_name Monitor service_description check_procs check_command check_procs!ndo2db!4!6 }


Syntax checking && restart nagios:
[root@RHEL5 nagios]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
[root@RHEL5 nagios]# service nagios restart


Verification: