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 module broker-module-livedata permet de mettre ร  disposition sur le Broker une API HTTP permettant d'accรฉder aux informations d'un hรดte, d'un cluster ou d'un check.

Cette API peut รชtre utilisรฉe pour accรฉder rapidement aux informations d'รฉlรฉments supervisรฉs pour ensuite les intรฉgrer dans des outils externes ( outil de ticketing, rรฉcolte de donnรฉes, etc... ).

Activation du module

Activer le module broker-module-livedata livrรฉ par dรฉfaut

Par dรฉfaut, lโ€™installation ou la mise ร  jour de Shinken Entreprise va mettre ร  disposition une dรฉfinition du moduleย  de type "broker_module_livedata" appelรฉ "broker-module-livedata-example"

  • La configuration de ce module se trouve par dรฉfaut dans le fichier :ย /etc/shinken/modules/broker-module-livedata.cfg
  • L'activation de ce module s'effectue en ajoutant son nom dans le fichier de configuration du dรฉmon /etc/shinken/brokers/broker-master.cfg (ย  ou le .cfg que vous utilisez pour dรฉfinir les options de votre brokerย  ).

    Exemple :

    Code Block
    languagejs
    define broker {
        [...]
    
        broker_name				  broker-master
    
      ย  [...]
    
        modules                   Module 1, Module 2, Module 3, broker-module-livedata
    
        [...]
    } 
  • Pour prendre en compte le changement de configuration, il faut ensuite redรฉmarrer l'Arbiter :

    Code Block
    service shinken-arbiter restart

Dรฉfinir vos propres modules de type broker_module_livedata

Pour pouvoir dรฉfinir ce module selon vos besoins, il vous sera possible de dรฉfinir votre module grรขce au module d'exemple fourni par dรฉfaut.


Pour configurer votre module de typeย  broker_module_livedata, commencez par choisir un nom ร  lui donner.

  • Pour l'exemple, nous allons l'appeler "Mon-Module-Broker-Livedata".
  • Remplacer dans l'exemple le mot "Mon-Module-Broker-Livedata" par le nom que vous aurez choisi.


Pour dรฉfinir votre module ร  partir du module fourni par dรฉfaut, vous devez :ย 

  • Copier le fichier de dรฉfinition du module d'exemple :ย  /etc/shinken-user-example/configuration/daemons/brokers/modules/broker-module-livedata/broker-module-livedata-example.cfgย dans le rรฉpertoire de dรฉfinition des modulesย  /etc/shinken/modules/ .
    ( Exemple :ย /etc/shinken/modules/broker-module-livedata__Mon-Module-Broker-Livedata.cfg )

    Code Block
    languagebash
    themeEmacs
    cp /etc/shinken-user-example/configuration/daemons/brokers/modules/broker-module-livedata/broker-module-livedata-example.cfg /etc/shinken/modules/broker-module-livedata__Mon-Module-Broker-Livedata.cfg


  • Ouvrez ce fichier ( broker-module-livedata__Mon-Module-Broker-Livedata.cfg ) :

    • Modifier la ligne module_name en remplaรงant le nom par dรฉfaut "broker-module-livedata" par le nom que vous avez choisi "Mon-Module-Broker-Livedata".

      Code Block
      ... 
      	# โ”€โ”€โ”€ Module name [ Must be unique ] 													[ MANDATORY ] โ”€โ”€โ”€ 
      	# โ”€โ”€โ”€ 																								  โ”€โ”€โ”€ 
      	module_name ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  Mon-Module-Broker-Livedata 
      ...
  • Vรฉrifiez que l'utilisateur shinken possรจde les droits sur ce fichier. Si ce n'est pas le cas, effectuez la commande suivante :

    Code Block
    languagebash
    themeEmacs
    chown -R shinken:shinken /etc/shinken/modules/broker-module-livedata__Mon-Module-Broker-Livedata.cfg


  • Ajoutez le nom du nouveau module au Broker en modifiant le paramรจtre modules du fichierย /etc/shinken/brokers/broker-master.cfg (ย  ou le .cfg que vous utilisez pour dรฉfinir les options de votre brokerย  ).

    Code Block
    languagejs
    define broker {
    	[...]
    
    	broker_name 				broker-master
    
    	[...]
    	
    	modules 					Module 1, Module 2, Module 3, broker-module-livedata
    
    	[...] 
    }


  • Redรฉmarrez l'Arbiter pour que le Broker puisse prendre en compte ce nouveau module.

    Code Block
    languagebash
    themeEmacs
    service shinken-arbiter restart


