View Full Version : relance service http a distance
ludo
23rd June 2005, 12:55
voila chui un peu porte parole de mon responsable de stage la lol, il a sur une serveur distant le service http ki se vautre régulièrement, il n'a pa trouvé pourkoi, mais en attendant kece seré le moyen de le relancer a distance ?
je prend toute idée meme si elle n'est pas aboutie
merci
wistof
23rd June 2005, 13:00
une idée jetée en l'air...
regarde du coté des 'Event_handler'
ludo
23rd June 2005, 14:09
oui d'accord...et après ? utilisation de nrpe avec un script ke je devrais écrire moi meme ?
naparuba
23rd June 2005, 14:25
Oui, et pas très complique le script en plus a priori nan? ;)
Tu peux aussi faire du check_by_ssh, mais vu que tu parles de NRPE c'est ce que tu dois avoir mis en place, alros profite en, c'est bien pratique :D
ludo
23rd June 2005, 14:31
je sais utiliser nrpe, mais moi g jamais écri de script pour oreon, alors kan tu dis "pas compliké" ca me fé un peu marrer, en plus g pa le temps de l écrire ce script mon stage se fini demain et g un rapport a fini, mai c dommage ca moré interressé de le faire, pour le script je pensais tt a l heure kil fallais se baser sur le script httpd, me trompe-je ?
naparuba
23rd June 2005, 14:40
Attends, tu veux juste un script qui relance le demon, or ca ca se fait en une ligne de commande, donc ton script fait.. une ligne (2 avec les commentaires..)
relance_apache.sh:
/etc/init.d/apache2 restart
Voila :)
Y a plus dur nan?
C'est simple car tu n'a pas besoin de récupérer de valeur (enfin sauf si tu veux verifier que la commande a bien aboutie mais là apreès c'est du détail) ni lui ne fournir car ce script ne sera exécuté par nrpe que sous l'ordre de nagios quand il ne détecte plus d'apache, donc pas besoin d'arguments :)
Ca fait un petit bonus pour la fin de stage ;)
(purée moi encore 3mois avant la fin du stage...)
ludo
23rd June 2005, 14:45
lol, atan du calme jte suit plu, je veux kil redémarre httpd kan il voit kil ne fonctionne plu : fo bien récupérer une valeur ? fodré pa kil lance https kan httpd ne fonctionne plu ?
wistof
23rd June 2005, 14:45
oui d'accord...et après ? utilisation de nrpe avec un script ke je devrais écrire moi meme ?
ici tu as un exemple de script eventhandler pour apache
http://nagios.sourceforge.net/docs/1_0/eventhandlers.html
donc coupler avec un nrpe, ça peut peut-etre fonctionner....
naparuba
23rd June 2005, 14:49
Ah ok je vois. En fait les event handler te permette d'efectuer une action quand Nagios détecte un pb (Critical etc..), tu lui files une commande à executer. Donc ton nagios va détecter classiquement que to napache est tombé en carafe, la il lance le event handler ou tu auras mis: chech_nrpe -H leserveurweb -c relance_apache
Il faut bien voir que c'est le serveur Nagios qui décide de lancer l'action, et non le script sur le serveur web qui detecte qu'il y a un pb et qui decide lui meme de relancer le demon. Ca permet de centraliser la prise de decision (j'ai l'impression de parler comme mon chef là :) )
Ensuite tu peux faire ca aussi pour le https si tu veux :)
(Il y a un moyen d'automatiser la mise en place d'event hadler au hasard?)
ludo
23rd June 2005, 14:55
j'ai cru apercevoir kil y aurai des pb pour les droit de relancer le service a distance puiskil faut etre en root, hors la il éxecuterai la comande avec l utilisateur sous lekel on est logué sur le serveur oreon en fait, aparaman ça parle de sudo mais la chui encore largué lol
wistof
23rd June 2005, 15:04
un truc du genre devrait faire l'affaire :
User_Alias NRPE= <ici ton user qui lance le deamon nrpe>
NRPE ALL = NOPASSWD: /etc/init.d/apache restart
il faut faire un 'visudo' pour ouvrir le fichier de conf sudo
naparuba
23rd June 2005, 15:06
Ah oui en effet j'ai totalement zappé ce "détail", honte à moi :)
Oui il faudrait sudo sur le serveur web, ainsi, l'utilisateur nrpe pourrait relancer le demon apache. Il faut mettre dans le fichier de conf de sudo les droits pour le user nrpe pour executer httpd (ou juste sur le script de init.d mais j'ai un doute là).
Par contre je me souvient plus de la tête du fichier de conf, mais de mémoire c'était assez "lisible"
PS: je me fais peu etre l'avocat du diable, mais un rapport bien fait vaut mieux qu'une petite fonctionnalité faite à la dernière minute ;)