View Full Version : Redemarrer un processus avec event_hendler
sergestage
04-18-2006, 03:56 PM
Bonjour,
en fait j'aimerai redemarrer un processus via oreon quand le processus tombe. Je me demandai si par hasard un plugin existait pour faire cela ?
Sinon j'ai un peu regardé sur le forum et apperemment il faudrais utiliser le plugins check_by_ssh pour executer un script sur la machine cliente (sous windows), et donc comment on fait pour lancer un processus a partir d'un script.....
DonKiShoot
04-18-2006, 08:28 PM
Machine cliente windows, je crois qu il n y a que nrpe pour faire ce que tu souhaites mais d'autres auront un avis plus correct que le miens :wink:
wistof
04-18-2006, 09:53 PM
http://forum.oreon-project.org/viewtopic.php?t=1426&highlight=vbs
sergestage
04-19-2006, 10:04 AM
nrpe.. je croyais que c'etait pour les machines linux ca? moi j'ai NSClient, mais je sais pas comment on fait pour redemarrer un processus avec NSClient.
Et merci pour le lien mais j'avais deja vu, le probleme c'est que moi c'est pas un service que je relance enfin il me semble ... pour mes tests j'essaye de relancer firefox et "net start firefox" ca marche pas.
surcouf
04-19-2006, 10:15 AM
nrpe.. je croyais que c'etait pour les machines linux ca? moi j'ai NSClient, mais je sais pas comment on fait pour redemarrer un processus avec NSClient.
Pas du tout, il existe aussi une version Windows de l'agent NRPE, dénommée par ailleurs NRPE_NT.
Et merci pour le lien mais j'avais deja vu, le probleme c'est que moi c'est pas un service que je relance enfin il me semble ... pour mes tests j'essaye de relancer firefox et "net start firefox" ca marche pas.
C'est normal puisque firefox n'est pas enregistré comme un service Windows.
Pourquoi voudrais-tu exécuter firefox sur un évènement ?
templuche
04-19-2006, 10:18 AM
Bonjour,
Il existe NRPE pour les machines Windows et il s'appelle NRPE_NT.
Tu ne peux pas démarrer firefox avec la commande "net start ...". En effet, la commande "net start" est l'équivalent du "/etc/init.d/... start" (ou du "service ... start"). Il faut donc que le programme soit un service. Or firefox n'est pas un service.
sergestage
04-19-2006, 10:34 AM
En fait moi je doit pouvoir redemarrer JBOSS et JMX quand l'un deux s'arrete, donc pour mes tests j'utilise firefox. Mais c'est vrai que peut etre ce sont des services JBOSS et JMX il faudrais que je regarde ca de plus pret.
Je vais regarder aussi nrpe pour voir si ca peut resoudre mon probleme et si il y a plus de fonctionnalités que NSClient.
surcouf
04-19-2006, 06:38 PM
Bonjour,
Il existe NRPE pour les machines Windows et il s'appelle NRPE_NT.
Tu ne peux pas démarrer firefox avec la commande "net start ...". En effet, la commande "net start" est l'équivalent du "/etc/init.d/... start" (ou du "service ... start"). Il faut donc que le programme soit un service. Or firefox n'est pas un service.
Ouh ! La copieuse, hé ! :wink:
surcouf
04-19-2006, 06:40 PM
En fait moi je doit pouvoir redemarrer JBOSS et JMX quand l'un deux s'arrete, donc pour mes tests j'utilise firefox. Mais c'est vrai que peut etre ce sont des services JBOSS et JMX il faudrais que je regarde ca de plus pret.
Je vais regarder aussi nrpe pour voir si ca peut resoudre mon probleme et si il y a plus de fonctionnalités que NSClient.
S'ils s'arrêtent, c'est que ce n'est pas normal, en même temps...
Plutôt que redémarrer le service sans chercher à comprendre, il vaudrait sans doute mieux chercher ce qui cloche, quitte à, dans un premier, récupérer automatiquement le log et le stocker pour une analyse ultérieure.
wistof
04-19-2006, 08:04 PM
perso, j'utilise nsclient++ qui permet aussi l'utilisation de NRPE
sergestage
04-20-2006, 10:08 AM
Je sais bien que c'est pas normal que ca s'arrete lol !
Et apperemment ce qui cloche c'est qu'avec toute les requetes qu'on lui fait avec ce pauvre JBOSS il y en a toujours quelques une qui marche pas et certaine le font planter..... Et ca si on pouvais eviter qu'il plante bien sur qu'on l'aurais fait ......
Et bon de toute facon meme si on arrivais a ce qu'il plante plus il nous faudrais quand meme le surveiller car il est critique pour l'entreprise.
Voila donc mes priorité on changé depuis hier... donc pour le redemarrage du processus je vais devoir attendre un peu avant d'essayer
Mais sinon vous etes sure qu'on peut le faire avec nrpe ou nsclient++ ??
Quelqu'un a deja reussi a le faire ?
wistof
04-20-2006, 02:25 PM
je le fais avec nsclient++ (avec le mode nrpe) + check_nrpe + un script vbs coté windows
inconnuflo
04-20-2006, 09:50 PM
je suis aussi ok avec Wistof
surcouf
04-21-2006, 10:37 AM
Je sais bien que c'est pas normal que ca s'arrete lol !
Et apperemment ce qui cloche c'est qu'avec toute les requetes qu'on lui fait avec ce pauvre JBOSS il y en a toujours quelques une qui marche pas et certaine le font planter..... Et ca si on pouvais eviter qu'il plante bien sur qu'on l'aurais fait ......
Tu parles de requêtes SQL ? Si oui, il faudrait faire des statistiques d'utilisation sur le serveur SQL dans ce cas. Il te permettrait sans doute de savoir quelle(s) est(sont) la(es) requête(s) qui plombent ainsi les performances ET le serveur d'applications (ce qui n'est pas NORMAL, ni même ACCEPTABLE).
sergestage
04-21-2006, 12:43 PM
Tu parles de requêtes SQL ? Si oui, il faudrait faire des statistiques d'utilisation sur le serveur SQL dans ce cas. Il te permettrait sans doute de savoir quelle(s) est(sont) la(es) requête(s) qui plombent ainsi les performances ET le serveur d'applications (ce qui n'est pas NORMAL, ni même ACCEPTABLE).
Ben il me semble que ce soit des requetes SQL mais bon ca fait pas un mois que je suis dans l'entreprise et je connais pas trop le fonctionnement du truc et de JBOSS donc je soumettrai l'idée a mon tuteur parceque c vrai que moi aussi ca m'etonne que le truc plante et en plus c assez regulier on dirais ...
Mais bon j'imagine qu'ils on du bien regardé pkoi ca planté et ils ont pas du arriver a le resoudre, donc moi pour l'instant je m'occupe de nagios et la supervision apres on verra si j'ai le temps de voir pkoi ca plante :lol:
sergestage
05-05-2006, 05:21 PM
Bonjour,
je relance un peu le sujet parceque je viens seulement d'avoir le temps pour essayer nrpe pour relancer un processus.
Donc je fait un check_nrpe a partir du serveur nagios et je lance un petit script en bash tout simple.
Le premier problème est qu'il relance le process en tache de fond c pas trop ce que je voulais... Donc finalement je me suis rabatu sur la relance d'un service, en ligne de commande sa marche sans pb.
Dans mon bash j'ai mis simplement :
net stop service
net start service
mais second pb : avec oreon mon plugin ne retourne rien vu qu'il execute mon script et que le script renvoi rien et du coup j'ai une erreur. Donc qu'est ce que je doit renvoyer ?
Ensuite Troisieme pb pour finir! : check_nrpe ne fonctionne pas quand je l'utilise dans event_hendler, j'ai regardé d'un peu plus pres les event_hendler ds la doc nagios et apperemment il faut que le plugin prenne en parametre $SERVICESTATE$ $STATETYPE$ et $SERVICEATTEMPT$ ......
Alors j'ai essayé d'editer check_nrpe mais c impossible a modifier le formatage pas bon ensuite j'ai essayé de faire un script pour lancer check_nrpe un peu comme dans l'exemple de la doc nagios mais fonctionne pas non plus.
Donc est ce que quelqu'un pourrai m'eclairer sur les event_handler parceque la j'ai du mal :cry:
wistof
05-05-2006, 09:23 PM
define command{
command_name check_nrpe_handler
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 20 -c handler_restart_monservice -a $SERVICESTATE$ $STATETYPE$ $SERVICEATTEMPT$
}
dans le fichier de conf nsclient++
[NRPE]
allow_arguments=1
allow_nasty_meta_chars=0
[NRPE Handlers]
handler_restart_monservice=cscript //NOLOGO "D:\event_handler_monservice.vbs" $ARG1$ $ARG2$ $ARG3$
mon script D:\event_handler_monservice.vbs reprend le principe du code d'exemple de la doc de nagios (http://nagios.sourceforge.net/docs/1_0/eventhandlers.html)
sergestage
05-09-2006, 11:51 AM
merci pour ta reponse je vais regarder un peu ta solution sauf que moi j'utilise nsclient et nrpe_nt donc un peu different.
J'ai vite fait essayé nsclient++ mais j'arrive pas a le faire marcher :
connection refused by host
Donc je vais essayer ce que tu ma dit avec nrpe_nt :wink:
sergestage
05-09-2006, 12:42 PM
Bon je viens d'essayer résultat : mm problème :?
En fait quand je defini la commande comme ecris dessus et que j'utilise ma commande ds un event_hendler qd je génere les fichier de conf j'ai :
Error: Event handler command 'check_nrpe_handler!CRITICAL!HARD!2' specified in service 'process2' for host 'nugbg2' not defined anywhere
J'ai essayé sans arguments idem, je me suis trompé dans les arguments ou c autre chose ?
ps: j'avais pas vu que ca y etait dans le wiki l'explication des envent_handler :oops:
templuche
05-09-2006, 02:29 PM
Bonjour,
C'est un bug d'Oreon : http://bugs.oreon-project.org/?do=details&id=140. Il n'est pas possible de définir des arguments à un event handler avec Nagios v1.x.
sergestage
05-09-2006, 02:46 PM
Bonjour,
C'est un bug d'Oreon : http://bugs.oreon-project.org/?do=details&id=140. Il n'est pas possible de définir des arguments à un event handler avec Nagios v1.x.
Ah zut alors :?
bon ben tant pis, je doit faire une demo pour le 15 de mon Nagios/Oreon donc j'aurais pas le temps de changer de version d'Oreon d'ici la mais je vais essayer d'installer la 1.3 apres le 15 et je retesterai pour voir si ca marche :wink:
wistof
05-09-2006, 03:00 PM
il ne faut pas mettre d'argument sur un event_handler, Nagios 1.x ne le gére pas. Le bug Oreon, c'est qu'il te permet d'en mettre alors qu'il ne devrait pas.
mais ça fonctionne, je le fais avec un Oreon 1.2.3RC4 + Nagios 1.2
sergestage
05-09-2006, 03:17 PM
Ah ben pourtant j'ai enlevé les arguments et j'ai toujours la meme erreur ?
Et en plus comment je fait pour redemarrer mon service si je peux pas mettre d'arguments moi ? :cry:
pepito
05-09-2006, 03:37 PM
tu crée plusieurs commandes et plusieurs script.
Un par service que tu veux relancer... un peu lourd mais bon.
wistof
05-09-2006, 10:00 PM
Ah ben pourtant j'ai enlevé les arguments et j'ai toujours la meme erreur ?
Et en plus comment je fait pour redemarrer mon service si je peux pas mettre d'arguments moi ? :cry:
tu veux mettre quoi comme arguments ??
sergestage
05-10-2006, 03:00 PM
ben comme argument les $SERVICESTATE$ $STATETYPE$ $SERVICEATTEMPT$ .....
Ou alors faut rien remplir c automatique ?
de toute facon j'ai essayé sans arguments --> idem
wistof
05-10-2006, 09:06 PM
$SERVICESTATE$ $STATETYPE$ $SERVICEATTEMPT$
ils sont gérés par Nagios lorsqu'il lance l'event_handler, c'est comme pour $USER1$ ou $HOSTADDRESS$, tu n'as pas besoin de les définir dans les arguments
tu mets quoi exactement comme définition ?
sergestage
05-12-2006, 11:26 AM
Alors voici la definition de ma commande check_nrpe_handler :
$USER1$/check_nrpe -H $HOSTADDRESS$ -t 20 -c check_firefox -a $SERVICESTATE$ $STATETYPE$ $SERVICEATTEMPT$
et donc quand j'utilise cette commande dans le event_handler en ne spécifiant aucun argument ou en mettant des arguments ca plante a la génération du fichier de configuration :
Error: Event handler command 'check_nrpe_handler#BLANK#' specified in service 'process2' for host 'digimind-nugbg2' not defined anywhere
Voila pourtant la j'ai suivi le wiki a la lettre...
wistof
05-12-2006, 07:39 PM
hummm oreon 1.2.2, c'est donc le bug souligné par Templuche
à la 1.2.3RC4, ça passe
sergestage
05-15-2006, 03:11 PM
OK, ben maintenant j'ai plus qu'a passé a une version au dessus.... :lol:
Je pense passer a la 1.3 mais c difficile de passer de la 1.2 a la 1.3 ?
Et une version stable est prevu pour la 1.3 parceque du coup la road map plus a jour alors je sais pas si ya un planning pour la sortie d'une 1.3 stable ?
Ou alors ca sera la surprise .... :?
inconnuflo
05-15-2006, 09:26 PM
d'apres ce que je sais, l'equipe va tendre vers une version stable de la 1.3
mais en passant par qq RC.
Donc un peu de patience avant d'avoir une version stable
Plus il y a aura de monde qui testera la nouvelle et ainsi remonter les bugs ou des nouveauté à ajouter
plus la version stable sera proche :wink: