| Scroll Ignore | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Concept
Lorsqu'un utilisateur fait une demande de rapport SLA
dans l'Interface de Visualisation
, la
génération peut avoir un
impact non négligeable sur le fonctionnement de l'Interface de Visualisation.
- Une demande de rapport ( suivant les critères choisis ) peut nécessiter la récupération d'une grosse quantité de données :
- Le traitement de ces données peut avoir un coût CPU élevé,
- ainsi qu'un surcoût de consommation mémoire nécessaire à la récupération des informations brutes et pour la génération du rapport en lui-même.
- Cela peut avoir comme effet :
- de bloquer ou ralentir l'interface, qui
- met du temps à répondre aux autres utilisateurs,
- et
- de
- pénaliser les autres programmes qui s'exécutent sur le même système
- , s'ils ont besoin de RAM au moment de la génération du rapport.
Le fait de déporter la génération des rapports sur le module "
Pour permettre de gérer au mieux ce coût en ressources et pour garder une Interface de Visualisation réactive, il est possible de configurer un ( ou plusieurs ) modules broker__module_report_builder
- Ce module peut être attaché au Broker pour décharger l'Interface de Visualisation,
- et il est même possible d'installer ces modules sur un Broker distant pour soulager le système.
( voir la page Partage de charge lors de la génération des rapports SLA depuis le module WebUI )
Activation du module
Le module broker--module-report-builder peut uniquement être activé sur un démon de type Broker." permet :
- de consommer les ressources d'autres CPUs que celui de la WebUI ( Broker 1 ),
- mais aussi, de donner la possibilité de générer les rapports sur une autre machine, avec un Broker portant un ou plusieurs
"L'activation du module s'effectue en ajoutant le nom de ce module dans le fichier de configuration du Broker. - Ouvrir le fichier de configuration du Broker à l'emplacement /etc/shinken/brokers/nom_du_broker.cfg,
- trouver la ligne du paramètre "modules" et ajouter le nom du module "
broker--module-report-builder".| Code Block | ||||
|---|---|---|---|---|
| ||||
define broker {
[...]
modules Module 1, Module 2, Module 3, broker--module-report-builder
[...]
} |
Redémarrer l'Arbiter pour prendre en compte le changement de configuration
| Code Block | ||||
|---|---|---|---|---|
| ||||
service shinken-arbiter restart |
Configuration
Exemple de fichier de configuration
- dans ce cas, les resources CPU et RAM nécessaire à la génération des rapports ne surcharge plus le serveur hébergeant la WebUI ( Broker 2 ).
( voir la pageRépartition de charge lors de la génération des rapports SLA depuis le module WebUI )
Activation du module
Les modules de type "broker__module_report_builder" sont des modules qui doivent être activés sur un démon de type "broker" qu'on appellera le démon.
- L'activation du module s'effectue en ajoutant le nom du module dans la configuration du démon.
- Pour cela, il faut ouvrir le fichier de configuration du démon ( de type "
broker"), et ajouter dans le paramètre modules, le nom du module de type"broker__module_report_builder".
- Pour cela, il faut ouvrir le fichier de configuration du démon ( de type "
- Il est possible de faire plusieurs modules de type
"broker__module_report_builder".- Cela permet, par exemple, d'avoir des configurations différentes en fonction des royaumes.
- Cela permet, par exemple, d'avoir des configurations différentes en fonction des royaumes.
- Contraintes :
- Activable uniquement sur un démon de type
"broker"( voir la page Le Broker ). - Il est possible d'activer plusieur module de type
"broker__module_report_builder"sur un démon de type"broker".- Cependant il faudra vérifier qu'il y a asser de ressource ( RAM et CPU ) sur la machine pour générer les rapports.
- Activable uniquement sur un démon de type
Pour prendre en compte le changement de configuration, il faut redémarrer l'Arbiter :
| Excerpt Include | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Exemple d'activation du module nommé "broker--module-report-builder" sur le démon nommé "broker-master" ( configuration livrée par défaut par Shinken )
L'exemple suivant
- active le module
"broker--module-report-builder", - sur le démon
"broker-master",dont la configuration est dans le fichier /etc/shinken/brokers/broker-master.cfg.
Modification dans le fichier du module /etc/shinken/brokers/broker-master.cfg :
| Code Block | ||||
|---|---|---|---|---|
| ||||
define broker {
[...]
modules Module 1, Module 2, Module 3, broker--module-report-builder
[...]
} |
Puis redémarrage de l'Arbiter
| Excerpt Include | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Créer un nouveau module de type broker__module_report_builder
Pour pouvoir configurer un module de type "broker__module_report_builder", il faut faire un nouveau fichier de configuration grâce au fichier d'exemple fourni par défaut.
- Pour commencer, il faut choisir le nom du nouveau module.
- Pour l'exemple, on l'appelle "
Mon-Module-Report-Builder". - Remplacer dans l'exemple le mot "
Mon-Module-Report-Builder" par le nom qui a été choisi.
- Pour l'exemple, on l'appelle "
- Puis il faut créer le fichier de configuration :
Copier le fichier de définition du module d'exemple : /etc/shinken-user-example/configuration/daemons/brokers/modules/broker__module_report_builder/broker--module-report-builder-example.cfg dans le répertoire de définition des modules /etc/shinken/modules/ .
( Exemple : /etc/shinken/modules/broker--module-report-builder__Mon-Module-Report-Builder.cfg )
Scroll Title title Code Block language text theme Emacs cp /etc/shinken-user-example/configuration/daemons/brokers/modules/broker__module_report_builder/broker--module-report-builder-example.cfg /etc/shinken/modules/broker--module-report-builder__Mon-Module-Report-Builder.cfg
- Ensuite, il faut modifier le fichier nouvellement créé pour configurer le nouveau module.
Il faut vérifier que le fichier appartienne à l'utilisateur shinken et qu'il possède le droit d'édition. Si ce n'est pas le cas, il faut effectuer les commandes suivantes :
Code Block language text theme Emacs chown -R shinken:shinken /etc/shinken/modules/broker--module-report-builder__Mon-Module-Report-Builder.cfg chmod u+w /etc/shinken/modules/broker--module-report-builder__Mon-Module-Report-Builder.cfgOn change le nom du module en
"Mon-Module-Report-Builder"dans le fichier /etc/shinken/modules/broker--module-report-builder__Mon-Module-Report-Builder.cfgCode Block language js theme Confluence ... # ─── Module name [ Must be unique ]
| language | js |
|---|---|
| theme | Confluence |
[ MANDATORY ] ─── # ───
───
module_name
Mon-Module-Report-Builder ...
Ensuite, il faut ajouter le nouveau module dans le démon de type
"broker"correspondant.Dans notre exemple, on ajoute le module
"Mon-Module-Report-Builder"au démon"broker-master"définie dans le fichier /etc/shinken/brokers/broker-master.cfgCode Block language js theme Confluence define module { [...] modules Module 1, Module 2, Module 3, Mon-Module-Report-Builder [...] }
Puis pour finir, il faut redémarrer 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 ) page DefaultLink[destination=Optional[PageResourceIdentifier[spaceKey=<null>,title=Fichier de configuration ( shinken.cfg )]],body=Optional.empty,tooltip=Optional.empty,anchor=Optional.empty,target=Optional.empty] nopanel true
Configuration
La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/broker--module-report-builder.cfg
- Un exemple de configuration est également disponible dans /etc/shinken-user-example/configuration/daemons/brokers/modules/broker__module_report_builder/broker--module-report-builder-example.cfg
Exemple de fichier de configuration
| Code Block | ||||
|---|---|---|---|---|
| ||||
# CFG_FORMAT_VERSION 1 ( SHINKEN : DON'T TOUCH THIS LINE ) #================================================================================ # broker--module-report-builder #================================================================================ # Daemon that can load this module: # - broker # This module is used to generate reports on Broker #================================================================================ define module { ─── # ─── # Default : 0.0.0.0 ( all interfaces ) ─── # ─── ─── # broker__module_report_builder__listening_address 0.0.0.0 # ───┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ Port# to listen to # │ ────────────────────────────────────── MODULE IDENTITY ────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Module name [ Must be unique ] ─── # [ MANDATORY ] ─── # ─── ─── # ─── module_name Default : 24100 broker--module-report-builder # ─── Module type [ Do not edit ] ─── # ─── [ MANDATORY ] ─── # ─── ─── # broker__module_report_builder__listening_port 24100 # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ───────────────────────────────────── HTTPS─── PARAMETERS module_type ────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Enable this parameter if you want to receive requests in HTTPs mode broker__module_report_builder # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ─────────────────────────────────── ─── LISTENING PARAMETERS # ──────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── IP address to listen to ─── # Default : 0 => Disable ─── # ... ─── : 1# => Enable Default : 0.0.0.0 ( all interfaces ) ─── # ─── ─── # broker__module_report_builder__uselistening_ssladdress 0.0.0.0 # ─── CertificatePort to filelisten to ─── # ─── # Default : /etc/shinken/certs/server.cert 24100 ─── # ─── ─── # broker__module_report_builder__ssllistening_certport 24100 # /etc/shinken/certs/server.cert ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # ───│ Key───────────────────────────────────── file HTTPS PARAMETERS ────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Enable this parameter if you want to receive requests in HTTPs mode ─── # ─── # ─── # Default : 0 => Disable ─── # Default : /etc/shinken/certs/server.key ─── # ─── # ─── ... : 1 => Enable ─── # ─── ─── # broker__module_report_builder__ssl_key /etc/shinken/certs/server.key # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────────── AUTHENTICATION ─────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Token used to authenticate on this module ─── # broker__module_report_builder__use_ssl ───0 # ─── Certificate file ─── # ─── # Default : change_me ─── # ─── Default : /etc/shinken/certs/server.cert ─── # ─── ─── # broker__module_report_builder__token change_me # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────────────── MODULES ────────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── This parameter defines the name of SLA module to use for report generation ─── # broker__module_report_builder__ssl_cert ───/etc/shinken/certs/server.cert # ─── Key file ─── # ─── # ... : sla => [mandatory] read sla from this module definition ─── # ─── ─── # Default : /etc/shinken/certs/server.key ─── modules ─── # ─── sla # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ──────────────────────────────────────── STATISTICS ───────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Ranges definition for the performance check ─── # broker__module_report_builder__ssl_key /etc/shinken/certs/server.key # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────────── ─── AUTHENTICATION # ─────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Token used to authenticate on this module ─── # ─── # Default : 5,10,20,30,60,120,300,600 ( seconds ) ─── # ─── ─── # Default : change_me ─── # broker__module_report_builder__exec_stats_ranges─── 5,10,20,30,60,120,300,600 # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────── BROKS GETTER PARAMETERS ────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── These parameters allow some internal tuning in broks management in this module ─── # ─── Late broks sets catchup ─── # broker__module_report_builder__token change_me # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────────────── MODULES ────────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── This parameter defines the name ─── of SLA module to #use for report generation ─── # ─── # ... : 0 => Disable ─── # ... : report-builder--module-sla-reader => [mandatory] read sla from ─── # ─── # Default : 1 => Enable this module definition ─── # ─── ─── # ─── ─── modules ─── # broker__module_report_builder__broks_getter__activate_late_set_catchup 1 # ─── Take extra broks sets to manage if more than this parameter sets are waiting report-builder--module-sla-reader # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ──────────────────────────────────────── STATISTICS ─── ───────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Ranges definition for the check "Broker - $KEY$ - Module Report Builder - Performance" ─── # ─── Example: ─── # Default : 10 ─── # ─── - Reports written in less than 5 seconds will be classified in the first category. ─── # ─── - Those made in less than 10 seconds will be in the second. ─── # ─── ─── # ─── - etc. ─── # broker__module_report_builder__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 5,10,20,30,60,120,300,600 ( seconds ) ─── # ─── ─── # ─── ─── # broker__module_report_builder__exec_stats_ranges 5,10,20,30,60,120,300,600 # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────── BROKS GETTER PARAMETERS ────────────────────────────────── │ ───# # broker__module_report_builder__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000└─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── These Continueparameters catchupallow ifsome toointernal manytuning latein broks setsmanagement remainsin afterthis module ─── # ─── Late broks sets catchup ─── # ─── # ─── # ... : 0 => ─── # ... : 0 => Disable ─── # Default : 1 => Enable ─── # ─── ─── # broker__module_report_builder__broks_getter__catchup_run_endless_until_nb_activate_late_set_allowed_reachedcatchup 1 # ─── Take theextra lock as soon as getter thread has some broks broks sets to manage if more than this parameter sets are waiting ─── # ─── # Default : 010 => Disable ─── # ─── # ─── ... : 1 => Enable ─── # ─── ─── # broker__module_report_builder__broks_getter__nb_late_set_allowed_before_catchup 10 # ─── Stop taking extra broks sets in catchup when we reach this number of broks ─── # ─── # broker__module_report_builder__broks_getter__include_deserialisation_and_catchup_in_lock 0 } |
Détails des sections composant le fichier de configuration
Identification du module
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────────── MODULE IDENTITY ────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Module name [ Must be unique ] ─── # Default : 200000 [ MANDATORY ] ─── # ─── ─── # ─── ─── module_name broker--module-report-builder # ─── Module type [ Do not edit ] ─── # broker__module_report_builder__broks_getter__catchup_broks_managed_by_module_in_a_catchup_loop 200000 # ─── Continue catchup if too many late broks sets remains after [ MANDATORY ] ─── # ─── # ─── module_type ─── # ... : 0 => Disable broker__module_report_builder |
Il est possible de définir plusieurs instances de module de type "broker--module-report-builder" dans une architecture Shinken.
- Chaque instance devra avoir un nom unique.
| anchor | parameter_cfg |
|---|
| No Format |
|---|
module_name |
Il est conseillé de choisir un nom en fonction de l'utilisation qui va être faite du module pour que la configuration soit plus simple à maintenir.
Doit être unique.
| No Format |
|---|
module_type |
Paramètres réseau
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ─────────────────────────────────── LISTENING PARAMETERS ──────────────────────────────────── │ # ─── # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── IP address to listenDefault to: 1 => Enable ─── # ─── ─── # broker__module_report_builder__broks_getter__catchup_run_endless_until_nb_late_set_allowed_reached 1 # ─── Take the lock Defaultas : 0.0.0.0 ( all interfaces ) soon as getter thread has some broks to manage ─── # ─── ─── # broker__module_report_builder__listening_address 0.0.0.0 ─── # ─── Port to listen to Default : 0 => Disable ─── # ... : 1 => Enable ─── # ─── ─── # Default : 24100 ─── # ─── broker__module_report_builder__broks_getter__include_deserialisation_and_catchup_in_lock 0 } |
Détails des sections composant le fichier de configuration
Identification du module
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────────── MODULE IDENTITY ────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Module name [ Must be unique ] [ MANDATORY ] ─── # broker__module_report_builder__listening_port ─── 24100 | ||||||
| Scroll Title | ||||||
| ||||||
| Nom | Type | Unité | Défaut | Commentaire | ||
| Texte | --- | 0.0.0.0 | Ce paramètre précise sur quelle interface réseau le module va se mettre en écoute pour recevoir des requêtes à traiter. Les valeurs possibles sont :
| ||
| Entier | --- | 24100 | Port d'écoute utilisé par le module pour attendre des requêtes. |
Autorisation dans le pare feu
Si le module doit répondre à des requêtes provenant du réseau, et que le système sur lequel s'exécute le Broker dispose d'un pare feu, il faudra autoriser le trafic entrant sur le port d'écoute configuré.
Par exemple, si firewalld est actif sur le serveur sur lequel s'exécute le Broker les commandes suivantes peuvent être utilisée pour autoriser le trafic entrant sur le port 24100 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
firewall-cmd --add-port=24100/tcp
firewall-cmd --runtime-to-permanent |
───
module_name broker--module-report-builder
# ─── Module type [ Do not edit ] [ MANDATORY ] ───
# ─── ───
module_type broker__module_report_builder |
Il est possible de définir plusieurs instances de module de type "broker--module-report-builder" dans une architecture Shinken.
- Chaque instance devra avoir un nom unique.
| Scroll Title | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
|
Paramètres
Chiffrement des échangesréseau
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ──────────────────────────────────────────────────────────────────────── HTTPSLISTENING PARAMETERS ────────────────────────────────────────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── EnableIP thisaddress parameterto iflisten youto want to receive requests in HTTPs mode ─── # ─── # ─── # Default : 0 => Disable ─── # Default : 0.0.0.0 ( all interfaces ) ─── # ... : 1 => Enable ─── # ─── ─── # ─── ─── # broker__module_report_builder__listening_address 0.0.0.0 # ─── Port to listen to ─── # broker__module_report_builder__use_ssl 0 # ─── Certificate file ─── # ─── # ─── # Default : 24100 ─── # Default : /etc/shinken/certs/server.cert─── # ─── ─── # ─── ─── # broker__module_report_builder__listening_port ─── # broker__module_report_builder__ssl_cert /etc/shinken/certs/server.cert24100 |
| Scroll Title | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
|
Autorisation dans le pare feu
Si le module doit répondre à des requêtes provenant du réseau, et que le système sur lequel s'exécute le Broker dispose d'un pare feu, il faudra autoriser le trafic entrant sur le port d'écoute configuré.
Par exemple, si firewalld est actif sur le serveur sur lequel s'exécute le Broker les commandes suivantes peuvent être utilisée pour autoriser le trafic entrant sur le port 24100 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
firewall-cmd --add-port=24100/tcp
firewall-cmd --runtime-to-permanent |
Chiffrement des échanges réseau
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ───────────────────────────────────── HTTPS PARAMETERS ────────────────────────────────────── │ #
# └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Enable this parameter if you want to receive requests in HTTPs mode ───
# ───
# Default : 0 => Disable ───
# ... : 1 => Enable ───
# ─── ───
# broker__module_report_builder__use_ssl 0
# ─── Certificate file ───
# ───
# Default : /etc/shinken/certs/server.cert ───
# ─── ───
# broker__module_report_builder__ssl_cert /etc/shinken/certs/server.cert
# ─── Key file ───
# ───
# Default : /etc/shinken/certs/server.key ───
# ─── ───
# broker__module_report_builder__ssl_key /etc/shinken/certs/server.key
|
| Scroll Title | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
|
Paramètre d'identification
Afin de sécuriser l'utilisation du module, un jeton d'identification est nécessaire et il doit être fourni avec chaque requête.
Ce jeton est défini via le paramètre suivant :
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ────────────────────────────────────── AUTHENTICATION ─────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── KeyToken fileused to authenticate on this module ─── # ─── # ─── # Default : change_me ─── # Default : /etc/shinken/certs/server.key ─── # ─── ─── # broker__module_report_builder__ssl_keytoken /etc/shinken/certs/server.key change_me |
| Scroll Title | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
Booléen | --- | 0 | Chiffrer les échanges en utilisant le protocole https au lieu de http ( 1 pour activer, 0 pour désactiver ) No Format |
/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. | |
Paramètre d'identification
|
Modules
Cette section permet de définir quel module SLA utiliser pour la génération des rapports.
Afin de sécuriser l'utilisation du module, un jeton d'identification est nécessaire et il doit être fourni avec chaque requête.
Ce jeton est défini via le paramètre suivant :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ──────────────────────────────────────────────────────────────────────────────── AUTHENTICATIONMODULES ───────────────────────────────────────────────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── This Tokenparameter useddefines tothe authenticatename onof thisSLA module to use for report generation ─── # ─── # ─── # ... : report-builder--module-sla-reader ─── # Default : change_me=> [mandatory] read sla from ─── # ─── # ─── this module definition ─── # ─── ─── # broker__module_report_builder__token change_me | ||||||
| Scroll Title | ||||||
| ||||||
| Nom | Type | Unité | Défaut | Commentaire | ||
| Texte | --- | change_me | Chaîne de texte utilisée pour chaque requête au module |
Modules
Cette section permet de définir quel module SLA utiliser pour la génération des rapports.
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ───────────────────────────────────────────── MODULESmodules ────────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── This parameter defines the name of SLA module to use for report generation report-builder--module-sla-reader |
| Scroll Title | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
Statistiques ( pour la supervision )
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ ───# # │ ──────────────────────────────────────── STATISTICS ───────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # ─── # ... : sla => [mandatory] read sla from this module definition # ─── Ranges definition for the check "Broker - $KEY$ - Module Report Builder - Performance" ─── # ─── Example: ─── # ─── ─── # ─── - Reports written in less than 5 seconds will be classified in the first category. ─── # modules─── - Those made in less than 10 seconds will be in the second. sla | ||||||
| Scroll Title | ||||||
| ||||||
| Nom | Type | Unité | Défaut | Commentaire | ||
| Texte | --- | sla | Nom du module SLA à utiliser pour la génération des rapports.
|
Statistiques ( pour la supervision )
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ #─── # │ ──────────────────────────────────────── ─── - etc. STATISTICS ───────────────────────────────────────── │ # # └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ # # ─── Ranges definition for the performance check ─── # ─── # Default : 5,10,20,30,60,120,300,600 ( seconds ) ─── # ─── ─── # broker__module_report_builder__exec_stats_ranges 5,10,20,30,60,120,300,600 |
| Scroll Title | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
Absorption des broks ( information de supervision venant des Schedulers, options internes )
| Code Block | ||||
|---|---|---|---|---|
| ||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ────────────────────────────────── BROKS GETTER PARAMETERS ────────────────────────────────── │ #
# └─────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── These parameters allow some internal tuning in broks management in this module ───
# ─── Late broks sets catchup ───
# ───
# ... : 0 => Disable ───
# Default : 1 => Enable ───
# ─── ───
# broker__module_report_builder__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_report_builder__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_report_builder__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_report_builder__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_report_builder__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 le 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 )
| Scroll Title | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
|
