Le module receiver-module-generic-endpoint est un module qui est utile pour servir de base au développement d'un module:
| Il est important de noter que seul les éléments spécifiquement sélectionné par un template d'hôte dans la configuration du receiver seront gérés par ce receiver et ses modules |
Il faut un nom pour votre module. Le nom doit respecter:
Dans cette documentation on le nommera mon_module
Le module est installé via deux actions:
Il faut donc:
| Il est important de renommer TOUTES les parties du module, si votre module a encore des classes ayant le même nom que le module generic, alors il y aura des problème d'import du code par le daemon et le résultat sera incorrect. |
Dans le code livré par défaut le nom du module est MODULE_CODE_NAME.
Pour que le module s'active il faut:
Il est important de bien lire les commentaires dans le code d'exemple avant toute modification.
Comme vu sur le diagramme d'explication des modules basés sur des workers, le code est divisés en deux parties:
Le code dans le module va être très limité, car la seule méthode que vous pouvez modifier/surcharger est get_raw_stats qui est utilisée pour les checks de supervision et le healthcheck.
Il est important de:
Le code dans le worker est celui où sera votre code métier ainsi que votre boucle principale d'actions.
Ici encore certaines règles s'appliquent afin s'assurer une stabilité dans le temps:
Les méthodes que vous pouvez surcharger sont multiples.
Méthodes surchageables concernant le fonctionnement global du worker:
| ATTENTION: toutes les autres méthodes (exceptées init_worker_before_main qui est appelées avant le worker_main) sont faites dans des threads différents. Vous devez donc faire attention à l'accès concurrents de vos données. |
Les méthodes concernant les broks reçus du broker:
Les méthodes concernant l'inventaires des hôtes: