...
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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 theme Emacs [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 theme Emacs [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 theme Emacs [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.
| Code Block | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 ) |
...