Le listener-rest est une source qui expose une API REST permettant d'ajouter de nouveaux hôtes via des requêtes HTTP contenant un objet décrivant un hôte au format JSON.
Voici un exemple de requête avec cURL :
curl -u USER:PASSWORD \
-H "Content-Type: application/json" \
-d '{"host_name":"my_host", "use":"linux", "address":"192.168.1.254"}' \
-X PUT 'http://SYNCHRONIZER-IP-INTERFACE:7761/shinken/listener-rest/v1/hosts/' |
La source ne peut s'activer que sur le Synchronizer.
listener-rest".Exemple : par défaut, nous livrons un module dont le nom est "listener-rest" :
define synchronizer {
[...]
sources Module 1, Module 2, Module 3, listener-rest
[...]
} |
Pour prendre en compte le changement de configuration, redémarrer le Synchronizer :
service shinken-synchronizer restart |
La configuration du module se trouve par défaut dans le fichier /etc/shinken/listeners/listener-rest.cfg.
#===============================================================================
# listener-rest
#===============================================================================
# Daemons that can load this listener:
# - synchronizer
#===============================================================================
define listener {
#======== Listener identity =========
# Listener name. Must be unique
listener_name listener-rest
# Listener type (to load module code). Do not edit.
module_type listener-rest
import_interval 0
order 10
# enabled: is this listener enabled or not
enabled 0
#======== Listening address =========
# host: IP address to listen to.
# note: 0.0.0.0 = all interfaces.
host 0.0.0.0
# port to listen
port 7761
# description: display a description on the interface for this source
description The listener-rest allow to listen by HTTP(s)/REST hosts
} |
Il est possible de définir plusieurs instances d'écouteurs de type "listener-rest", le paramètre module_name permet d'identifier une instance donnée.
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | --- | listener-rest | Chaîne de caractères composée de lettres, de chiffres et des caractères _ et -
| |
| Texte | --- | listener-rest | Ne peut être modifié. |
import_interval 0
order 10
# enabled: is this listener enabled or not
enabled |
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Nombre | minutes | 0 | Valeur inutilisée, cette source s'active dès qu'elle reçoit une nouvelle requête. | |
| Nombre | --- | 5 | L'ordre de la source dans l'interface de configuration. Permet de prioriser l'import de cette source par rapport à d'autres. La priorité est prise en compte lors du calcul des différences des éléments importés.
Remarque : Si vous changez l'ordre depuis l'interface ( page d’accueil ), le fichier .cfg sera mis à jour. | |
| Booléen | --- | 1 | Permets d'activer ou désactiver l'écouteur ( 1 pour activer, 0 pour désactiver ). |
#======== Listening address ========= # host: IP address to listen to. # note: 0.0.0.0 = all interfaces. host 0.0.0.0 # port to listen port 7761 |
Permet de préciser comment communiquer avec l'API ( son adresse et son port ).
| Nom | Type | Unité | Défaut | Commentaire | |
|---|---|---|---|---|---|
| Texte | adresse IP | 0.0.0.0 | Interface réseau sur laquelle l'API REST va écouter. | |
| Texte | port réseau | 7761 | Le port réseau sur lequel l'API REST va écouter. |