PDA

View Full Version : Problème d'eventhandler


Poulpatine
9th May 2007, 14:55
Bonjour, j'ai un soucis avec mon eventhandler qui eventhandle rien du tout :(.


Je m'explique. Je suis en train de tester les mesures curatives gràce à l'eventhandler. Pour mes tests j'ai mis en place un service ( winvnc4 ) sur un serveur windows et je souhaiterai que lorsque ce service est vu comme arrêté, une commande le relance.

Pour celà j'ai créé une commande sur la base des exemples :


#!/bin/sh
#

export TNGPATH="/opt/samba-tng"
export RPCCLIENT=$TNGPATH/bin/rpcclient
export USER=serviceuser
export PASSWD=viveoreon
export HOST=$4
export SERVICE=$5

case "$1" in
OK)
;;
WARNING)
;;
UNKNOWN)
;;
CRITICAL)
case "$2" in
SOFT)
case "$3" in
3)
echo -n "Restarting $SERVICE service..."
$RPCCLIENT -U $USER%$PASSWD -S $HOST -c "svcstart $SERVICE" >/dev/null 2>/dev/null
;;
esac
;;
HARD)
echo -n "Restarting $SERVICE service..."
$RPCCLIENT -U $USER%$PASSWD -S $HOST -c \"svcstart $SERVICE\" >/dev/null 2>/dev/null
;;
esac
;;
esac
echo "$1 $2 $3 $4 $5" >> /tmp/nagios.test
exit 0


La commande fonctionne à la main quand je la lance avec les arguments qui vont bien :


/usr/lib/nagios/plugins/events/service_restart.sh CRITICAL SOFT 3 testnagios winvnc4


De même, la commande, est bien prise en compte par Nagios/Oreon car lorsque je lis le fichier de log de nagios j'ai bien :


[1178711163] SERVICE EVENT HANDLER: testnagios;Verification de services par WMI;CRITICAL;HARD;3;win_service_restart!winvnc4



( Ma configuration est la suivante : Oreon 1.4 et Nagios 2.6-1 )

Mais, les différents tests de debug que j'ai mis dans la commande ne donnent rien du tout ( la dernière ligne de la commande par exemple ).

Auriez vous une piste ?

Merci infiniment !

wistof
10th May 2007, 00:05
Hello,

peux-tu nous donner la définition de ton event_handler, ainsi que ton service.

tks.

Poulpatine
10th May 2007, 10:16
Bonjour.

voici la définition de mon service :


define service{
host_name testnagios
service_description Verification de services par WMI
use Modele_de_service_generique
check_command check_win_wmi_services!winvnc4
max_check_attempts 3
active_checks_enabled 1
event_handler win_service_restart!winvnc4
event_handler_enabled 1
notification_options w,u,c,r,f
contact_groups admins
stalking_options o,w,u,c
}


Quand à la définition de mon eventhandler, je ne vois pas de quoi tu parles, je peux toutefois te montrer la commande :


define command{
command_name win_service_restart
command_line $USER1$/events/service_restart.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$ $1
}



Merci beaucoup.

wistof
10th May 2007, 14:29
Hello, à vue de nez, cela à l'air correct. Lorsque tu lances ton test en ligne de commande, tu le fait avec quel user ? root ? nagios ?

Poulpatine
10th May 2007, 14:48
Jusqu'à présent j'ai toujours testé avec root et celà fonctionne.
Là, je viens de lancer un test en user nagios et à la main le test fonctionne mais toujours rien.

A la dernière ligne de mon script j'ai mis

echo "$1 $2 $3 $4 $5" >> /tmp/nagios.test

mais les résultats ne s'affichent que quand je fais mes tests à la main.

Merci.

Poulpatine
10th May 2007, 18:23
Hum ... Bon bah j'ai résolu le problème qui se situait au niveau de l'interface chaise clavier :-/

Plusieurs erreurs dans mes tests, à commencer par les droits d'écriture sur mon fichier de débug ( normal que rien n'apparaisse alors ) puis par des guillemets mal placés ..

Enfin, merci beaucoup pour l'aide

Et merci encore plus Oreon ! :)

wistof
10th May 2007, 21:39
Hum ... Bon bah j'ai résolu le problème qui se situait au niveau de l'interface chaise clavier :-/

Plusieurs erreurs dans mes tests, à commencer par les droits d'écriture sur mon fichier de débug ( normal que rien n'apparaisse alors ) puis par des guillemets mal placés ..

Enfin, merci beaucoup pour l'aide

Et merci encore plus Oreon ! :)

Bon bah alors, en punission, tu as gagné le droit de nous rédiger un petit article sur la mise en place d'event_handler (pour windows ?) sur le wiki :rolleyes:

Poulpatine
10th May 2007, 22:12
Si vous ne demandez que ça, ça pourra s'arranger :) .