Versions Compared

Key

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

...

Chargement du code

Le "modules-manager" va regarder si le fichier "module_info.json" placé dans le répertoire du module existe. S'il n'existe pas un log en WARNING sera affiché.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING : [ daemon_or_module_name  ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Missing 'module_info.json' file at the path /var/lib/shinken/modules/my_module_directory/module_info.json. The code of the module will be loaded.


Après que le "modules-manager" ait regardé si le fichier "module_info.json" existe, il va regarder si la clé "daemons" est bien présente dans le fichier. Si elle n'existe pas un log en WARNING sera affiché.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Missing 'daemons' key in the 'module_info.json' file at the path /var/lib/shinken/modules/my_module_directory/module_info.json. The code of the module will be loaded.


Si le "modules-manager" n'a pas réussi à lire le fichier à cause d'un problème de formatage, un log en WARNING sera affiché.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] The 'module_info.json' file at the path /var/lib/shinken/modules/my_module_directory/module_info.json is malformed. The code of the module will be loaded.


Si le "modules-manager" n'a pas réussi à lire le fichier à cause d'un problème de permissions, un log en WARNING sera affiché.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] WARNING : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Permission denied to read file 'module_info.json' file at the path /var/lib/shinken/modules/my_module_directory/module_info.json. The code of the module will be loaded.


Le "modules-manager" annonce qu'il va commencer à charger le code de son module. Un log en INFO apparaîtra.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name  ] Starting to load the module code directory /var/lib/shinken/modules/my_module_directory.


Si le "modules-manager" trouve une exception Python durant le procédé d'import du module, un log en ERROR avec l’exception sera affiché et le module ne sera pas importé.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] ERROR : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Import module module_name failed: EXCEPTION.


À la fin la fin de l'import du code le "modules-manager" affiche un résumé de l'import dans un log en INFO.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] A total of 9 Shinken Enterprise modules are available for this daemon/module ( daemon_or_module_name ): MODULES_LIST_NAME (on a total of 40, loaded in 1.844s)


...

Lors du chargement du code, le "modules-manager" va vérifier si un module peut être importé en tant que package Python. En cas d'échec un log en INFO sera affiché.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Try to import a module code in /var/lib/shinken/modules/module_name as python module.

En cas d'échec, 2 situations sont possibles:

  • Si vous n'utilisez pas les fonctionnalités propre à un module python ( import d'un fichier local, ...  ), un log en INFO sera affiché.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=module_name ] Failed to import the directory /var/lib/shinken/modules/module_name as a python module. If it doesn't use python module feature, it won't encounter loading problems.


  • Dans le cas contraire, il se peut que l'échec de chargement du module soit lié à un problème d'import de fichier en Python. Les 3 logs en ERROR seront affichés  :

    • Le premier log indique que l'import a échoué et que le module ne sera pas chargé.

      Code Block
      themeEmacs
      [YYYY-MM-DD HH:MM:SS] ERROR : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name] Failed to import the directory /var/lib/shinken/modules/directory_name as a python module. The module won't be loaded.


    • Le second log indique que le fichier '__init__.py' dans le dossier du module est manquant ( sans ce fichier, il est impossible d'importer le module en tant que module Python ).

      Code Block
      themeEmacs
      [YYYY-MM-DD HH:MM:SS] ERROR : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name]  - because of missing file : /var/lib/shinken/modules/module_name/__init__.py.


    • Le troisième log précise quel fichier n'a pas réussi à être importé dans le code du module. Dans notre exemple, c'est le fichier module_name.my_file qui n'a pas été importé.

      Code Block
      themeEmacs
      [YYYY-MM-DD HH:MM:SS] ERROR : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name] - The line 'import module_name.my_file' The module won't work in your module.py file.


Si le "modules-manager" a réussi à importer le module en tant que "module Python", alors un log en INFO apparaîtra.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Success to import the directory /var/lib/shinken/modules/architecture-export/ as a python module.


...

Lorsqu'un démon ou un module reçoit un nouveau module, le "modules-manager" affiche un log en INFO expliquant qu'il va lancer le nouveau module.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ UPDATE ] [ module_name ] Launched as a NEW module as it was added in the configuration.


Quand le "module-manager" a fini de créer le ou les module(s) ajouté(s) dans la configuration du module ou du démon, alors un récapitulatif des actions faites sera affiché en log INFO.

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ UPDATE ] Modules did changed:
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ UPDATE ] - WebUI -> started ( new )
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ UPDATE ] - sla -> started ( new )


...