root@server # ps -el |grep 'Z'
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
root@server #
Armamos un zombie en C:
root@server # vi zombie.c
#include
#include
#include
int main ()
{
pid_t child_pid;
child_pid = fork ();
if (child_pid > 0) {
sleep (60);
}
else {
exit (0);
}
return 0;
}
Lo compilamos:
root@server # /usr/sfw/bin/gcc zombie.c
Lo ejecutamos:
root@server # ./a.out
Verificamos que ahora está el zombie: (
root@server # ps -el |grep 'Z'
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 Z 0 17100 17099 0 0 - - 0 - ? 0:00
root@server #
Creamos un script para testear zombies con nagios:
root@server # vi check_zombie
#!/bin/bash
CANT_ZOMBIES=`ps -el |grep 'Z'|grep -v PPID|wc -l`
#echo $CANT_ZOMBIES
if [ $CANT_ZOMBIES -eq 0 ]
then
echo "$CANT_ZOMBIES Zombies"
exit 0
fi
if [ $CANT_ZOMBIES -eq 1 ]
then
echo "$CANT_ZOMBIES Zombies"
exit 1
fi
echo "$CANT_ZOMBIES Zombies"
exit 2
En la config del NRPE agregamos lo siguiente:
root@server # vi /usr/local/nagios/etc/nrpe.cfg
command[check_zombie_procs]=/usr/local/nagios/libexec/check_zombie
Matamos el nrpe:
root@server # ps -efa |grep nrpe
nagios 18369 1 0 13:02:52 ? 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root 18543 15868 0 13:06:54 pts/1 0:00 grep nrpe
root@server # kill -9 18369
Volvemos a iniciarlo:
root@server # /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
No hay comentarios:
Publicar un comentario