Quest-ce qu'un webservice pour les checks passifs 

Le receiver a un module spécial pour les checks passifs. Ce module est appelé ws-arbiter et va ouvrir par défaut le port 7760 TCP/HTTP. Vous pourrez inscrire vos checks dans le receiver grâce à ce module. L'Arbiter viendra alors récupérer cet état et le fera passer au Scheduler.

Configuration du module 

La configuration de ce module se trouve dans le fichier  /etc/shinken/modules/ws-arbiter.cfg

Par défaut ce sera :

#===============================================================================
# ws-arbiter   (webservice)
#===============================================================================
# Daemons that can load this module:
# - receiver
# - arbiter
# 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 :

Exemple d'un push de check passif :

Pour passer le résultat d'un check d'un hôte:

curl -u user:password -d "host_name=mon-hote&service_description=check-de-mon-hote&return_code=0&output=Everything OK" http://ip-du-receiver:7760/push_check_result

Voici un autre exemple de curl avec un résultat qui contient des caractères spéciaux :

curl -d "host_name=mon-hote&return_code=2&output=*DOWN:état incorrect*" http://ip-du-receiver:7760/push_check_result