Versions Compared

Key

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

Import du code des modules depuis /var/lib/shinken/modules

Les démons vont lister les répertoires dans /var/lib/shinken/modules et vont tenter de charger chaque module.


Ceci va créer une entrée DEBUG:

Logs INFO

Queue manager

Démarrage d'un processus permettant un démon de communiquer avec un module externe.

Code Block
themeEmacs
[YYYY2020-MM07-DD08 HH16:MM31:SS36] INFODEBUG : [ DEMON_NAME ] [MODULES      ] [ MODULE_NAME ] Creating a queue manager process for the module.
Arrêt d'un processus permettant un démon de communiquer avec un module externe.
broker-master ] [modules-manager ] [MODULE-CODE-LOADING] [directory=architecture-export ] Starting to load the module code directory /var/lib/shinken/modules/architecture-export.

Quand l'import est effectué, on aura une ligne en DEBUG:

Code Block
themeEmacs
[2020-07-08 16:31:36] DEBUG : [broker-master ] [modules-manager ] [MODULE-CODE-LOADING] [directory=architecture-export ] [0.021s] Module code was loaded. Did import 10 python new librairies (PIL,PIL.Image,PIL.ImageMode,PIL._binary,_imaging,architecture-export,architecture-export.mapper,shinken.webui.bottlewebui,shinken.webui.bottlewebui.ext,shinken.webui.cherrypybackend).

Ceci donne le temps de chargement, mais également les nouvelles librairies importées.


À la fin des chargements, il y a un résumé en INFO qui est affiché:

Code Block
themeEmacs
[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)

Les modules éligibles à ce démon/module sont listés.


Création des instances de modules

Une fois le code python chargé, on lui demande de créer des instances pour les modules ( les vrais objets ):

Code Block
themeEmacs
[YYYY2020-MM07-DD08 HH16:MM31:SS38] INFODEBUG : [ DEMON_NAMEbroker-master ] [modules-manager ] [MODULE-INSTANCE-CREATION] [module type=webui ] [MODULESname=WebUI ] Start to create the module instance


Une fois créé, on a un log en INFO concernant le temps que ça a pris.

Code Block
themeEmacs
[2020-07-08 16:31:38] INFO : [broker-master ] MODULE_NAME ] The queue manager process is now stopped.

Initialisation d'un module

[modules-manager ] [MODULE-INSTANCE-CREATION] [module type=webui ] [name=WebUI ] [0.046s] SUCCESS The module instance is created.



Initialisation des instances de modules

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 )

Le démon essaye de démarrer son module

.


Code Block
themeEmacs
[YYYY2020-MM07-DD08 HH16:MM31:SS38] INFO : [broker-master ] [ DEMON_NAME modules-manager ] [MODULE-INSTANCE-CREATION] [MODULES      ] [ MODULE_NAME ] Trying to init module.

Logs WARNING

Redémarrage d'un module 

WebUI ] Trying to initialize module by calling it's init method.

Quand l'initialisation est finie, un log INFO est affiché.

Code Block
themeEmacs
[2020-07-08 16:31:39] INFO : [broker-master ] [modules-manager ] [MODULE-INSTANCE-CREATION] [WebUI ] [0.801s] SUCCESS The module was initialized successfully.



Rajout d'un nouveau module dans un démon

Lorsqu'un démon reçoit un nouveau module, on va avoir une entrée MODULES-CHANGE en INFO comme quoi le module est started:

Nombre de fois où le démon a essayé de redémarrer le module sans succès.


Code Block
themeEmacs
[YYYY2020-MM07-DD09 HH13:MM29:SS58] WARNINGINFO : [ DEMON_NAMEbroker-master ] [modules-manager ] [MODULES-CHANGE ] Modules did changed:
[2020-07-09 13:29:58] INFO : [broker-master ] [ MODULE_NAMEmodules-manager ] [MODULES-CHANGE ] The module tried to start: X times.
Date à laquelle le démon va essayer de redemander le module.
 - WebUI -> started (new)

[2020-07-09 13:29:58] INFO : [broker-master ] [modules-manager ] [MODULES-CHANGE ] - sla -> started (new)


À noter que les sous-modules d'un module seront eux affichés en DEBUG:

Code Block
themeEmacs
[YYYY2020-MM07-DD09 HH13:MM29:SS58] INFO WARNING: [ DEMON_NAMEbroker-master ] [modules-manager ] [MODULES-CHANGE ] - WebUI -> started (new)
[2020-07-09 13:29:58] DEBUG : [broker-master ] [modules-manager ] [ MODULE_NAME ] The module will try to restart at HH:MM:SS.

Logs ERROR

Le module n'a pas réussi à se démarrer 

MODULES-CHANGE ] * Cfg_password
[2020-07-09 13:29:58] DEBUG : [broker-master ] [modules-manager ] [MODULES-CHANGE ] * sla


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:

Le module n'a pas réussi à se démarrer et il a remonté une erreur.

Code Block
themeEmacs
[YYYY2020-MM07-DD09 HH13:MM57:SS31] INFO WARNING: [ DEMON_NAMEbroker-master ] [modules-manager ] [MODULES-CHANGE ] Modules did changed:
[2020-07-09 13:57:31] INFO : [broker-master ] [ MODULE_NAMEmodules-manager ] [MODULES-CHANGE ] The module failed to init and he raised an exception: EXCEPTION.- Livestatus -> stopped (removed)


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:

Code Block
themeEmacs
[2020-07-09 13:51:49] INFO : [broker-master ] [modules-manager ] [MODULES-CHANGE ] Modules did changed:
[2020-07-09 13:51:49] INFO : [broker-master ] [modules-manager ] [MODULES-CHANGE ] - Livestatus -> restarted (configuration change)