Google+

miércoles, 21 de diciembre de 2011

Check_procs en pnp4nagios


Al intentar hacer una gráfica del check: check_procs tendremos que hacer lo siguiente.

Creamos un script en la ruta de nuestros plugins de nagios:
# vi /usr/local/nagios/libexec/check_procs.sh
Pegamos esto:
#!/bin/bash
LINE=`/usr/local/nagios/libexec/check_procs $*`
RC=$? COUNT=`echo $LINE | awk '{print $3}'`
echo $LINE \| procs=$COUNT
exit $RC



Agregamos permisos de ejecución:
# chmod +x /usr/local/nagios/libexec/check_procs.sh
Ahora para el check de la máquina local, en el archivo de nagios de comandos, modificamos la siguinte linea:

command_line    $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
por:
command_line    $USER1$/check_procs.sh -w $ARG1$ -c $ARG2$ -s $ARG3$


Para los check por NRPE, creais el script check_procs.sh en la máquina remota y modificais el archivo nrpe.conf de la máquina remota
Esto:

command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
por esto:
command[check_procs]=/usr/local/nagios/libexec/check_procs.sh -w $ARG1$ -c $ARG2$ -s $ARG3$

Ahora en os pego el check_procs.php que debéis ponerlo en la carpeta templates de la maquina servidor:

<?php
#
# Ismael Puerto
# Template for check_procs.sh
#

$opt[1] = "--lower=$MIN[1] --vertical-label \"Procesos\"  --title \"Procesos\" ";

$def[1] =  "DEF:var2=$RRDFILE[1]:$DS[1]:MAX " ;
$def[1] .= "AREA:var2#2E2EFE:\"Procesos totales \" " ; # Color area
$def[1] .= "LINE1:var2#000000:\"\" " ;

if ($WARN[1] != "") {
        $def[1] .= "HRULE:$WARN[1]#FFFF00 ";
}
if ($CRIT[1] != "") {
        $def[1] .= "HRULE:$CRIT[1]#FF0000 ";
}

?>