Full Export Conf Centreon (Centreon-Clapi)

3

Centreon CLAPI est un module/API Centreon qui permet d’administrer et de configurer votre plate-forme de supervision en ligne de commande. Les actions que l’on peut effectuer depuis l’interface web peuvent être réalisé en ligne de commande rapidement.

En effet, nous allons pouvoir ajouter, supprimer, mettre à jours les hôtes, les services, les commandes…etc, mais surtout, exporter/importer la configuration complète de Centreon.

Avant, il fallait télécharger le module, l’installer et l’activer depuis le menu Extension. Depuis la version 2.7, le module Centreon-Clapi est totalement intégré à Centreon.

VM nécessaire pour ce chapitre :

SSH Tools :

FTP Tools :

Remarque : MobaXterm permet d’établir une connexion SSH et SFTP simultanément. Très pratique pour récupérer ou uploader les fichiers directement depuis la machine hôte vers le serveur Centreon. Il est totalement personnalisable et permet également de récupérer vos sessions PuTTy automatiquement. Bref, the best !

SSH and SFTP using MobaXterm

Commandes CLAPI

Voici la commande Clapi :

[root@centreon ~]# centreon -u USER -p PASSWORD -o OBJET -a ACTION [-v PARAMETRE]

Explication de la commande :

  • -u : l’utilisateur de l’interface Centreon.
  • -p : le mot de passe associé à l’utilisateur Centreon
  • -o : type d’objet associé à l’action. Exemple : Collecteur, hôte, service…etc.
  • -a : type d’action à réaliser : ajouter, supprimer, modifier…etc.
  • -v : pour rajouter plusieurs paramètres en fonction de l’objet ou type d’action.

Configuration Pré-requise

Connectez-vous à votre serveur Centreon en SSH.

Attention : un modèle générique doit être affecté à vos services. Sinon, l’import ne fonctionnera pas (ne me demandez pas pourquoi, à voir dans la nouvelle version de centreon). C’est comme la création d’un service.

  • Configuration > Services > Modèles > cliquez sur Ajouter
    • Alias : generic_service
    • Nom : generic_service
    • Modèle : ne rien mettre
    • Commande de vérification : Check_ICMP (ping)
      • ARG1 : 3 (nombre de requête ping)
      • ARG2 : 200,20%
      • ARG3 : 400,50%
    • Période de contrôle : workhours
    • Allez dans l’onglet Notifications
      • Période de notification : workhours
    • Allez dans l’onglet Informations complémentaires
      • Modèle de graphique : Latency
      • Catégories : Ping
      • Icône : ping.png

Création Modèle Service Centreon

  • Allez maintenant dans les paramètres d’un service et lui affecter ce modèle.

Remarque : Si vous avez beaucoup de services :

  • Cochez tous vos services (ou par page)
  • Plus d’actions…
  • Changement massive
    • Mode de mise à jour : Incrémentale
  • Ajouter uniquement le modèle “generic_service” et validez. Laissez le reste VIDE.

Voici un exemple avec un service Exchange :

Add Service Template Centreon

  • Sauvegarder et redémarrer le collecteur pour prendre en compte les modifications.

Exporter la configuration

Lancez la commande d’export. Si vous avez une grosse configuration, cela risque de prendre un peu de temps.

[root@centreon ~]# centreon -u admin -p admin -e > /tmp/centreon-conf.txt
[root@centreon ~]#
  • -e > /tmp/centreon-conf.txt = stocker la configuration dans le fichier centreon-conf.txt et l’enregistrer dans le répertoire /tmp.

Voilà, c’est terminé. Nous venons d’exporter la configuration de Centreon. Jetons un coup d’œil à l’intérieur du fichier que nous venons d’exporter.

Remarque : effectuez un double clic pour ouvrir le fichier avec l’éditeur de MobaXterm. Sinon, effectuez un clic droit > Open with… et sélectionnez le votre.

le fichier commence par les ACL (Liste de contrôle d’accès) :

{OBJECT_TYPE};{COMMAND};{PARAMETERS}
ACLACTION;ADD;Simple User;Simple User;
ACLACTION;SETPARAM;Simple User;activate;1;
ACLACTION;GRANT;Simple User;poller_stats;
ACLACTION;GRANT;Simple User;top_counter;
ACLACTION;GRANT;Simple User;service_acknowledgement;
ACLACTION;GRANT;Simple User;service_schedule_check;
ACLACTION;GRANT;Simple User;service_schedule_forced_check;
ACLACTION;GRANT;Simple User;service_schedule_downtime;
...
...