Configuration

La configuration du module se trouve par dรฉfaut dans le fichier suivant : /etc/shinken/modules/broker-module-livedata.cfg

  • Vous trouverez aussi systรฉmatiquement un exemple dansย  /etc/shinken-user-example/configuration/daemons/brokers/modules/broker-module-livedata/broker-module-livedata-example.cfg

Exemple de fichier de configuration

Code Block
languagejs
#================================================================================
# broker-module-livedata
#================================================================================
# Daemon that can load this module:
# - broker
# This module provides REST API to fetch information on monitored elements
# CFG_FORMAT_VERSION 1
#================================================================================
 
define module {
 
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    MODULE IDENTITY    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #
 
    # โ”€โ”€โ”€ Module name [ Must be unique ]                                                      [ MANDATORY ] โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    module_name                                         broker-module-livedata
 
    # โ”€โ”€โ”€ Module type [ Do not edit ]                                                         [ MANDATORY ] โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    module_type                                         broker_module_livedata
 
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    GENERAL    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #
 
    # โ”€โ”€โ”€ Language (only used for the MISSING DATA status)                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : en => English                                                                     โ”€โ”€โ”€
    #           ...     : fr => French                                                                      โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__lang                        en
 
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    LISTENING PARAMETERS    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #
 
    # โ”€โ”€โ”€ IP address to listen to                                                                           โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0.0.0.0 ( all interfaces )                                                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__listening_address           0.0.0.0
 
    # โ”€โ”€โ”€ Port to listen to                                                                                 โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 50100                                                                             โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__listening_port              50100
 
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    HTTPS PARAMETERS    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #
 
    # โ”€โ”€โ”€ Enable this parameter if you want to receive API REST calls in HTTPs mode                         โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable                                                                      โ”€โ”€โ”€
    #           ...     : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__use_ssl                     0
 
    # โ”€โ”€โ”€ Certificate file                                                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : /etc/shinken/certs/server.cert                                                    โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__ssl_cert                    /etc/shinken/certs/server.cert
 
    # โ”€โ”€โ”€ Key file                                                                                          โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : /etc/shinken/certs/server.key                                                     โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__ssl_key                     /etc/shinken/certs/server.key
 
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    BROKS GETTER PARAMETERS    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #
 
    # โ”€โ”€โ”€ These parameters allow some internal tuning in broks management in broker-module-livedata         โ”€โ”€โ”€
 
    # โ”€โ”€โ”€ Late broks sets catchup                                                                           โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           ...     : 0 => Disable                                                                      โ”€โ”€โ”€
    #           Default : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__activate_late_set_catchup 1
 
    # โ”€โ”€โ”€ Take extra broks sets to manage if more than this parameter sets are waiting                      โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 10                                                                                โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__nb_late_set_allowed_before_catchup 10
 
    # โ”€โ”€โ”€ Stop taking extra broks sets in catchup when we reach this number of broks                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 200000                                                                            โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000
 
    # โ”€โ”€โ”€ Continue catchup if too much late broks sets remains after                                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           ...     : 0 => Disable                                                                      โ”€โ”€โ”€
    #           Default : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__catchup_run_endless_until_nb_late_set_allowed_reached 1
 
    # โ”€โ”€โ”€ Take the lock as soon as getter thread has some broks to manage                                   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable                                                                      โ”€โ”€โ”€
    #           ...     : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__include_deserialisation_and_catchup_in_lock 0
 
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ย  ย API PARAMETERS ย  ย โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #
 
    # โ”€โ”€โ”€ Token used to authenticate API REST calls on this module                                          โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : change_me                                                                         โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__token                       change_me
 
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    MODULES    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #
 
    # โ”€โ”€โ”€ Extra modules can extend scope of broker-module-livedata, adding extra functionalities            โ”€โ”€โ”€
    # โ”€โ”€โ”€ this parameter contains coma separated list of submodule names, available submodules are          โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€ 
    #           ...     : livedata-module-sla-provider ( allowing to query SLA of elements )                โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # modules                                            
 
}  

