Custom plug(二)

-------------------------------Monitoring Client-------------------------------


Add username for nagios system:

[root@FTP backup]# useradd -s /sbin/nologin nagios


Install the necessary plug-ins:

[root@FTP backup]# tar -xzf nagios-plugins-1.4.16.tar.gz

[root@FTP backup]# cd nagios-plugins-1.4.16

[root@FTP nagios-plugins-1.4.16]# ./configure --sysconfdir=/etc/nagios \

> --with-nagios-user=nagios \

> --with-nagios-group=nagios \

> --prefix=/usr/local/nagios


[root@FTP nagios-plugins-1.4.16]# make

[root@FTP nagios-plugins-1.4.16]# make install



Install the NRPE plugin:

[root@FTP backup]# tar -xzf nrpe-2.12.tar.gz

[root@FTP backup]# cd nrpe-2.12

[root@FTP nrpe-2.12]# ./configure --sysconfdir=/etc/nrpe \

> --with-nrpe-user=nagios \

> --with-nrpe-group=nagios \

> --with-nagios-user=nagios \

> --with-nagios-group=nagios \

> --enable-command-args \

> --enable-ssl


[root@FTP nrpe-2.12]# make all

[root@FTP nrpe-2.12]# make install

[root@FTP nrpe-2.12]# make install-daemon-config



Configure the service port number file:

[root@FTP nrpe-2.12]# vi /etc/services

#Add by Kingcraft
nrpe            5666/tcp                        # NRPE



Configuring the NRPE configuration file:

[root@FTP nrpe-2.12]# vi /etc/nrpe/nrpe.cfg

#Add by Kingcraft
server_address=172.17.3.98
allowed_hosts=172.17.3.4
command[check_procs]=/usr/local/nagios/customexec/check_procs.sh -a python -w 3 -c 6


Monitoring plugin:

[root@FTP nrpe-2.12]# mkdir /usr/local/nagios/customexec

[root@FTP nrpe-2.12]# vi /usr/local/nagios/customexec/check_procs.sh

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


[root@FTP nrpe-2.12]# chown -R nagios:nagios /usr/local/nagios/customexec/

[root@FTP nrpe-2.12]# chmod +x /usr/local/nagios/customexec/*



Start the nrpe service:

[root@FTP nrpe-2.12]# /usr/local/nagios/bin/nrpe -c /etc/nrpe/nrpe.cfg -d





-------------------------------Monitoring Server-------------------------------


Install the NRPE plugin:

[root@RHEL5 backup]# tar -xzf nrpe-2.12.tar.gz

[root@RHEL5 backup]# cd nrpe-2.12

[root@RHEL5 nrpe-2.12]# ./configure --sysconfdir=/etc/nrpe \

> --with-nrpe-user=nagios \

> --with-nrpe-group=nagios \

> --with-nagios-user=nagios \

> --with-nagios-group=nagios \

> --enable-command-args \

> --enable-ssl


[root@RHEL5 nrpe-2.12]# make all

[root@RHEL5 nrpe-2.12]# make install-plugin



Define the monitoring command:

[root@RHEL5 nrpe-2.12]# cd /etc/nagios/objects/

[root@RHEL5 nrpe-2.12]# vi commands.cfg

#Add by Kingcraft
define command{
    command_name    check_nrpe
    command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}


Definition monitor file:

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

#Add by Kingcraft
define host{
    use             linux-server,host-pnp
    host_name       CSV
    alias           CSV
    address         172.17.3.98
    }
define service{
    use                     local-service,srv-pnp
    host_name               CSV
    service_description     check_procs
    check_command           check_nrpe!check_procs
    }



Empowering for monitoring files:

[root@RHEL5 objects]# chown nagios:nagios /etc/nagios/Linuxhosts/*



Modify the nagios configuration file:

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

#Add by Kingcraft
cfg_dir=/etc/nagios/Linuxhosts



Syntax checking:

[root@RHEL5 objects]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg



restart nagios:

[root@RHEL5 objects]# service nagios restart



Verification

Custom plug(二)