Puis l’instance (Collecteur Central)

INSTANCE;ADD;Central;127.0.0.1;22
INSTANCE;setparam;Central;localhost;1
INSTANCE;setparam;Central;is_default;1
INSTANCE;setparam;Central;ns_activate;1
INSTANCE;setparam;Central;ns_status;0
INSTANCE;setparam;Central;init_script;centengine
INSTANCE;setparam;Central;init_system;systemv
INSTANCE;setparam;Central;monitoring_engine;CENGINE
...
...

Les commandes (Ici les commandes disponible : Exchange)

CMD;setparam;Check-MSExchange;enable_shell;0
CMD;setparam;Check-MSExchange;command_activate;1
CMD;setparam;Check-MSExchange;command_locked;0
CMD;ADD;Check-MailboxHealth;2;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
CMD;setparam;Check-MailboxHealth;enable_shell;0
...
...

les macros personnalisée, chemin des plugins centreon/nagios…etc.

RESOURCECFG;ADD;$USER1$;/usr/lib/nagios/plugins;Central;Nagios Plugins Path
RESOURCECFG;setparam;$USER1$;activate;1
RESOURCECFG;ADD;$USER2$;/usr/lib/centreon/plugins;Central;Centreon Plugins Path
RESOURCECFG;setparam;$USER2$;activate;1
RESOURCECFG;ADD;$_SERVICEPLUGIN$;0;Central;
RESOURCECFG;setparam;$_SERVICEPLUGIN$;activate;1
RESOURCECFG;ADD;$_SERVICEMODE$;0;Central;
RESOURCECFG;setparam;$_SERVICEMODE$;activate;1
...
...

La configuration Centreon :

Remarque : il est conseillé de supprimer ces lignes lors d’un import de ce fichier sur un nouveau serveur Centreon. En effet, votre nouveau serveur Centreon a déjà sa propre configuration.

CENTBROKERCFG;SETOUTPUT;central-module-master;1;buffering_timeout;0
CENTBROKERCFG;SETOUTPUT;central-module-master;1;protocol;bbdo
CENTBROKERCFG;SETOUTPUT;central-module-master;1;tls;no
CENTBROKERCFG;SETOUTPUT;central-module-master;1;compression;no
CENTBROKERCFG;SETOUTPUT;central-module-master;1;type;ipv4
...
...
ENGINECFG;ADD;Centreon Engine Central;Central;Centreon Engine
ENGINECFG;setparam;Centreon Engine Central;log_file;/var/log/centreon-engine/centengine.log
ENGINECFG;setparam;Centreon Engine Central;cfg_dir;/etc/centreon-engine
ENGINECFG;setparam;Centreon Engine Central;temp_file;/var/log/centreon-engine/centengine.tmp
ENGINECFG;setparam;Centreon Engine Central;status_file;/var/log/centreon-engine/status.dat
...
...

Les hôtes et services :

HOST;setparam;EX-SERVER1;host_snmp_community;pixelabs
HOST;setparam;EX-SERVER1;host_snmp_version;2c
HOST;setparam;EX-SERVER1;timezone;Europe/Paris
HOST;setparam;EX-SERVER1;host_locked;0
HOST;setparam;EX-SERVER1;host_register;1
HOST;setparam;EX-SERVER1;host_activate;1
HOST;setparam;EX-SERVER1;icon_image;pixelabs/exchange.png
...
...
SERVICE;ADD;EX-SERVER1;Check-CPU;
SERVICE;setparam;EX-SERVER1;Check-CPU;check_command;Check-CPU
SERVICE;setparam;EX-SERVER1;Check-CPU;check_period;workhours
SERVICE;setparam;EX-SERVER1;Check-CPU;service_is_volatile;2
SERVICE;setparam;EX-SERVER1;Check-CPU;service_active_checks_enabled;2
SERVICE;setparam;EX-SERVER1;Check-CPU;service_passive_checks_enabled;2
SERVICE;setparam;EX-SERVER1;Check-CPU;service_parallelize_check;2
...
...

Etc…

Il suffit maintenant d’importer cette configuration sur un nouveau serveur Centreon. Voir l’article : full-import-conf-centreon-centreon-clapi/

Remarque : sauvegarder ce fichier TXT ailleurs, pour le retrouver en cas de panne de votre serveur Centreon.

C’est terminé les amis. Ci-dessous quelques commandes Clapi à connaitre pour le fun 🙂

