Versions Compared

Key

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

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 en INFO annonce que le démon va commencer à charger ces modules un par un.

Code Block
themeEmacs
[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
    themeEmacs
    [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
    themeEmacs
    [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
    themeEmacs
    [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
    themeEmacs
    [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
    themeEmacs
    [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é en INFO avec les modules éligibles à ce démon/module:

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)


Création du module - chapitre [ MODULE-INSTANCE-CREATION ]

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 démarrer son ou ces Worker(s).

Création de l'instance du module:

Le démon va essayer de créer l'instance 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
    themeEmacs
    [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
    themeEmacs
    [2020-07-08 16:31:38] ERROR : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] [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
themeEmacs
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] [0.046s] 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. Ce log sera en INFO.

Code Block
themeEmacs
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] Trying 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:

  1. 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
    themeEmacs
    [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.


  2. 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
    themeEmacs
    [2020-07-08 16:31:38] WARNING : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] The module tried to start: 5 times.


  3. Un log en WARNING indiquant quand est-ce que le démon va essayer de redémarrer l'instance (Maximum une minute).

    Code Block
    themeEmacs
    [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
themeEmacs
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] SUCCESS The module is started.


Démarrage du/des Worker(s) de l'instance du module

:

Une fois l'instance démarré le démon va essayer de démarrer son/ses Worker(s). Ce log sera en INFO.

Code Block
themeEmacs
[2020-07-08 16:31:38] INFO : [broker-master ] [ modules-manager ] [ MODULE-INSTANCE-CREATION ] [module type=webui ] [name=WebUI ] Starting a worker(s).

Si le démon à eu un problème de démarrage avec son/ses Wroker(s):

  1. Et qu'il a levé une exception lors du démarrage alors un log en ERROR sera affiché disant que le démon n'a pas réussi à démarrer le/les Worker(s) avec le message de l'exception.

    Code Block
    themeEmacs
    [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 and he raised an exception: EXCEPTION.


  2. Alors un log en ERROR sera affiché disant que le démon n'a pas réussi à démarrer le/les Worker(s).

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


Si le/les Worker(s) de l'instance ce sont bien démarrer alors ce log en INFO apparaîtra: 

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


MODULE-CHANGE - Changement de configuration ou d'état du module.

Log INFO:

Rajout d'un nouveau module dans un démon.

Lorsqu'un démon reçoit un nouveau module, on va avoir un log en INFO comme quoi le module à été ajouter à la configuration du démon

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
themeEmacs
[2020-07-08 16:31:39] INFO : [broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [name=WebUI] ConfigurationLaunching ofa thenew module as it didwas changeadded soin wethe restart itdaemon configuration.


Suppression d'un module dans un démon.

Lorsque qu'un utilisateur enlève un module de la configuration du démon, on va avoir un log en INFO informant que l'on supprime le module car il n'est plus dans la configuration du démon.

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

Si le démon a essayé de supprimer un module mais qu'il ne la pas trouver dans ses instances alors un log en WARNING sera affiché.

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


Changement de configuration d'un module (et sa relance).

Le démon a détecté que la configuration de son module n'est plus la même qu'avant il annonce avec un log INFO qu'il va redémarrer son module afin de prendre la nouvelle configuration en compte.

Code Block
themeEmacs
[2020-07-08 16:31:39] ERRORINFO : [broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [name=WebUI] Cannot find previous or new module definition forConfiguration of the module namedid WebUI,change so cannotwe updaterestart it.

Log DEBUG:


Le nouveau ou l'ancien module n'a pas réussi à se mettre à jour.

Le démon à trouver une nouvelle configuration venant d'un ancien ou d'un nouveau module mais il n'arrive pas à le mettre à jour. Le démon vous l'informe avec un log en ERROR

Code Block
themeEmacs
[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
themeEmacs
[2020-07-08 16:31:39] DEBUGERROR : [ broker-master ] [ modules-manager ] [ MODULE-CHANGE ] [module type=webui ] [name=WebUI] AskCannot stop process.
Code Block
themeEmacs
[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:
find previous or new module definition for the module name WebUI, so cannot update it.