Le choix du mécanisme est important dans votre architecture.
Les Event Handlers sont paramétrables par check et par hôtes, via l'UI de configuration, alors que les commandes OCSP et OCHP sont paramétrables de manière globale dans Shinken, via le fichier /etc/shinken/shinken.cfg
Si vous décidez d'envoyer absolument tous les résultats vers le Shinken central, de la même manière, via une même commande, alors les commandes OCSP et OCHP seront plus rapidement mises en place, et vous n'aurez pas à vous soucier d'un paramétrage par hôtes ou checks.
Par contre, si vous souhaitez n'envoyer que certains résultats vers le central, il sera plus judicieux de passer par les Event Handlers.
Les Event Handlers sont expliqués dans la documentation ici.
| Le paramétrage des Events Handler peut être entièrement réalisé via l'UI de configuration (aussi possible via fichier CFG). |
Les options sont à définir dans /etc/shinken/shinken.cfg :
obsess_over_services=1
obsess_over_hosts=1
Ces valeurs déterminent si Shinken va, à chaque exécution de la commande de supervision de l'hôte ou du service, exécuter une autre commande.
Cette commande est également à définir de manière globale dans le fichier shinken.cfg.
Pour la commande "obsession" des checks : ocsp_command=ma-commande-OCSP-checks
Pour la commande "obsession" des hôtes : ochp_command=ma-commande-OCHP-hotes
La valeur des propriétés est le nom court d'une commande qui est définie dans vos objets Shinken. Pour information, cette commande est exécutée par le Reactionner, après les commandes "Event Handler" et les commandes de notification.
|
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 "envoi-statut-hote" :
curl -d "host_name=$HOSTNAME$&return_code=$SERVICESTATEID$" --data-urlencode "output=Statut de l hote recupere" http://IP-RECEIVER-CENTRAL:7760/push_check_result |
Si on doit effectuer l'envoi du statut d'un check, créons par exemple la commande "envoi-statut-check" :
curl -d "host_name=$HOSTNAME$&service_description=$SERVICEDESC$&return_code=$SERVICESTATEID$" --data-urlencode "output=Statut du check recupere" http://IP-RECEIVER-CENTRAL:7760/push_check_result |
Ensuite, comme vu précédemment, deux choix de mécanismes s'offrent à vous ici :
Pour tester le bon fonctionnement du module ws-arbiter, vous pouvez exécuter simplement cette commande depuis un terminal :
curl -d "host_name=mon_hote&return_code=0" --data-urlencode "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é.