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.
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:
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 résultat long:
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 |
On note dans l'exemple précédent que la chaîne de caractères passées 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. |
Paramètres de l'appel
| Nom | Description |
|---|---|
Méthode HTTP utilisé | POST |
action | Options disponibles: add, delete. Ajoute un supprime la prise en compte. Par défaut: add |
time_stamp | (optionnel) La date d'activation de la prise en compte. 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 ) |
comment | Le commentaire de la prise en compte (optionnel) |
notify | 1 ou 0 pour notifier les contacts qui sont signalés sur l'équipement comme recevant les notifications de changement sur cet élément. |
author | L'auteur de la prise en compte. Par défaut "anonyme" qui correspond un utilisateur lambda non déclaré dans Shinken Enterprise. |
sticky |
Par défaut, sticky=1. |
| persistent |
|
Exemple:
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 |
Paramètres de l'appel
| Nom | Description |
|---|---|
Méthode HTTP | POST |
time_stamp | (optionnel) La date d'envoi de la période de maintenance 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 ) |
comment | Le commentaire de la période de maintenance (optionnel) |
start_time | Sous forme de timestamp: correspond à l'heure du début de la période de maintenance |
end_time | Sous forme de timestamp: correspond à l'heure de fin de la période de maintenance |
notify | 1 ou 0 pour notifier les contacts qui sont signalé sur l'équipement comme recevant les notifications de changement sur cette élément. |
author | L'auteur de la période de maintenance. Par défaut "anonyme" qui correspond un utilisateur lambda non déclaré dans Shinken Enterprise. |
Exemple:
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 |