| Table of Contents |
|---|
Import des modules depuis /var/lib/shinken/modules - chapitre [ MODULE-CODE-LOADING ]
Les démons vont lister les répertoires dans /var/lib/shinken/modules et vont tenter de charger chaque module.
Chargement du code des modules:
Ce log annonce que le démon va commencer à charger ces modules un par un.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:36] INFO : [broker-master ] [ modules-manager ] [ MODULE-CODE-LOADING ] [directory=architecture-export ] Starting to load the module code directory /var/lib/shinken/modules/architecture-export. |
Ensuite démon va tenter de charger le code du module.
Si le démon n'arrive pas à charger le code du module un log en ERROR sera affiché:
Code Block theme Emacs [2020-07-08 16:31:38] ERROR : [broker-master ] [ modules-manager ] [ MODULE-CODE-LOADING ] [directory=architecture-export] Failed to load the directory [architecture-export] as a python module.
Si le démon ne trouve pas de fichier module.py un log en ERROR sera affiché avec le PATH du fichier:
Code Block theme Emacs [2020-07-08 16:31:38] ERROR : [broker-master ] [ modules-manager ] [ MODULE-CODE-LOADING ] [directory=architecture-export] - because of missing file :[PATH_DU_FICHIER].
Si il manque le dictionnaire Python listant les propriétés du module dans module.py un log en ERROR sera affiché:
Code Block theme Emacs [2020-07-08 16:31:38] ERROR : [broker-master ] [ modules-manager ] [ MODULE-CODE-LOADING ] [directory=architecture-export] Bad module file for FILE_NAME : missing properties dict.
Si le démon à eu une exception Pyhton durant l'import le chargement du code du module un log en ERROR sera affiché avec l'exception.
Code Block theme Emacs [2020-07-08 16:31:38] ERROR : [broker-master ] [ modules-manager ] [ MODULE-CODE-LOADING ] [directory=architecture-export] Importing module architecture-export: EXCEPTION.
Si le code du module chargé contient un import alors un log en WARNING sera affiché.
Code Block theme Emacs [2020-07-08 16:31:38] WARNING : [ broker-master ] [ modules-manager ] [ MODULE-CODE-LOADING ] [directory=architecture-export] - 'import architecture-export.my_file' will not work in your module.py file.
Une fois les modules chargé il y a un résumé qui est affiché avec les modules éligibles à ce démon/module:
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-CODE-LOADING ] A total of 9 Shinken Enterprise modules are available for this daemon/module (broker): broker-module-livedata, event-container, graphite-perfdata, livestatus, simple-log, sla, trending, webui, MODULE-CODE-NAME (on a total of 40, loaded in 1.844s) |
Création du module - chapitre [ MODULE-INSTANCE-CREATION
- Création des instances de modules]
Une fois le code python chargé, on demande au démon de créer des instances pour les modules ( les vrais objets ), de les démarrer et de les démarrer son ou ces Worker(s).
Log INFO:
Création de l'instance du module
a été créée. Le temps de création de:
Le démon va essayer de créer l'instance
est affichédu module.
Si le code du module ne contient pas la fonction "get_instance()" ou qu'elle ne retourne rien un log en ERROR sera affiché:
Code Block theme Emacs [2020-07-08 16:31:38]
ERROR : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ]
FAIL The module get_instance
() call did not return any instance.Si le démon a réussi à charger le code du module mais n'a pas réussi à créer l'instance alors un log en ERROR sera affiché avec l'exception Python concerné:
Code Block theme Emacs [2020-07-08 16:31:38]
ERROR : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ]
L'instance a réussi à se démarrer.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [MODULE-INSTANCE-CREATION] [module type=webui ] [name=WebUI ] SUCCESS The module is started. |
[0.046s] FAIL The module creation did fail with an exception: EXCEPTION. Remove this module currently, will try to recreate it in the future.
Si l'instance à bien été créée alors un log en INFO sera affiché son temps de création.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] [0.046s] Starting a worker(s). |
SUCCESS The module instance is created. |
Démarrage de l'instance du module:
Une fois l'instance créée le démon va essayer de la démarrer.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] SUCCESSTrying The worker(s) is created. |
Log WARNING:
to init module. |
Si le démon a réussi à créer son n'instance mais n'a pas réussi à démarrer cette même instance alors 3 logs apparaîtrons:
Un log en ERROR expliquant que l'instance du module n'a pas réussi à ce démarrer suivant du message de l'exception Python puis de l'exception en question.
Code Block theme Emacs [2020-07-08 16:31:38]
ERROR : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] The module
failed to
init and he raised an exception: EXCEPTION.Un log en WARNING indiquant le nombre de fois que le démon à essayer de démarrer cette instance sans succès. Le compteur se remet à zéro des lors que le démo à réussi à démarrer l'instance.
Code Block theme Emacs [2020-07-08 16:31:38] WARNING : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] The module
tried to
Le module n'a pas réussi à se démarrer . Une exception Python à été trouvé pendant le démarrage du module.
start:
Log ERROR:
5 times.Un log en WARNING indiquant quand est-ce que le démon va essayer de redémarrer l'instance (Maximum une minute).
Code Block theme
Emacs [2020-07-08 16:31:38]
WARNING : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] The module will
try to
restart
at 16:32:18.
Un log en INFO apparaîtra si le démon a réussi à démarrer l'instance du module.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] ERRORINFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] SUCCESS The workermodule is started. |
Démarrage du/des Wroker(s)
failed to init.de l'instance du module:
Le module n'a pas réussi à démarrer son ou ses Worker(s) et une se démarrer . Une exception Python à été trouvé pendant le démarrage du ou des Worker(s).module.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] ERRORINFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] Starting Thea worker(s) failed to init and he raised an exception: EXCEPTION. |
La création de l'instance du module à échoué. Une exception Python à été trouvé pendant la création de l'instance. Le module sera re-créée dans le futur (Max: 1 minute).
. |
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] SUCCESS The worker(s) is created. |
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 | ||
| Code Block | ||
| ||
[2020-07-08 16:31:38] ERRORINFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] [0.046s] FAIL SUCCESS The module creation did fail with an exception: EXCEPTION. Remove this module currently, will try to recreate it in the future.worker(s) is created. |
Le module n'a pas réussi à démarrer son ou ses Worker(s).
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] ERROR : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] The worker(s) failed to init. |
Le module n'a pas réussi à démarrer son ou ses Worker(s) et une exception Python à été trouvé pendant le démarrage du ou des Worker(s)La création de l'instance du module à échoué. La fonction get_instance() du module n'a rien retourné.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] ERROR : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] FAIL The module get_instanceworker(s) callfailed didto not return any instance. |
Log DEBUG:
init and he raised an exception: EXCEPTION. |
La création de l'instance du module à échoué. Une exception Python à été trouvé pendant Commencement de la création de l'instance du module.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] DEBUG : [broker-master ] [ modules-manager ] [MODULE-INSTANCE-CREATION] [module type=webui ] [name=WebUI ] Start to create the module instance |
Le module n'est pas encore prêt à se démarrer. Il a essayé de se démarrer dans le passé sans succès il faut donc maintenant attendre un certain laps de temps (Max: 1 minute) avant qu'il soit prêt à se redémarrer.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:38] DEBUG : [broker-master ] [ modules-manager ] [MODULE-INSTANCE-CREATION] [module type=webui ] [name=WebUI ] The module is not ready to start. |
Le module n'est pas encore prêt à se démarrer. La création du module à été évitée.
. Le module sera re-créée dans le futur (Max: 1 minute).
La création de l'instance du module à échoué. La fonction get_instance() du module n'a rien retourné
| theme | Emacs |
|---|
.
MODULE-CHANGE - Changement de configuration ou d'état du module.
Log INFO:
Une fois les instances créées, on leur demande de se préparer ( ouvrir leurs connexions, lancer les processus pour les modules externes ou avec des workers, etc ).
Ceci sera de l'ordre de la seconde pour le cas des modules avec workers ( il faut créer les queues de connexions, lancer les processus et le manager de queue, etc ).
Quand l'initialisation est finie, un log INFO est affiché.
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] INFO : [broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [name=WebUI] Configuration of the module did change so we restart it. |
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] INFO : [broker-master ] [ modules-manager ] [MODULE-CHANGE ] [name=WebUI] Removing the module because it is remove from the configuration. |
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] INFO : [broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [name=WebUI] Launching a new module as it was added in the daemon configuration. |
Log WARNING:
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] WARNING : [broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [name=WebUI] Trying to remove the module %s but it is not found in the current instances: INSTANCES |
Log ERROR:
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] ERROR : [broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [name=WebUI] Cannot find previous or new module definition for the module name WebUI, so cannot update it. |
Log DEBUG:
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] DEBUG : [ broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [name=WebUI] The module did change its configuration. We restart it to take the new configuration. |
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] DEBUG : [ broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [module type=webui ] [name=WebUI] Ask stop process. |
| Code Block | ||
|---|---|---|
| ||
[2020-07-08 16:31:39] DEBUG : [ broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [module type=webui ] [name=WebUI] Stop process done. |
Rajout d'un nouveau module dans un démon
Suppression d'un module dans un démon
Quand un module est enlevé de la configuration d'un démon, celui-ci l'affichera avec une entrée MODULES-CHANGE en INFO comme quoi le module est stopped:
Changement de configuration d'un module (et sa relance)
Quand la configuration d'un module change (ou la configuration d'un de ses sous-modules) alors le module est redémarré (et ses processus redémarrés si besoin). Ceci est loggué avec une entrée MODULES-CHANGE en INFO comme quoi le module est restarted: