Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 Nagios & OJN

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
mr_anderson
Lapin nain
Lapin nain


Age : 36
Localisation : Lorient
Nabaztag : Froyo (v2)
Nbr de messages : 6
Carottes : 1450

MessageSujet: Nagios & OJN   Dim 10 Fév 2013 - 21:17

Bonjour,

Je relance un sujet déjà abordé sur la possibilité d'avoir les alertes Nagios sur nos Lapins...
Avec l'ancienne API violet cela fonctionnait nickel mais avec OJN, ça se corse vu que le "token" utilisé dans l'url change à chaque session...

Du coté de Nagios, ça donne ceci :

"notify-host-by-rabbit" :

Code:
command_line echo "http://openjabnab.fr/ojn_api/bunny/MAC/tts/say?text=$HOSTNAME$ is $HOSTSTATE$&token=XXXXXXXXXXXXXXXXX" | sed 's/ /+/g' | xargs /usr/bin/curl --connect-timeout 30 --max-time 60

Et pour le "notify-service-by-rabbit" :

Code:
command_line echo "http://openjabnab.fr/ojn_api/bunny/MAC/tts/say?text=$SERVICEDESC$ $HOSTNAME$ is $SERVICESTATE$&token=XXXXXXXXXXXXXXXXX" | sed 's/ /+/g' | xargs /usr/bin/curl --connect-timeout 30 --max-time 60

Pour info, le token se récupère ici :

http://openjabnab.fr/ojn_api/accounts/auth?login=USER&pass=PASSWORD#

Donc, j'arrive sans problème à récupérer le token dans un fichier texte :

Code:
echo "http://openjabnab.fr/ojn_api/accounts/auth?login=USER&pass=PASSWORD" | xargs /usr/bin/curl --connect-timeout 30 --max-time 60 | hxselect -c 'value' > nabtoken.log

Là ou je sèche, c'est comment faire pour que Nagios prenne en compte ce fichier dans la commande...

Merci d'avance !! yellownabzsmile
Revenir en haut Aller en bas
mr_anderson
Lapin nain
Lapin nain


Age : 36
Localisation : Lorient
Nabaztag : Froyo (v2)
Nbr de messages : 6
Carottes : 1450

MessageSujet: Re: Nagios & OJN   Mar 12 Fév 2013 - 13:23

Ça y est !!!
Tout fonctionne nickel, j'ai mes alertes Nagios sur le lapin.
Pour ceux que ça intéresse, je vous fais une récap ce soir et je mets à disposition le script à ajouter dans Nagios !
Revenir en haut Aller en bas
jpp77350
Kryptonite Nabz
Kryptonite Nabz


Age : 51
Localisation : 77 LE MEE SUR SEINE
Nabaztag : CRISTAL77 & ANDROID V2
Nbr de messages : 9916
Carottes : 10679

MessageSujet: Re: Nagios & OJN   Mar 12 Fév 2013 - 17:46

NabzPlus

_____________________________




On n'arrête pas de jouer parce qu'on vieillit,
on vieillit, parce qu'on arrête de jouer!
De la Rochefoucauld
...  Soyons Joueurs!
Revenir en haut Aller en bas
mr_anderson
Lapin nain
Lapin nain


Age : 36
Localisation : Lorient
Nabaztag : Froyo (v2)
Nbr de messages : 6
Carottes : 1450

MessageSujet: Re: Nagios & OJN   Mer 13 Fév 2013 - 9:02

Alors voici dans le détail ce que j'ai fait.
Tout d'abord création d'un script qui va venir récupérer votre token et le mettre à jour toutes les 10 minutes dans un fichier texte :

nabtoken.sh

Code:
#!/bin/bash
echo "http://openjabnab.fr/ojn_api/accounts/auth?login=USER&pass=PASSWORD" | xargs /usr/bin/curl --connect-timeout 30 --max-time 60 | hxselect -c 'value' > /home/nagios/auth.log

Pour la mise à jour du token toutes les 10 minutes, un petit crontab :

Code:
*/10 *  * * *  root    /root/nabtoken.sh

Maintenant qu'on récupère bien notre token, il faut pouvoir le passer à Nagios dans les définitions de commandes, il faut du coup créer un autre script qui va venir récupérer la sortie de notre fichier texte (auth.log) et le passer dans l'url pour utiliser l'API.
Je l'ai appelé nab.sh :

Code:
#!/bin/bash
# script to send nagios stuff to be announced by the nabaztag


usage(){
        echo "$0 <hostname> <state>"
        exit 1
}

[ -z "$1" -o -z "$2" ] && usage

AUTH_FILE=~/auth.log


host=$1
state=$2

text="${host} est dans un état ${state}"
token=`cat ${AUTH_FILE}`

# ${variable/pattern/replacement} to replace the first match of the pattern
# ${variable//pattern/replacement} to replace all matches of the pattern
URL="http://openjabnab.fr/ojn_api/bunny/MAC_DE_VOTRE_LAPIN/tts/say?text=${text// /+}&token=${token}"

curl --connect-timeout 30 --max-time 60 "${URL}"
err=$?
if [ ${err} -ne 0 ]; then
        exit 4
fi

exit 0

Vous pouvez poser le script ou vous voulez, faut juste que le user "nagios" puisse le lire, moi j'ai choisi de le mettre dans /usr/lib/nagios/plugins (sur Debian).

Ensuite dans Nagios, il ne vous reste plus qu'à créer les deux commandes suivantes :

notify-host-by-rabbit

Code:
$USER1$/nab.sh $HOSTNAME$ $HOSTSTATE$

notify-service-by-rabbit

Code:
$USER1$/nab.sh $SERVICEDESC$ $SERVICESTATE$

Et enfin, vous ajoutez ces notifications dans vos contacts Nagios.

Amusez vous bien ! yellownabzsmile


Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Nagios & OJN   Aujourd'hui à 5:04

Revenir en haut Aller en bas
 
Nagios & OJN
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Notification nagios sur Nabaztag
» Nagios & OJN
» Supervision des serveurs OJN disponible

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Les Nabaztags sont sauvés ! Les solutions... :: [OJN] OpenJabNab-
Sauter vers: