| Scroll Ignore | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
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 language js theme Confluence 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 :
Excerpt Include Fichier de configuration ( shinken.cfg ) Fichier de configuration ( shinken.cfg ) nopanel true
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 language text theme Emacs 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 language js theme Confluence ... # โโโ 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 language text theme Emacs 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 language js theme Confluence 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.
Excerpt Include Fichier de configuration ( shinken.cfg ) Fichier de configuration ( shinken.cfg ) nopanel true
Configuration
La configuration du module se trouve par dรฉfaut dans le fichierย /etc/shinken/modules/broker-module-livedata.cfg
- Vous trouverez aussi systรฉmatiquement un exemple dans /etc/shinken-user-example/configuration/daemons/broker/modules/broker-module-livedata/broker-module-livedata-example.cfg
Exemple de fichier de configuration
| Code Block | ||||
|---|---|---|---|---|
| ||||
#================================================================================
# 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 โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ API version this module provides โโโ
# โโโ
# Default : 1 => API_V1 โโโ
# ... : 2 => API_V2 โโโ
# โโโ
broker__module_livedata__api_version 2
# โโโ 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 many 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 V1 PARAMETERS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ Token used to authenticate API REST calls on this module โโโ
# โโโ
# Default : change_me โโโ
# โโโ
# broker__module_livedata__token change_me
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ API V2 PARAMETERS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโโโโโโโโโโโโโโโโโโโ Usage Logs โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ REST API call can be logged in a specific log file โโโ
# โโโ
# Default : 0 => Disable โโโ
# ... : 1 => Enable โโโ
# โโโ
# broker__module_livedata__rest_api_log__enable 0
# โโโ File name of the REST API usage logs โโโ
# โโโ This file will always be in directory : โโโ
# โโโ /var/log/shinken/brokers/modules/broker-module-livedata_API-REST โโโ
# โโโ The log file will be daily rotated up to 7 days โโโ
# โโโ
# Default : api_v2.log โโโ
# โโโ
# broker__module_livedata__rest_api_log__file_name api_v2.log
# โโโ Usage logs verbosity โโโ
# โโโ
# Default : NORMAL โโโ
# ... : VERBOSE โโโ
# โโโ
# broker__module_livedata__rest_api_log__level NORMAL
# โโโโโโโโโโโโโโโโโโ Performance Logs โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ Log a warning in broker logs when request to api takes longer than this number of seconds โโโ
# โโโ
# Default : 3 โโโ
# โโโ
# broker__module_livedata__perf_log__log_call_of_X_seconds_is_an_warning 3
# โโโ Log an error in broker logs when request to api takes longer than this number of seconds โโโ
# โโโ
# Default : 6 โโโ
# โโโ
# broker__module_livedata__perf_log__log_call_of_X_seconds_is_an_error 6
# โโโโโโโโโโโโโโโโโโโโโ Statistics โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ Maximum time to keep performance statistics, after that time they will be removed โโโ
# โโโ All "keeping_last_minutes" parameter will have the value of keeping_last_X_minutes__default, โโโ
# โโโ if they are not set โโโ
# โโโ
# Default : 60 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_last_X_minutes__default 60
# โโโ time to keep performance statistics computed in the running loop of the module โโโ
# โโโ
# Default : 60 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_last_X_minutes__running_loop 60
# โโโ time to keep performance statistics computed concerning requests โโโ
# โโโ
# Default : 60 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_last_X_minutes__requests 60
# โโโ The number of requests per second is stored over X hours โโโ
# โโโ
# Default : 24 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_request_count_per_second_during_X_hours 24
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 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-event-manager-reader ( allowing to query events from โโโ
# event container ) โโโ
# ... : livedata-module-sla-provider ( allowing to query SLA of elements ) โโโ
# โโโ
# modules
} |
Dรฉtails des sections composant le fichier de configuration
Identification du module
| Code Block | ||||
|---|---|---|---|---|
| ||||
...
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ MODULE IDENTITY โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ Module name [ Must be unique ] [ MANDATORY ] โโโ
# โโโ โโโ
module_name broker-module-livedata
# โโโ Module type [ Do not edit ] [ MANDATORY ] โโโ
# โโโ โโโ
module_type broker_module_livedata
... |
Il est possible de dรฉfinir plusieurs instances du moduleย broker_module_livedata, le paramรจtreย module_nameย permet d'identifier une instance donnรฉe.
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| 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. Les caractรจres autorisรฉs sont les lettres, les chiffres, les caractรจres _ et - et le nom fourni doit commencer par une lettre | ||
| Texte | --- | broker_module_livedata | Ne peut รชtre modifiรฉ. |
Version de l'API REST ( V1 / V2 )
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ GENERAL โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ # ย ย
# โโโ API version this module provides โโโ
# โโโ
# Default : 1 => API_V1 โโโ
# ... : 2 => API_V2 โโโ
# โโโ
broker__module_livedata__api_version 2 |
Le module broker-module-livedata peut servir une des deux versions d'API disponibles.
Il est possible de choisir cette version via le paramรจtreย broker__module_livedata__api_version.ย
Deux choix sont actuellement disponibles :
- 1 : correspondant ร V1 - Les API du broker-module-livedata
- 2 : correspondant ร V2 - Les API du broker-module-livedata
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Entier | --- | 1 | Valeurs possibles
|
Langue
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ GENERAL โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ 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.
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | --- | enย | Les langues disponibles sont
|
Adresse et port d'รฉcoute
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 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
|
Le port et l'adresse d'รฉcoute du moduleย broker-module-livedataย sont paramรฉtrables via les options suivantes:
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | Adresse IP | 0.0.0.0ย | Adresse IP sur laquelle le module doit se mettre en รฉcoute. | ||
| Entier | Port | 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 | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 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
|
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 :
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Boolรฉen | --- | 0 | Paramรจtre activant le mode SSL ( https ). Valeurs:
Par dรฉfaut le module fonctionne en mode http sur le port configurรฉ ci-dessus. | ||
| Texte | --- | /etc/shinken/certs/server.cert | Chemin du fichier contenant le certificat. | ||
| Texte | --- | /etc/shinken/certs/server.key | Chemin du fichier contenant la clรฉ du certificat. |
Absorption des broks ( information de supervision venant des Schedulers )
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 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 |
| Warning |
|---|
Ces paramรจtres sont dรฉdiรฉs au fonctionnement interne au module, il est fortement recommandรฉ de ne pas les modifier sans votre support dรฉdiรฉ.ย |
Le fonctionnement du thread de rรฉcupรฉration des broks 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 HTTP qu'il reรงoit.
Principe de l'algorithme d'absorption des broks :
- Attente de broks ร traiter
- Rรฉcupรฉration de broks en retard ( fonctionnalitรฉ de rattrapage )
- Dรฉsรฉrialisation des broks
- Entrรฉe en session critique ( les requรชtes ร l'API sont bloquรฉes )
- Traitement des broksย
- 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 )
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Boolรฉen | --- | 1 | Utilisation deย laย fonctionnalitรฉ de rattrapage pour absorber desย broksย en retard :
| ||
| Nombre | Nombre 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. | ||
| Nombre | Nombre de broks | 200000 | Nombre maximal deย broks ย que l'algorithme de rattrapage rรฉcupรจre avant de lancer le traitement. | ||
| Boolรฉen | --- | 1 | Aprรจs traitement desย broks, si le nombre deย brok set ย en retard est trop รฉlevรฉ,
| ||
| 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 :
|
Paramรจtres spรฉcifiques de l'API V1
Configuration de l'authentification
| Anchor | ||||
|---|---|---|---|---|
|
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ API V1 PARAMETERS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโ 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.
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | --- | change_me | Chaรฎne de texte utilisรฉe pour chaque requรชte au moduleย * |
| Warning | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||
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
Pour plus d'information 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 |
Paramรจtres spรฉcifiques de l'API V2
L'API REST V2 du moduleย broker-module-livedata permet, optionnellement, d'enregistrer toutes les requรชtes qui sont faites via des logs d'utilisation.
De plus, pour suivre le bon fonctionnement du module, des logs de performance permettent de tracer les requรชtes lentes.
Configuration des logs d'utilisation
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ API V2 PARAMETERS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโโโโโโโโโโโโโโโโโโโ Usage Logs โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# โโโ REST API call can be logged in a specific log file โโโ
# โโโ
# Default : 0 => Disable โโโ
# ... : 1 => Enable โโโ
# โโโ
# broker__module_livedata__rest_api_log__enable 0
# โโโ File name of the REST API usage logs โโโ
# โโโ This file will always be in directory : โโโ
# โโโ /var/log/shinken/brokers/modules/broker-module-livedata_API-REST โโโ
# โโโ The log file will be daily rotated up to 7 days โโโ
# โโโ
# Default : api_v2.log โโโ
# โโโ
# broker__module_livedata__rest_api_log__file_name api_v2.log
# โโโ Usage logs verbosity โโโ
# โโโ
# Default : NORMAL โโโ
# ... : VERBOSE โโโ
# โโโ
# broker__module_livedata__rest_api_log__level NORMAL
|
La fonctionnalitรฉ de logs d'utilisation est dรฉfinie plus en dรฉtails sur laย Broker - Les logs du module broker-module-livedata.
Ces logs sont enregistrรฉs dans un fichier spรฉcifique, les paramรจtres de configuration sont les suivants :
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Boolรฉen | --- | 0 | Par dรฉfaut, les logs d'utilisation sont dรฉsactivรฉs. Valeurs possibles :
| ||
| Texte | --- | api_v2.log | Nom du fichier qui stockera les logs d'utilisation. Ce fichier sera dans le dossierย /var/log/shinken/brokers/modules/broker-module-livedata_API-REST Le journal fera l'objet d'une rotation quotidienne jusqu'ร 7 jours. | ||
| Texte | --- | NORMAL | Valeurs possibles :
|
Logs de performance
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ API V2 PARAMETERS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโโโโโโโโโโโโโโโโ Performance Logs โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# โโโ Log a warning in broker logs when request to api takes longer than this number of seconds โโโ
# โโโ
# Default : 3 โโโ
# โโโ
# broker__module_livedata__perf_log__log_call_of_X_seconds_is_an_warning 3
# โโโ Log an error in broker logs when request to api takes longer than this number of seconds โโโ
# โโโ
# Default : 6 โโโ
# โโโ
# broker__module_livedata__perf_log__log_call_of_X_seconds_is_an_error 6
|
Les logs de performance sont enregistrรฉs dans le fichier de logs du Broker.
Leur format est dรฉtaillรฉ sur laย Broker - Les logs du module broker-module-livedata.
Les paramรจtres suivants permettent d'influer sur leur gรฉnรฉration :
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Entier | secondes | 3 | Si le temps d'exรฉcution d'une requรชte dรฉpasse cette durรฉe, un log de niveau WARNING sera gรฉnรฉrรฉ dans le fichier des logs du Broker | ||
| Entier | secondes | 6 | Si le temps d'exรฉcution d'une requรชte dรฉpasse cette durรฉe, un log de niveau ERROR sera gรฉnรฉrรฉ dans le fichier des logs du Broker |
| Anchor | ||||
|---|---|---|---|---|
|
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ API V2 PARAMETERS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ #
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โโโโโโโโโโโโโโโโโโโโโ Statistics โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# โโโ Maximum time to keep performance statistics, after that time they will be removed โโโ
# โโโ All "keeping_last_minutes" parameter will have the value of keeping_last_X_minutes__default, โโโ
# โโโ if they are not set โโโ
# โโโ
# Default : 60 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_last_X_minutes__default 60
# โโโ time to keep performance statistics computed in the running loop of the module โโโ
# โโโ
# Default : 60 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_last_X_minutes__running_loop 60
# โโโ time to keep performance statistics computed concerning requests โโโ
# โโโ
# Default : 60 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_last_X_minutes__requests 60
# โโโ The number of requests per second is stored over X hours โโโ
# โโโ
# Default : 24 โโโ
# โโโ
# broker__module_livedata__running_statistics__keeping_request_count_per_second_during_X_hours 24
|
Pour limiter la quantitรฉ de donnรฉes ร garder, les paramรจtres suivants sont disponibles :
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Entier | minutes | 60 | Valeur par dรฉfaut pour les deux paramรจtres suivants, si vous ne le dรฉfinissez pas explicitement. | ||
| Entier | minutes | 60 | Intervalle de temps sur lequel on conserve les mesures de performance de la boucle principale du module. | ||
| Entier | minutes | 60 | Intervalle de temps sur lequel on conserve les mesures de temps des requรชtes traitรฉes. | ||
| Entier | heures | 24 | Nombre d'heures pendant lesquelles on conserve le nombre de requรชtes par secondes. |
Sous modules
| Code Block | ||||
|---|---|---|---|---|
| ||||
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ #
# โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 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-event-manager-reader ( allowing to query events from โโโ
# event container ) โโโ
# ... : livedata-module-sla-provider ( allowing to query SLA of elements ) โโโ
# โโโ
# modules
|
L'API REST V2 peut รชtre enrichie via l'utilisation des sous modules du broker-module-livedata
Pour activer un sous module, il faut ajouter son nom dans le paramรจtreย modules :
| Nom | Type | Unitรฉ | Dรฉfaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | --- | Liste de noms de sous modules, sรฉparรฉs par des virgules. Par dรฉfaut, aucun sous module n'est activรฉ |
Voici la liste des modules actuellement disponibles, pouvant s'attacher au module broker-module-livedata ( voir Module broker-module-livedata )
| Type de module | Configuration | Documentation | Description | ||
|---|---|---|---|---|---|
| Module livedata-module-sla-provider | V2 - ( READ ) /api/v2/sla -- OPTIONNEL -- | Ajoute la possibilitรฉ de rรฉcupรฉrer les donnรฉes SLAs. |
Vรฉrification du bon fonctionnement ( est ce que vous avez accรจs aux APIs )
Tester l'API V1
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
{"response": "pong"} |
Si la rรฉponse attendue n'arrive pas, contrรดler les autorisation d'accรจs du firewall
Tester l'API V2
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/v2/ping |
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
{"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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
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 |