Full Export Conf Centreon (Centreon-Clapi)

2

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 :

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.

Exporter la configuration

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). 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 et validez. Laissez le reste VIDE.
  • Exemple avec un service Exchange :

Add Service Template Centreon

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.

Ouvrir le fichier directement depuis MobaXterm. Effectuez un double clic pour ouvrir le fichier avec l’éditeur de MobaXterm. Si vous n’aimez pas, effectuez un clic droit > Open with… et sélectionnez le votre.

le fichier commence par les ACL (Utilisateurs) :

{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 (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 :

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

Et plein d’autres…

Sauvegarder ce fichier TXT ailleurs, si jamais votre serveur Centreon tombe en panne, vous aurez de quoi remettre les choses en place.

C’est terminé. Ci-dessous quelques commandes Clapi.

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 (Mais…fallait commencer par cette commande voyons…allons !)

[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 juste quelques exemples, il faut des semaines pour faire le tour, mais si vous êtes chaud, voir : 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 ~]#

Les amis, je peux passer des jours et des semaines sur ce truc. 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...

2 réponses

  1. 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 *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.