Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue


Panel
titleSommaire

Table of Contents
stylenone



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 :

Code Block
themeEmacs
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
languagebash
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
languagejs
#===============================================================================
# listener-rest
#===============================================================================
# Daemons that can load this listener:
# - synchronizer
#===============================================================================


define listener {
    listener_name		    listener-rest#======== Listener identity =========
    order		# Listener name. Must be    10unique
    importlistener_intervalname		    0

    # enabled: is this listener enabled or not
    enabled		           0listener-rest

    #======== Module identity =========
    # Listener type (to load module code). Do not edit.
    module_type     	listener-rest


    import_interval	    0
    order		     #  description: display10

 a description on the# interfaceenabled: foris this source listener enabled or not
    descriptionenabled		       The listener-rest allow to listen by HTTP(s)/REST hosts
 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

}


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.
NomTypeUnitéDéfautCommentaire


Code Block
module_name


Texte---listener-rest 

Chaîne de caractères composée de lettres, de chiffres et des caractères _  et -

  • Doit être unique 
  • D'une longueur maximum à 40 caractères
  • Ne doit pas contenir les caractères ?, &, ", ', $, /, #, \, ;


Code Block
module_type


Texte---listener-restNe peut être modifié.


Fonctionnement de la source


Code Block
languagejs
	
	order 10
	    import_interval	    0

	
    order		        10

    # enabled: is this listener enabled or not
    enabled	enabled 0

 



.
NomTypeUnitéDéfautCommentaire


Code Block
import_interval		


Nombre minutes0Valeur inutilisée, cette source s'active dès qu'elle reçoit une nouvelle requête. 


Code Block
order


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

Code Block
import_interval		
Nombre minutes0Intervalle 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

.


Code Block
enabled	


Booléen---1Permets d'activer ou désactiver l'écouteur ( 1 pour activer, 0 pour désactiver ).


Communication avec l'API


Code Block
languagejs
	#======== 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 ).


NomTypeUnitéDéfautCommentaire


Code Block
host


Texteadresse IP0.0.0.0

Interface réseau sur laquelle l'API REST va écouter.
Il n'est possible de mettre qu'une seule valeur.

Remarque :
L'adresse 0.0.0.0 correspond à toutes les interfaces réseau.


Code Block
port	


Texteport réseau7761Le port réseau sur lequel l'API REST va écouter.