Gestion des collecteurs

Quelques commandes pour gérer vos collecteurs (Pollers). Dans mon cas, j’ai un seul collecteur (Poller) : Central

Afficher les colleurs disponibles :

[root@centreon ~]# centreon -u admin -p admin -a POLLERLIST
poller_id;name
---
1;Central
---
Return code end : 0
[root@centreon ~]#

Générer la configuration pour le collecteur Central :

[root@centreon ~]# centreon -u admin -p admin -a POLLERGENERATE -v "Central"
---
Configuration files generated for poller 'Central'
---
Return code end : 0
[root@centreon ~]#

Tester la configuration du collecteur Central :

[root@centreon ~]# centreon -u admin -p admin -a POLLERTEST -v "Central"
---
OK: Centreon Poller Central can restart without problem...
---
Return code end : 0
[root@centreon ~]#

Déplacer les fichiers pour appliquer la supervision : après avoir ajouté un hôte, service…etc

[root@centreon ~]# centreon -u admin -p admin -a CFGMOVE -v "Central"
---
OK: All configuration files copied with success.
---
Return code end : 0
[root@centreon ~]#

Relancer le collecteur Central :

[root@centreon ~]# centreon -u admin -p admin -a POLLERRESTART -v "Central"
---
.centengine restart: done                                  [  OK  ]
---
Return code end : 0
[root@centreon ~]#

Les 4 commandes ci-dessus peuvent être réalisées en une seule commande :

[root@centreon ~]# centreon -u admin -p admin -a APPLYCFG -v "Central"

Centreon Clapi APPLYCFG

Gestion des objets

Pour la gestion des objets, je vais citer quelques exemples, il faut des semaines pour faire le tour, mais si vous êtes chaud : Object management

Afficher les hôtes : J’ai qu’un hôte et c’est Exchange Server 2016

[root@centreon ~]# centreon -u admin -p admin -o HOST -a show
id;name;alias;address;activate
---
2;EX-SERVER1;Exchange Server 2016;172.16.1.2;1
---
[root@centreon ~]#

Afficher les services :

[root@centreon ~]# centreon -u admin -p admin -o SERVICE -a show
host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate
---
2;EX-SERVER1;13;Check-ComponentState;Check-ComponentState;;;;;2;2;1
2;EX-SERVER1;2;Check-CPU;Check-CPU;;;;;2;2;1
2;EX-SERVER1;15;Check-DAGHealth;Check-DAGHealth;;;;;2;2;1
2;EX-SERVER1;3;Check-Disk-C:;Check-Disk-C:;;;;;2;2;1
2;EX-SERVER1;4;Check-Disk-E:;Check-Disk-E:;;;;;2;2;1
2;EX-SERVER1;5;Check-Disk-F:;Check-Disk-F:;;;;;2;2;1
2;EX-SERVER1;6;Check-Disk-L:;Check-Disk-L:;;;;;2;2;1
2;EX-SERVER1;14;Check-ExchServices;Check-ExchServices;;;;;2;2;1
2;EX-SERVER1;16;Check-FailOverDB;Check-FailOverDB;;;;;2;2;1
2;EX-SERVER1;18;Check-IndexStateHealth;Check-IndexStateHealth;;;;;2;2;1
2;EX-SERVER1;11;Check-MailboxHealth;Check-MailboxHealth;;;;;2;2;1
2;EX-SERVER1;7;Check-Memory;Check-Memory;;;;;2;2;1
2;EX-SERVER1;10;Check-MSEProcess;Check-MSExchange;;;;;2;2;1
2;EX-SERVER1;17;Check-QueueHealth;Check-QueueHealth;;;;;2;2;1
2;EX-SERVER1;12;Check-ReplicationHealth;Check-ReplicationHealth;;;;;2;2;1
2;EX-SERVER1;9;Check-Service-IMAP4;Check-WINServices;;;;;2;2;1
2;EX-SERVER1;8;Check-Traffic;Check-traffic;;;;;2;2;1
---
[root@centreon ~]#

Afficher les commandes : bon…je trouve que… c’est très clair et… on s’y retrouve rapidos ! Nan ?

