Le WebService-receiver est le module qui permet de recevoir des résultats passifs pour des hôtes ou checks via HTTP(s).
If data is POSTed to this page, it will validate the data to determine if it is a service or host check result and submit the data to the Shinken external command queue.
La configuration se défini dans le fichier de configuration du module (présent par défaut dans /etc/shinken/modules/ws-arbiter.cfg ).
#===============================================================================
# WebService-Reactionner (webservice)
#===============================================================================
# Daemons that can load this module:
# - receiver
# This module is a webservice that can be used to send checks to Shinken Enterprise
# as POST HTTP(s)
#===============================================================================
define module {
#======== Module identity =========
# Module name. Must be unique
module_name ws-arbiter
# Module type (to load module code). Do not edit.
module_type ws_arbiter
#======== Listening address =========
# host: IP address to listen to.
# note: 0.0.0.0 = all interfaces.
host 0.0.0.0
# port to listen
port 7760
# HTTPs part, enable if you want to set the listening for HTTPS instead of default HTTP.
# disabled by default. Set your own certificates.
use_ssl 0
ssl_cert /etc/shinken/certs/server.cert
ssl_key /etc/shinken/certs/server.key
#======== HTTP authentification =========
# You can use HTTP basic authentification method for this module.
# If username is set to anonymous and password is commented, then
# no authentification will be required.
username anonymous
#password secret
} |
Les valeurs peuvent être :
Pour activer le module, ajouter simplement à votre Receiver le module ws-arbiter a la liste des modules dans le fichier de configuration du receiver.cfg Sur une architecture distribuée importante, si vous avez plusieurs Receivers, vous pourrez activer un module ws-arbiter par Receiver. |
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 | POST |
time_stamp | (optionnel) date pour que Shinken puisse déterminer a quel moment a eu lieu la mesure. Par défaut, ce sera la date d'appel de l'API |
host_name | Nom de l'hôte cible |
service_description | Nom du check cible ( si résultat 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 |
Paramètres de l'appel
| Nom | Description |
|---|---|
Méthode HTTP | POST |
time_stamp | (optionnel) date pour que Shinken puisse déterminer a quel moment a eu lieu la mesure. Par défaut, ce sera la date d'appel de l'API |
host_name | Nom de l'hôte cible |
service_description | Nom du check cible ( si résultat d'un check ) |
comment | le commentaire de la prise en compte (optionnel) |
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 | Par défaut "anonyme". Il peut correspondre 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=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) date pour que Shinken puisse déterminer a quel moment a eu lieu la mesure. Par défaut, ce sera la date d'appel de l'API |
host_name | Nom de l'hôte cible |
service_description | Nom du check cible ( si résultat 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 | Par défaut "anonyme". Il peut correspondre 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 |