Phases lors du chargement des modules

Le chargement des modules se fait en plusieurs phases:

  • import du code des modules depuis le répertoire /var/lib/shinken/modules
    • ATTENTION: actuellement TOUS les répertoires/modules sont chargés, ceci implique une consommation mémoire importante pour les démons (30Mo consommés par processus)
  • on identifie suivant les module_type quels auprès de quels code on va demander des instances de modules
    • on créé ensuite les instances de module (appel get_instance() sur les modules)
  • on demande aux instances de s'initialiser (typiquement créer ses connections ou charger des fichiers), via l'appel init() des modules

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



[2020-07-08 16:31:36] DEBUG : [broker-master ] [modules-manager ] [MODULE-CODE-LOADING] [directory=architecture-export ] Starting to load the module code directory /var/lib/shinken/modules/architecture-export.

[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).


[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-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 des instances de modules


Initialisation des instances de modules