[root@centreon ~]# centreon -u admin -p admin -o CMD -a show
id;name;type;line
35;host-notify-by-email;notif;/usr/bin/printf "%b" "***** centreon Notification *****<br/><br/>Type:$NOTIFICATIONTYPE$<br/>Host: $HOSTNAME$<br/>State: $HOSTSTATE$<br/>Address: $HOSTADDRESS$<br/>Info: $HOSTOUTPUT$<br/>Date/Time: $DATE$" | @MAILER@ -s "Host $HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$
36;service-notify-by-email;notif;/usr/bin/printf "%b" "***** centreon Notification *****<br/><br/>Notification Type: $NOTIFICATIONTYPE$<br/><br/>Service: $SERVICEDESC$<br/>Host: $HOSTALIAS$<br/>Address: $HOSTADDRESS$<br/>State: $SERVICESTATE$<br/><br/>Date/Time: $DATE$ Additional Info : $SERVICEOUTPUT$" | @MAILER@ -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
37;host-notify-by-epager;notif;/usr/bin/printf "%b" "Host $HOSTALIAS$ is $HOSTSTATE$<br/>Info: $OUTPUT$<br/>Time: $DATETIME$\" | @MAILER@ -s \"$NOTIFICATIONTYPE$ alert - Host $HOSTNAME$ is $HOSTSTATE$\" $CONTACTPAGER$
38;service-notify-by-epager;notif;/usr/bin/printf "%b" "Service: $SERVICEDESC$<br/>Host: $HOSTNAME$<br/>Address: $HOSTADDRESS$<br/>State: $SERVICESTATE$<br/>Info: $OUTPUT$<br/>Date: $DATETIME$" | @MAILER@ -s "$NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" $CONTACTPAGER$
89;host-notify-by-jabber;notif;$USER1$/notify_via_jabber  $CONTACTPAGER$ "Host &#039;$HOSTALIAS$&#039; is $HOSTSTATE$ - Info: $HOSTOUTPUT$"
90;service-notify-by-jabber;notif;$USER1$/notify_via_jabber $CONTACTPAGER$ "$NOTIFICATIONTYPE$ $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$ $SERVICEOUTPUT$ $LONGDATETIME$"
91;Check-traffic;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --mode=$_SERVICEMODE$ --interface=$_SERVICEINTERFACE$ --warning-in-traffic=$_SERVICEWARNINGIN$ --warning-out-traffic=$_SERVICEWARNINGOUT$ --critical-in-traffic=$_SERVICECRITICALIN$ --critical-out-traffic=$_SERVICECRITICALOUT$ $_SERVICEOPTION$ $_SERVICEOPTION$
92;Check-ICMP;check;$USER1$/check_icmp -H $HOSTADDRESS$ -n $ARG1$ -w $ARG2$ -c $ARG3$
93;Check-CPU;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning=$_SERVICEWARNING$ --critical=$_SERVICECRITICAL$
94;Check-Memory;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-memory=$_SERVICEWARNING$ --critical-memory=$_SERVICECRITICAL$
95;Check-Disk-C:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$
96;Check-Disk-E:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$
97;Check-Disk-F:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$
98;Check-Disk-L:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$
99;Check-WINServices;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --service=$_SERVICENAME$ $_SERVICEOPTION$
100;Check-MSExchange;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --process-name=$_SERVICEPROCESS$ $_SERVICEOPTION$
101;Check-MailboxHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
103;Check-ReplicationHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
104;Check-ComponentState;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
105;Check-ExchServices;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
106;Check-DAGHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
107;Check-FailOverDB;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
108;Check-QueueHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
109;Check-IndexStateHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$
[root@centreon ~]#

Vous avez surement compris le fonctionnement. Voir la documentation Centreon pour aller plus loin.

Dans le prochain chapitre, nous allons remettre Centreon à zero et importer la configuration.

Bonne journée et à très bientôt.

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5,00 out of 5)

Vous aimerez aussi...

3 réponses

  1. sysadmin sysadmin dit :

    Mise à jour de l’article.
    J’ai essayé de détaillé au maximum. N’hésitez pas si besoin 🙂

  2. thierry dit :

    bonjour !
    est-ce l’équivalent de de l’import/export AWIE ?

    Avez-vous une procédure de réinstallation complète depuis les fichiers de configuration bakupés par centreon (à partir des 4 fichiers)

    Merci,

    • sysadmin sysadmin dit :

      Bonjour thierry,

      Oui, c’est l’équivalent de AWIE.
      Et non désolé, je n’ai pas eu encore l’occasion de réinstaller Centreon depuis des fichiers de sauvegarde.
      (Cela m’intéresse fortement également).
      Si je trouve quelque chose à l’avenir ou si je me penche dessus, je ferais un article.

      Bonne journée.
      -Pixel.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *