Cette documentation a pour but de montrer comment un cluster peu superviser des hôtes et/ou des checks venant de royaumes différents. Exemple : Vous souhaitez superviser un site internet depuis 2 datacenter différents qui sont dans des royaumes différents et remonter l'information dans un cluster pour n'être alerté qu'en cas de défaillance des 2 datacenters.
Le concept est d'utiliser le module receiver-module-webservice pour envoyer des traps
La solution proposée permettra de remonter n’importe quel résultat de checks ou d'hôtes vers l'installation centrale.
Prenons par exemple la surveillance de l'hôte H1 dans l'infrastructure Shinken du réseau isolé:
L'objectif est d'obtenir sur l'architecture centrale Shinken la réplique de H1 (avec un objet qui a exactement le même nom, et qui est en mode passif), et que son état en central soit un miroir des états réels déterminés depuis les Pollers/Scheduler du réseau isolé.
|
Pour cet exemple, basé sur le schéma ci dessus, la supervision de l'hôte H1 du réseau isolé doit envoyer l'information en central, sur le même nom de d'hôte H1 (miroir).
Dans notre exemple, pour un objet hôte, créons par exemple la commande ( dans l'interface de configuration ) ayant le nom "envoi-statut-hote" et avec la ligne de commande :
/var/lib/shinken-user/libexec/submit_host_result_to_receiver "$HOSTADDRESS$" $SERVICESTATEID$ "$SERVICEOUTPUT$" IP-RECEIVER-CENTRAL |
Si on doit effectuer l'envoi du statut d'un check, voici l'exemple de la commande ayant le nom "envoi-statut-check" et avec la ligne de commande :
/var/lib/shinken-user/libexec/submit_check_result_to_receiver "$HOSTADDRESS$" "$SERVICEDISPLAYNAME$" $SERVICESTATEID$ "$SERVICEOUTPUT$" IP-RECEIVER-CENTRAL |
Le contenu du script se trouve dans cette partie de la documentation : Script d'interprétation des traps avec le module receiver-module-webservice
|
|
|
Et voila, à chaque changement d'états de l'hôte H1 du réseau isolé, la commande "envoi-statut-hote" sera lancée, et mettra à jour l'hôte de même nom sur le réseau central.
Pour tester le bon fonctionnement du module receiver-module-webservice, vous pouvez exécuter simplement cette commande depuis un terminal :
curl -u user:password -X POST -d "time_stamp=`date +%s`&host_name=mon_hote&service_description=mon_check&return_code=0&output=Statut OK" http://IP-DU-RECEIVER:7760/push_check_result |
Vérifiez alors que l'état de votre hôte depuis l'interface de visualisation de votre réseau Shinken Central a bien été modifié.
Au minimum, pour faire communiquer les deux infrastructures, il faut autoriser une communication entre l'IP hébergeant le daemon Reactionner qui enverra les commandes d'Event Handler, et l'IP hébergeant le daemon Receiver (port 7760 du module receiver-module-webservice) à l'écoute des commandes.