Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=clean_macro_parameter
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmlfalse
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Description

Concept

Le WebServicemodule receiver-receiver est le module qui permet de recevoir des resultats en mode Passif ( voir module-webservice expose une API permettant de transmettre des résultats à Shinken via des requêtes HTTP. Il offre les fonctionnalités suivantes :

  • Transmission des résultats de check pour un hôte ou un check dont le mode passif est activé ( voir la page Mode actif et mode passif )
pour des hôtes ou checks via HTTP(s)
  • .
  • Gestion des contextes
    • Définir une période de maintenance.
    • Indiquer une prise en compte.
  • Forcer la vérification du statut d'un élément.

Ce module met à disposition une écoute HTTP pour un serveur HTTP qui écoute les requêtes HTTP POST et effectue réalise des actions sur les hôtes, clusters et checks.

  • Le Web Service service écoute par défaut sur port TCP 7760 ( par défaut ). le port TCP 7760.
  • Il supporte à la fois les accès authentifiés ou et anonymes. 

La configuration se définit dans le fichier de configuration du module ( présent par défaut dans /etc/shinken/modules/ws-receiver.cfg ). 


Activation du module

Le module receiver-module-webservice est un module qui peut être activé seulement sur le un démon Receiver.

  • L'activation du module s'effectue en ajoutant le nom de ce module dans le fichier de configuration du démon Receiver.
  • Pour se fairecela, ouvrez ouvrir le fichier de configuration du Reveiver à l'emplacement /etc/shinken/receivers/nom_du_receiver.cfg, et ajouter le nom de votre du module "receiver-module-webservice" dans la liste des modules.

Exemple : par défaut, nous livrons Shinken livre un module dont le nom est "receiver-module-webservice" :

Code Block
languagejs
themeConfluence
define receiver {
    [...]
    modules                   Module 1, Module 2, Module 3, receiver-module-webservice
    [...]
}


Pour prendre en compte le changement de configuration, redémarrez il faut redémarrer l'Arbiter :


Excerpt Include
Fichier de configuration ( shinken.cfg )
Fichier de configuration ( shinken.cfg )
pageDefaultLink[destination=Optional[PageResourceIdentifier[spaceKey=<null>,title=Fichier de configuration ( shinken.cfg )]],body=Optional.empty,tooltip=Optional.empty,anchor=Optional.empty,target=Optional.empty]
nopaneltrue

Configuration

La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/receiver-module-webservice.cfg

  • Vous trouverez aussi systématiquement un exemple Un exemple est systématiquement disponible dans /etc/shinken-user-example/configuration/daemons/receiver/receiver-module-webservice/receiver-module-webservice-example.cfg

Exemple de fichier de configuration

Code Block
languagejs
themeConfluence
#===============================================================================
# WebService-Receiver   (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               receiver-module-webservice
    # 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 authentication =========
    # You can use HTTP basic authentication method for this module.
    # If username is set to anonymous and password is commented, then
    # no authentication will be required.
    username                 anonymous
    #password                secret


}

Détails des sections composant le fichier de configuration

Identification du module

Il est possible de définir plusieurs instances de module de type module  receiver-module-webservice dans votre l'architecture Shinken.

  • Chaque instance devra avoir un nom unique.
Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfaut
Commentaire
Description
code
No Format
module_name
Texte---receiver-module-webservice
Nous vous conseillons

Shinken conseille de choisir un nom en fonction de l'utilisation du module pour que

votre

la configuration soit simple à maintenir.

Doit être unique.

code
No Format
module_type
Texte---ws_arbiterNe peut être modifié.

Configuration de l'interface et du port d'écoute

Code Block
languagejs
themeConfluence
#======== Listening address ========= 
# host: IPv4 address to listen to. 
# note: 0.0.0.0 = all interfaces. 
host 0.0.0.0 

# port to listen 
port 7760

Il est possible de configurer l'interface réseau sur laquelle est mise à disposition l'API. Si par exemple l'API ne doit être accessible seulement via un réseau local, il est possible de n'écouter les requêtes que sur cette interface réseau.

Les paramètres suivants permettent de configurer l'accès à l'API :


Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfaut
Commentaire
Description
code
No Format
host
TexteAdresse IPv40.0.0.0

L'interface réseau sur

laquelle

lequel le module "receiver-module-webservice" va écouter.

La valeur 0.0.0.0 correspond à toutes les interfaces.

code
No Format
port
TextePort réseau7760Port réseau sur lequel le module "receiver-module-webservice" va écouter.

Sécurisation de la communication avec le module

Code Block
languagejs
themeConfluence
# 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

L'API du module est accessible via HTTP. Il est recommandé d'utiliser le protocole HTTPS pour chiffrer la communication avec le module.

Si pour des raisons de sécurité, cette API doit être accessible via HTTPS, il est possible de configurer les certificats avec les paramètres suivants :


Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfaut
Commentaire
Description
code
No Format
use_ssl
Booléen---0

Permet d'activer ou non l'utilisation du protocole HTTPS.

  • 0 : Désactivé ( utilise HTTP )
  • 1 : Activé ( utilise HTTPS )
code
No Format
ssl_cert
TexteChemin/etc/shinken/certs/server.certChemin vers le certificat SSL utilisé par le protocole HTTPS.
code
No Format
ssl_key
TexteChemin/etc/shinken/certs/server.keyChemin vers la clé SSL utilisée par le protocole HTTPS.

Authentification HTTP

Code Block
languagejs
themeConfluence
#======== HTTP authentication =========
# You can use HTTP basic authentication method for this module.
# If username is set to anonymous and password is commented, then
# no authentication will be required.
username anonymous
#password secret

Afin d'être authentifié auprès du module, il est possible de configurer les identifiants à utiliser dans les requêtes, dans la configuration du module grâce aux paramètres suivants :


Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfaut
Commentaire
Description
code
No Format
 username 
Texte---anonymousNom d'utilisateur.
code
No Format
 password
Texte---secretMot de passe.



Info

Lors d'une requête cURL, les identifiants se renseignent grâce à l'option -u

Code Block
languagetext
themejsEmacs
curl -u anonymous:secret -X POST ...

Utilisation du module

Voir la page d'aide à l'utilisation du module : Parmi les cas d’utilisation documentés par Shinken, ce module peut notamment être employé pour convertir des traps SNMP en retours interprétables par Shinken (  voir la page Script d'interprétation des traps avec le module receiver-module-webservice )