Dรฉtails des sections composant le fichier de configuration

Identification du module

Il est possible de dรฉfinir plusieurs instances de module de type " broker-module-livedata" dans votre architecture Shinken .

  • Chaque instance devra avoir un nom unique.
NomTypeUnitรฉDรฉfautCommentaire
Code Block
module_name
Texte--- broker-module-livedata

Nous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple ร  maintenir.

Doit รชtre unique.

Code Block
module_type
Texte--- broker-module-livedata Ne peut รชtre modifiรฉ.



Langue

Code Block
languagejs
	# โ”€โ”€โ”€ Language (only used for the MISSING DATA status)                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : en => English                                                                     โ”€โ”€โ”€
    #           ...     : fr => French                                                                      โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__lang                        en

Quand le module broker-module-livedata ne reรงoit plus de mise ร  jour pour le statut de certains รฉlรฉments ( hรดtes, clusters, checks ), il modifie

  • leur statut ร ย Donnรฉes Manquantes ,
  • leur rรฉsultat avec un texte gรฉnรฉrique expliquant le manque d'information.
    • La langue de ce texte gรฉnรฉrique est dรฉfinie par le paramรจtreย broker_module_livedata__lang.
NomTypeUnitรฉDรฉfautCommentaire
Code Block
broker__module_livedata__lang
Texte--- enย 

Les langues disponibles sont

  • en ( anglais )
  • fr ( franรงais )

Adresse et port d'รฉcoute

Code Block
languagejs
    # โ”€โ”€โ”€ IP address to listen to                                                                           โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0.0.0.0 ( all interfaces )                                                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__listening_address           0.0.0.0
 
    # โ”€โ”€โ”€ Port to listen to                                                                                 โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 50100                                                                             โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__listening_port              50100 

Le port et l'adresse d'รฉcoute du moduleย broker-module-livedataย sont paramรฉtrables via les options suivantes:

NomTypeUnitรฉDรฉfautCommentaire
Code Block
broker__module_livedata__listening_address 
TexteAdresse IP 0.0.0.0ย 

Adresse IP sur laquelle le module doit se mettre en รฉcoute.

Code Block
 broker__module_livedata__listening_port  
EntierPort 50100 Port d'รฉcoute du module.
Autorisation firewalld

Si firewalldย  est actif sur le systรจme, il faut รฉgalement autoriser les connexions extรฉrieures vers le port qui vient d'รชtre configurรฉ.

Cela peut รชtre fait en exรฉcutant les commandes suivantes sur le serveur qui fait tourner le Broker (en remplaรงant 50100, ci dessous, par le port configurรฉ dans le fichier de configuration) :

Code Block
firewall-cmd --add-port=50100/tcp
firewall-cmd --runtime-to-permanent

Activation du SSL

Code Block
languagejs
	# โ”€โ”€โ”€ Enable this parameter if you want to receive API REST calls in HTTPs mode                         โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable                                                                      โ”€โ”€โ”€
    #           ...     : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__use_ssl                     0
 
    # โ”€โ”€โ”€ Certificate file                                                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : /etc/shinken/certs/server.cert                                                    โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__ssl_cert                    /etc/shinken/certs/server.cert
 
    # โ”€โ”€โ”€ Key file                                                                                          โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : /etc/shinken/certs/server.key                                                     โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__ssl_key                     /etc/shinken/certs/server.key

Le module broker-module-livedata peut, au choix, servir le protocole http ou https sur le port configurรฉ ci-dessus.

Le mode https se configure avec les paramรจtres suivants :

NomTypeUnitรฉDรฉfautCommentaire
Code Block
broker__module_livedata__use_ssl
Boolรฉen--- 0

