Le webservice du Receiver écoute des requêtes HTTP pour ensuite effectuer des actions sur les hôtes/clusters ou checks concernés.
Un simple curl ou appel HTTP dans votre programme suffit pour envoyer des actions à Shinken.
Soumettre le résultat de check passif sur un hôte ou un check
Paramètres de l'appel
| Nom | Description |
|---|---|
Méthode HTTP utilisé | POST |
time_stamp | (optionnel) Date à laquelle a eu lieu la mesure afin que Shinken puisse déterminer la date de la "Dernière Vérification". Par défaut, la date d'appel de l'API sera utilisée. |
host_name | Nom de l'hôte cible |
service_description | Nom du check cible ( si résultat est celui d'un check ) |
return_code | Check: 0 => OK, 1 => WARNING, 2 => CRITICAL, 3 => UNKNOWN Hôte: 0 => OK, 1,2,3 => CRITIQUE |
output | Résultat du check |
Exemple:
| No Format |
|---|
curl -u user:password -X POST -d "time_stamp=$(date +%s)&host_name=host-checked&service_description=service-checked&return_code=0&output=Everything OK" http://shinken-srv:7760/push_check_result |
Comme pour l'écriture d'un check, le résultat long doit être séparé du résultat par un retour à la ligne à l'aide du caractère "\n".
L'exemple suivant permet d'envoyer un résultat et un résultat long:
| No Format |
|---|
curl -u user:password -X POST -d $'host_name=host-checked&service_description=service-checked&return_code=0&output=short_update\nlong_output' http://shinken-srv:7760/push_check_result |
| Info | ||||
|---|---|---|---|---|
On note dans l'exemple précédent que la chaîne de caractères passée dans le curl pour les données POST est passée avec :
et non
pour ordonner au check d'interpréter les caractères d'échappement ANSI et passer un véritable '\n' au lieu de '\' suivi de 'n'. Cette astuce fonctionne si le shell utilisé est bash et peut ne pas être utilisable dans d'autres shells, ou si la requête est envoyée via un autre outil ou via un script dans un autre langage. |
/acknowledge: Mettre un Prise en compte sur un hôte, un cluster ou un check
Paramètres de l'appel
Méthode HTTP utiliséPOSTactionOptions disponibles: add, delete. Ajoute un supprime la prise en compte.
Par défaut: add
time_stampLa date d'activation de la prise en compte.
Par défaut, la date d'appel de l'API sera utilisée.
host_nameservice_descriptioncommentnotifyauthorPar défaut "anonyme" qui correspond un utilisateur lambda non déclaré dans Shinken Enterprise.
stickyPar défaut, sticky=1.
Option présente dans Shinken Framework, dépréciée dans Shinken Entreprise.
Option présente dans Shinken Framework, dépréciée dans Shinken Entreprise.Exemple:
| No Format |
|---|
curl -u user:password -X POST -d "time_stamp=$(date +%s)&host_name=host-checked&service_description=service-checked&comment=Nous sommes entrain de corriger le problème¬ify=1" http://shinken-srv:7760/acknowledge |
/downtime: Mettre une période de maintenance sur un hôte, un cluster ou un check
Paramètres de l'appel
Méthode HTTPPOSTtime_stampLa date d'envoi de la période de maintenance
Par défaut, la date d'appel de l'API sera utilisée.
host_nameservice_descriptioncommentstart_timeend_timenotifyauthorPar défaut "anonyme" qui correspond un utilisateur lambda non déclaré dans Shinken Enterprise.
| No Format |
|---|
curl -u user:password -X POST -d "time_stamp=$(date +%s)&host_name=host-checked&service_description=service-checked&comment=Maintenance en cours&author=shinken_admin" http://shinken-srv:7760/downtime |