Vous voulez créer un nouveau module pour Centreon 2? Ou bien juste adapter un module existant? Vous êtes sur la bonne page...
Il faut savoir que Centreon contient une page réservée à l'installation et à la désinstallation des modules (Administration > Module)
Pour que le module soit visible et référencé sur cette page, il faut placer le répertoire du module soit placé dans le répertoire modules de Centreon.
ex: /usr/local/centreon/www/modules/module-Dummy
Vous pouvez trouver un modèle de module vide sur le trunk du svn.
http://svn.centreon.com/trunk/module-Dummy
Bases¶
Voici les éléments essentiels que doit contenir votre répertoire de module (*** = obligatoire):
[conf.php]*$module_conf['dummy']name = "dummy"; // nom court de votre module, il doit être le même que le nom de votre répertoire de module $module_conf['dummy']rname = "Dummy Module"; // nom complet de votre module, qui pourrait donner plus de détails sur sa nature $module_conf['dummy']mod_release = "2.0"; // version de votre module $module_conf['dummy']infos = "First of all"; // des informations complémentaires $module_conf['dummy']is_removeable = "1"; // permet à votre module d'être désinstallé $module_conf['dummy']author = "Centreon Team"; // le nom du créateur du module $module_conf['dummy']sql_files = "1"; // 1 : le module exécute un fichier sql d'installation et/ou de désinstallation 0: le module n'exécute aucun fichier sql $module_conf['dummy']php_files = "1"; // 1 : le module exécute un fichier php d'installation et/ou de désinstallation 0: le module n'exécute aucun fichier php[infos > infos.txt]
Ce fichier peut contenir toutes sorte d'informations concernant votre module.[php > install.php]
<?php //ce fichier php s'exécute à l'installation du module si toutefois il est configuré dans le fichier conf.php ?>[php > uninstall.php]
<?php //ce fichier php s'exécute à la désinstallation du module si toutefois il est configuré dans le fichier conf.php ?>[sql > install.sql]
'ce fichier sql s'exécute à l'installation du module si toutefois il est configuré dans le fichier conf.php 'si vous voulez que votre module soit accessible à partir des menus Centreon, il faut faire des insertions dans la table @topology@ de la base centreon 'vous pouvez trouvez un exemple dans le module Dummy[sql > uninstall.sql]
'ce fichier sql s'exécute à la désinstallation du module si toutefois il est configuré dans le fichier conf.php 'permet notamment de retiré votre module des menus Centreon[generate_files > *.php]
les fichiers .php contenus dans le répertoire generate_files seront exécutés lors des générations de fichiers Nagios (dans Configuration > Nagios) ces fichiers doivent générer des fichiers de configuration Nagios.[UPGRADE > dummy-x.x > php > upgrade.php] & [UPGRADE > dummy-x.x > sql > upgrade.sql]
Centreon permet un système de mise à jour des modules. Il suffit de placer un répertoire qui porte le nom du module, ajouter un '-' à celui-ci, suivi du numéro de la version. En appuyant sur le bouton d'upgrade, Centreon ira chercher les scripts à exécuter en suivant l'ordre logique des versions. Par exemple si vous avez le module dummy version 1.0 d'installé, et qu'il y a des répertoires dummy-1.1 et dummy-1.2 dans UPGRADE, Centreon ira exécuter les scripts de la version 1.1, puis ceux de la version 1.2. Un fichier de configuration dans chaque répertoire d'upgrade est présent afin d'authoriser l'exécution de tel ou tel scripts.
Vous pouvez organiser le reste des fichiers (propres au fonctionnement du module) à votre façon.
Avancé¶
Vous savez à présent comment installer un module, c'est cool! Il faut maintenant que votre module serve à quelque chose...^^ Sachant que vous pouvez faire à peu près n'importe quoi, laissez travailler votre imagination!
Connexion vers les bases de données
Vous pouvez utiliser les bases de données centreon, centstorage et ndo en appelant respectivement les fichiers :centreon/www/DBconnect.php centreon/www/DBOdsConnect.php centreon/www/DBNDOConnect.phpExécutez des requêtes comme ceci :
$pearDB->query("SELECT * FROM host");
$pearDBO->query("SELECT * FROM log");
$pearDBndo->query("SELECT * FROM nagios_servicestatus");
Fonctions existantesVous pouvez accéder à un grand nombre de fonctions déjà développées dans Centreon via des include(), elles sont souvent contenues dans des fichiers nommés DB-Func.php ou common-Func.php. Avant de développer votre propre fonction, vous pouvez jeter un coup d'oeil sur l'existant, ça pourra peut-être vous faire gagner un temps précieux!Utiliser le système de monitoring de Centreon
Si vous souhaitez utiliser le système de monitoring sans que vos Hosts et Services apparaissent dans les pages de monitoring de Centreon, vous devez générer les fichiers de configuration Nagios sans faire de nouvelles entrées dans la base 'centreon', via les fichiers de génération dans votre répertoire generate_files.Vous devrez nommer vos hosts comme suit :
define host{
host_name _Module_dummy
.....
}
Le préfixe Module doit être respecté sinon vos éléments supervisés seront affichés sur l'interface de monitoring!