Paramรจtre activant le mode SSL ( https ).

Valeurs:

  • 0ย ( nonย  )
  • 1 ( oui )

Par dรฉfaut le module fonctionne en mode http sur le port configurรฉ ci-dessus.

Code Block
broker__module_livedata__ssl_cert
Texte--- /etc/shinken/certs/server.cert Chemin du fichier contenant le certificat.
Code Block
broker__module_livedata__ssl_key
Texte--- /etc/shinken/certs/server.key Chemin du fichier contenant la clรฉ du certificat.

Absorption des broks ( รฉlรฉments de supervision )

Code Block
languagejs
    # โ”€โ”€โ”€ These parameters allow some internal tuning in broks management in broker-module-livedata         โ”€โ”€โ”€
 
    # โ”€โ”€โ”€ Late broks sets catchup                                                                           โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           ...     : 0 => Disable                                                                      โ”€โ”€โ”€
    #           Default : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__activate_late_set_catchup 1
 
    # โ”€โ”€โ”€ Take extra broks sets to manage if more than this parameter sets are waiting                      โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 10                                                                                โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__nb_late_set_allowed_before_catchup 10
 
    # โ”€โ”€โ”€ Stop taking extra broks sets in catchup when we reach this number of broks                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 200000                                                                            โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000
 
    # โ”€โ”€โ”€ Continue catchup if too much late broks sets remains after                                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           ...     : 0 => Disable                                                                      โ”€โ”€โ”€
    #           Default : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__catchup_run_endless_until_nb_late_set_allowed_reached 1
 
    # โ”€โ”€โ”€ Take the lock as soon as getter thread has some broks to manage                                   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable                                                                      โ”€โ”€โ”€
    #           ...     : 1 => Enable                                                                       โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__broks_getter__include_deserialisation_and_catchup_in_lock 0

Le fonctionnement du thread de rรฉcupรฉration desย  broks ย de ce moduleย peut รชtre configurรฉ via certains paramรจtres, afin de modifier son "agressivitรฉ".

Pendant la mise ร  jour des donnรฉes de supervision, le module ne peut pas rรฉpondre aux requรชtes via son API.

Warning

Une mauvaise configuration de ces paramรจtres peut compromettre le bon fonctionnement du module, se rapprocher du support si vous avez le moindre doute.

Principe de l'algorithme d'absorption des broks :

  1. Attente de broks ร  traiter
  2. Rรฉcupรฉration de broks en retard ( fonctionnalitรฉ de rattrapage )
  3. Dรฉsรฉrialisation des broks
  4. Entrรฉe en session critique ( les requรชtes ร  l'API sont bloquรฉes )
  5. Traitement des broksย 
  6. Libรฉrer la session critique et attendre de nouveaux broks,ย  ou ย continuer l'absorption de broks ( en cas de retard important, on repart ร  l'รฉtape 1. en restant sur la session critique )
NomTypeUnitรฉDรฉfautCommentaire
Code Block
broker__module_livedata__broks_getter__activate_late_set_catchup
Boolรฉen--- 1

Utilisation deย laย  fonctionnalitรฉ de rattrapage pour absorber des broks en retard :

  • 1 : Activรฉ
  • 0 : Dรฉsactivรฉ
Code Block
broker__module_livedata__broks_getter__nb_late_set_allowed_before_catchup
NombreNombre de broks set 10 Nombre de brok set en attente tolรฉrรฉ.
Au-dessus de ce nombre, les brokย set sont immรฉdiatement rรฉcupรฉrรฉs par l'algorithme de rattrapage pour รชtre traitรฉs immรฉdiatement.
Code Block
broker__module_livedata__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop
NombreNombre de broks 200000

Nombre maximal de broks que l'algorithme de rattrapage rรฉcupรจre avant de lancer le traitement.
Ce paramรจtre permet de borner la consommation mรฉmoire et le temps d'exรฉcution d'un tour de boucle de traitement.

Code Block
broker__module_livedata__broks_getter__catchup_run_endless_until_nb_late_set_allowed_reached
Boolรฉen--- 1

