| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Description
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 :
| Code Block | ||
|---|---|---|
| ||
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/' |
Activation de la source
La source ne peut s'activer que sur le Synchronizer.
- L'activation de la source s'effectue en ajoutant le nom de cette source dans le fichier de configuration du démon Synchronizer.
- Pour ce faire, ouvrer le fichier de configuration à l'emplacement /etc/shinken/synchronizers/synchronizer-master.cfg, et ajouter le nom de votre listener "
listener-rest".
Exemple : par défaut, nous livrons un module dont le nom est "listener-rest" :
| Code Block | ||
|---|---|---|
| ||
define synchronizer {
[...]
sources Module 1, Module 2, Module 3, listener-rest
[...]
} |
Pour prendre en compte le changement de configuration, redémarrer le Synchronizer :
| Code Block |
|---|
service shinken-synchronizer restart |
Configuration
La configuration du module se trouve par défaut dans le fichier /etc/shinken/listeners/listener-rest.cfg.
- Vous trouverez aussi systématiquement un exemple dans /etc/shinken-user-example/configuration/daemons/synchronizers/listeners/listener-rest/listener-rest-example.cfg.
Exemple de fichier de configuration
| Code Block | ||
|---|---|---|
| ||
#===============================================================================
# listener-rest
#===============================================================================
# Daemons that can load this listener:
# - synchronizer
#===============================================================================
define listener {
listener_name listener-rest
order 10
import_interval 0
# enabled: is this listener enabled or not
enabled 0
#======== Module identity =========
# Listener type (to load module code). Do not edit.
module_type listener-rest
# description: display a description on the interface for this source
description The listener-rest allow to listen by HTTP(s)/REST hosts
#======== 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
} |
Détails des sections composant le fichier de configuration
Identification du module
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.
- Chaque instance devra avoir un nom unique.
| 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é. |
Fonctionnement de la source
| Code Block | ||
|---|---|---|
| ||
order 10 import_interval 0 # enabled: is this listener enabled or not enabled 0 |
| Nom | Type | Unité | Défaut | Commentaire | ||
|---|---|---|---|---|---|---|
| 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. | ||
| Nombre | minutes | 0 | Intervalle de temps en minutes entre les imports automatiques de la source. Remarque : Si l'intervalle est 0, l'import de la source ne sera jamais importée automatiquement. | ||
| Booléen | --- | 1 | Permets d'activer ou désactiver l'écouteur ( 1 pour activer, 0 pour désactiver ). |
Communication avec l'API
| Code Block | ||
|---|---|---|
| ||
#======== 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. |