Aprรจs traitement des broks, si le nombre de brok set en retard est trop รฉlevรฉ,

  • 1 ย : continuer le rattrapage et absorber des broks en retard en restant sur la session critique ( "avec le lock" )
  • 0 : arrรชter l'absorption deย brokย et libรฉrer la session critique ( rendre le lock )
Code Block
broker__module_livedata__broks_getter__include_deserialisation_and_catchup_in_lock
Boolรฉen--- 0

Dans le cas oรน vous voulez disposer d'un maximum de temps CPU pour traiter les broks en retard, vous pouvez activer ce paramรจtre afin de bloquer les requรชtes ร  l'API dรจs la phase 2ย ย ( Rรฉcupรฉration de broks en retard ) puis une fois les broks rattrapรฉs passรฉs en Phase 5 ( Traitement des broksย ).

Deux valeurs possibles pour ce paramรจtre :

  • 1 ย : Activรฉ
  • 0 : Dรฉsactivรฉ




Configuration de l'authentification

Code Block
languagejs
	# โ”€โ”€โ”€ Token used to authenticate API REST calls on this module                                          โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : change_me                                                                         โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    # broker__module_livedata__token                       change_me 

Afin de sรฉcuriser l'utilisation de l'API du module, un token est nรฉcessaire pour chaque requรชte. Ce token peut รชtre dรฉfini dans la configuration en modifiant le paramรจtreย broker_module_livedata__token.

NomTypeUnitรฉDรฉfautCommentaire
Code Block
broker__module_livedata__token
Texte--- change_me

Chaรฎne de texte utilisรฉe pour chaque requรชte au moduleย *







Warning
title* Avertissement

Cette valeur est utilisรฉe en paramรจtre d'URL de typeย GET .ย Si elle contient des caractรจres interdits dans une URL, ils devront รชtre รฉchappรฉs (URL encodรฉs) lors de son utilisation pour une requรชte

caractรจre interdit:/?#[]@!$&'()*+,;=%(espace)
remplacement%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D%25%20 ย ouย  +

Pour plus d'information, vous pouvez consulter :ย https://developer.mozilla.org/fr/docs/Glossary/percent-encodingย et rfc3986

Exemple: pour le token ch@nge_meย  il faudra utiliser l'urlย  http://broker-module-livedata:50100/api/v1/all-monitored-elements?token=ch%40nge_me

Vรฉrification du bon fonctionnement ( est ce que vous avez accรจs aux APIs )

Tester l'API

Depuis une des machines qui va faire les requรชtes aux API,ย  faire le test suivant :

Code Block
curl  -s -S -k http://machinedubroker:50100/api/v1/ping
Code Block
themeEmacs
titleRรฉsultat attendu
{"response": "pong"}

Si la rรฉponse attendue n'arrive pas, contrรดler les autorisation d'accรจs du firewall

Vรฉrification du firewall

Si vous avez firewalld ( firewall par dรฉfaut de la Redhat )

Si firewalldย  est actif sur le systรจme, il faut รฉgalement autoriser les connexions extรฉrieures vers le port qui vient d'รชtre configurรฉ.

Sur la machine du Broker qui fait tourner le module livedata, vรฉrifiez que le port est ouvert dans votre firewall :

Code Block
firewall-cmd --list-ports

ย 

Code Block
themeEmacs
titleExemple de rรฉsultat
80/tcp 7763/tcp 7765/tcp 7766/tcp 7767/tcp 7768/tcp 7769/tcp 7770/tcp 7771/tcp 7772/tcp 7773/tcp 7777/tcp 7780/tcp 50000/tcp

Dans cet exemple, le port 50100/tcp n'est pas listรฉ, il est donc bloquรฉ par dรฉfaut.

Il faut modifier le firewall pour autoriser les connexions.

Cela peut รชtre fait en exรฉcutant les commandes suivantes sur le serveur qui fait tourner le Broker ( en remplaรงant 50100, ci dessous, par le port configurรฉ dans le fichier de configuration, si vous n'utilisez pas celui par dรฉfaut ) :

Code Block
firewall-cmd --add-port=50100/tcp
firewall-cmd --runtime-to-permanent