Clapi
Importer votre configuration avec un fichier CSV
12/02/18 14:47 Classé dans: Techniques

Création du fichier CSV
En premier lieu, remplir le CSV sous cette forme
<nom d'hôte>;<désignation de l'hôte>;<IP hôte>;<Templates d'hôte séparés par |>;<Instance>;<hostgroup>;<macro1>;<valeur1>;<macro2>;<valeur2>;<macro3>;<valeur3>
Certaines valeurs sont optionnelles comme le hostgroup et les macros. Voici un exemple de fichier CSV
test1;server test1;172.16.209.5;generic-active-host-custom|OS-Linux-SNMP-custom;Central;linux
test2;server test2;172.16.209.6;generic-active-host-custom|OS-Linux-SNMP-custom|App-DB-MySQL-custom;Central;linux;MYSQLPASSWORD;centreon;MYSQLPORT;3306;MYSQLUSERNAME;centreon
test3;server test3;172.16.209.7;generic-active-host-custom;poller1;linux
Vous remarquerez que nous ne sommes pas obligés de remplir tous les champs macros si nous ne les utilisons pas.
Script d'importation
Voici un script très simple pour importer vos hôtes avec l'API Clapi.
#!/bin/bash
CLAPI=/usr/share/centreon/bin/centreon
INPUT=/root/import.csv
USER=admin
PASS=password
OLDIFS=$IFS
IFS=$';'
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read host lblhost ip template instance hostgroup macro1 valeur1 macro2 valeur2 macro3 valeur3
do
#echo $host
$CLAPI -u $USER -p $PASS -o HOST -a ADD -v "$host;$lblhost;$ip;$template;$instance;$hostgroup"
if [[ ! -z "$macro1" ]]
then
$CLAPI -u $USER -p $PASS -o HOST -a SETMACRO -v "$host;$macro1;$valeur1"
fi
if [[ ! -z "$macro2" ]]
then
$CLAPI -u $USER -p $PASS -o HOST -a SETMACRO -v "$host;$macro2;$valeur2"
fi
if [[ ! -z "$macro3" ]]
then
$CLAPI -u $USER -p $PASS -o HOST -a SETMACRO -v "$host;$macro3;$valeur3"
fi
$CLAPI -u $USER -p $PASS -o HOST -a APPLYTPL -v "$host"
done < $INPUT
IFS=$OLDIFS
On vérifie la validité des valeurs de macro pour éviter des erreurs de commande. Je me suis limité à trois macros mais on peut facilement en rajouter. La dernière commande CLAPI (APPLYTPL) permet d'ajouter les services associés aux templates d'hôtes.
Vérification de la configuration
Après l'importation, nous constaterons l'ajout de nos hôtes dans la configuration.
Les macros personnalisées sont aussi ajoutées
Variantes avec l'utilisation des macros SNMP host_snmp_community et host_snmp_version
Un lecteur m'a fait la remarque qu'il serait judicieux d'ajouter les paramètres SNMP pour chaque hôte nouvellement créé. Ces deux macros se gèrent avec la commande clapi SETPARAM. Il faut donc trouver une autre solution pour le fichier CSV. Voici donc ma solution, il y en a certainement d'autres, je rajoute les valeurs community et valeur avant l'ajout des macros supplémentaires. Ces deux paramètres sont optionnels s'il n'y a pas de macros additionnelles sinon il ne faudra pas oublier de les insérer même si les valeurs sont nulles (ajout de points-virgules seul).
Création du nouveau fichier CSV
Remplir le CSV sous cette forme
<nom d'hôte>;<désignation de l'hôte>;<IP hôte>;<Templates d'hôte séparés par |>;<Instance>;<hostgroup>;<SNMP Community>;<SNMP Version>;<macro1>;<valeur1>;<macro2>;<valeur2>;<macro3>;<valeur3>
Certaines valeurs sont optionnelles comme le hostgroup et les macros. Voici un exemple de fichier CSV
test1;server test1;172.16.209.5;generic-active-host-custom|OS-Linux-SNMP-custom;Central;linux;
test2;server test2;172.16.209.6;generic-active-host-custom|OS-Linux-SNMP-custom|App-DB-MySQL-custom;Central;linux;public;2c;MYSQLPASSWORD;centreon;MYSQLPORT;3306;MYSQLUSERNAME;centreon
test3;server test3;172.16.209.7;generic-active-host-custom;poller1;linux;public;1
Nouveau script d'importation
Voici la modification du script.
#!/bin/bash
CLAPI=/usr/share/centreon/bin/centreon
INPUT=/root/import.csv
OLDIFS=$IFS
IFS=$';'
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read host lblhost ip template instance hostgroup community version macro1 valeur1 macro2 valeur2 macro3 valeur3
do
# add host
$CLAPI -u admin -p password -o HOST -a ADD -v "$host;$lblhost;$ip;$template;$instance;$hostgroup"
# add community and version SNMP if not empty
if [[ ! -z "$community" ]]
then
$CLAPI -u admin -p password -o HOST -a SETPARAM -v "$host;host_snmp_community;$community"
fi
if [[ ! -z "$version" ]]
then
$CLAPI -u admin -p password -o HOST -a SETPARAM -v "$host;host_snmp_version;$version"
fi
# add macro if not empty
if [[ ! -z "$macro1" ]]
then
$CLAPI -u admin -p password -o HOST -a SETMACRO -v "$host;$macro1;$valeur1"
fi
if [[ ! -z "$macro2" ]]
then
$CLAPI -u admin -p password -o HOST -a SETMACRO -v "$host;$macro2;$valeur2"
fi
if [[ ! -z "$macro3" ]]
then
$CLAPI -u admin -p password -o HOST -a SETMACRO -v "$host;$macro3;$valeur3"
fi
#apply template
$CLAPI -u admin -p password -o HOST -a APPLYTPL -v "$host"
done < $INPUT
IFS=$OLDIFS
Deux nouveaux tests ont été rajoutés pour ajouter ou nom les macros host_snmp_community et host_snmp_version.
Il ne restera plus qu'a appliquer la configuration pour ajouter vos nouvelles machines.

Créons une nouvelle commande Clapi
21/11/17 08:47 Classé dans: Techniques

Exemple pratique de Centreon-Clapi
19/11/17 17:34 Classé dans: Techniques

Lire plus…
Les Downtimes avec CLAPI
04/10/17 16:23 Classé dans: Techniques

Migrez vos FAN...
28/03/17 12:02 Classé dans: Techniques

Aujourd'hui, nous allons procéder à une migration de FAN vers Centreon 3.4. Je préfère vous avertir tout de suite que mon exemple est un cas d'école et ne reflétera pas la réalité de votre supervision. J'aimerais vous donner simplement quelques pistes pour migrer votre supervision. L'article évoluera certainement en fonction de mon temps et de vos réflexions, s'il y en a bien sûr 😉.
Centreon élimine les traces de Nagios
26/01/17 07:55 Classé dans: Techniques

Mise à jour Centreon-Web 2.7x vers 2.8
Cela ne pose pas de problème lors de la mise à jour 2.7x vers 2.8x sur votre serveur Central. Par contre, avec une architecture distribuée, après votre mise à jour sur le serveur Central, il ne faudra pas oublier de redémarrer votre service centcore.
service centcore restart
En effet, si vous ne faites pas cette opération après la mise à jour, vous ne pourrez plus mettre à jour vos pollers tant que vous n'aurez pas redémarré ce service ou le serveur Central. La génération des fichiers passent par le service centcore, il faudra donc réactualiser le chemin en redémarrant son processus.
Clapi version 2.8x
Autre changement logique, l'objet nagiosCFG n'existe plus dans Centreon-Clapi. L'export dans la version 2.7x :
NAGIOSCFG;ADD;Centreon Engine CFG 1;Central;Centreon Engine
NAGIOSCFG;setparam;Centreon Engine CFG 1;log_file;/var/log/centreon-engine/centengine.log
NAGIOSCFG;setparam;Centreon Engine CFG 1;cfg_dir;/etc/centreon-engine
NAGIOSCFG;setparam;Centreon Engine CFG 1;temp_file;/var/log/centreon-engine/centengine.tmp
NAGIOSCFG;setparam;Centreon Engine CFG 1;status_file;/var/log/centreon-engine/status.dat
NAGIOSCFG;setparam;Centreon Engine CFG 1;use_check_result_path;0
NAGIOSCFG;setparam;Centreon Engine CFG 1;nagios_user;centreon-engine
NAGIOSCFG;setparam;Centreon Engine CFG 1;nagios_group;centreon-engine
NAGIOSCFG;setparam;Centreon Engine CFG 1;enable_notifications;1
NAGIOSCFG;setparam;Centreon Engine CFG 1;execute_service_checks;1
NAGIOSCFG;setparam;Centreon Engine CFG 1;accept_passive_service_checks;1
NAGIOSCFG;setparam;Centreon Engine CFG 1;execute_host_checks;2
NAGIOSCFG;setparam;Centreon Engine CFG 1;accept_passive_host_checks;2
…
Il est remplacé par l'objet INSTANCE. L'export dans le version 2.8x :
INSTANCE;ADD;Central;127.0.0.1;22
INSTANCE;setparam;Central;localhost;1
INSTANCE;setparam;Central;is_default;0
INSTANCE;setparam;Central;ns_activate;1
INSTANCE;setparam;Central;ns_status;0
INSTANCE;setparam;Central;init_script;/etc/init.d/centengine
INSTANCE;setparam;Central;init_system;systemv
INSTANCE;setparam;Central;monitoring_engine;CENGINE
INSTANCE;setparam;Central;nagios_bin;/usr/sbin/centengine
INSTANCE;setparam;Central;nagiostats_bin;/usr/sbin/centenginestats
INSTANCE;setparam;Central;nagios_perfdata;/var/log/centreon-engine/service-perfdata
….
Et je terminerai pas une préconisation lors de vos mises à jour majeures d'infrastructure, les pollers doivent avoir la même version (Central et pollers distants). Bonne supervision !
Vérifiez vos commandes de services
28/11/15 11:58 Classé dans: Techniques

Attention, c'est une première version, donc ce script est certainement perfectible. Rectification : protégez le nom de service avec des double-quotes si celui-ci comporte des espaces.

Nouveaux scripts pour centreon-clapi
29/10/15 15:54 Classé dans: Installations

J'ai rajouté deux scripts permettant de réaliser une première configuration avec une encapsulation de template comme dans mes exemples de configuration. Le premier, delete_config.sh, à utiliser avec parcimonie, permet le nettoyage de sa configuration : suppressions des hôtes, services, templates et commandes. voici son utilisation :
/usr/share/centreon/examples/clapi/delete_config.sh admin password
Le deuxième, create_conf.sh, utilisé conjointement avec le fichier de configuration example_central.conf, permet l'installation d'un exemple de configuration comme l'image ci-dessous. Voici la ligne de commande :
/usr/share/centreon/examples/clapi# /usr/share/centreon/examples/clapi/create_conf.sh admin password /usr/share/centreon/examples/clapi/example_central.conf
Exporter les macros avec Centreon-Clapi
12/09/14 16:26 Classé dans: Techniques

Un lot de nouveautés pendant les vacances
11/08/14 16:35 Classé dans: Divers

J'en profite pour vous annoncer les mises à jour prochaines de mon livre ibooks "L'atelier de Kermith" sur iTunes et de mon livre au format epub "Le petit atelier de Kermith" sur Itunes et Google Play.
Une rentrée qui s'annonce bien

UP ! le temps de poster qu'une nouvelle version de Centreon 2.5.2 est mise en ligne ! Beaucoup de correction de bug et quelques améliorations, à suivre...
Création de macros personnalisées avec Clapi
11/04/14 07:30 Classé dans: Techniques


MAJ 11/04/2014 : Le précédent script avait un bug avec des noms de préfixe identique comme par exemple $_SERVICEMODE$ et $_SERVICEMODE_MYSQL$. Le script ne faisait pas la distinction entre ces deux chaines et donc ne désactivait pas la macro lots de l'exécution du script. Je vous propose cette version corrigée.. Lire plus…
Dépoussiérage d'articles
20/09/13 21:31 Classé dans: Techniques

Et pour finir une astuce pour indiquer la bonne version de Centreon-Clapi 1.5.2

Mise à jour Centreon-Engine et Clapi
10/09/13 11:16 Classé dans: Installations


Pilotez Centreon en ligne de commande
01/09/12 08:41 Classé dans: Techniques
Une nouvelle version de Centreon-Clapi vient de sortir, il s'agit de la version 1.4.0. C'est le moment de vous proposer mon article sur la configuration de Centreon en ligne de commande. Bonne lecture.
Gestion des traps en architecture distribuée
21/07/12 22:26 Classé dans: Techniques

Les mises à jour continuent !
24/02/15 19:25 Classé dans: Installations

Pour chercher un article, vous pouvez utiliser la page Orientation. Prochain article en préparation NSCA et Vagrant, bonne lecture

Création de macros personnalisées avec Clapi
19/02/15 16:56 Classé dans: Techniques

MAJ 11/04/2014 : Le précédent script avait un bug avec des noms de préfixe identique comme par exemple $_SERVICEMODE$ et $_SERVICEMODE_MYSQL$. Le script ne faisait pas la distinction entre ces deux chaines et donc ne désactivait pas la macro lots de l'exécution du script. Je vous propose cette version corrigée.. Lire plus…
Trouvez vos commandes check envoyées par Centreon-Engine
10/02/15 18:16 Classé dans: Techniques


Nous allons voir que malgré une absence d'interface sur Centreon, le Broker de celui-ci nous offre beaucoup plus de renseignements. Lire plus…
Comment déployer une configuration en quelques minutes
30/01/15 13:18 Classé dans: Installations
L'utilisation du module Centreon-Clapi est parfaite pour automatiser les tâches. Il me permet de créer une configuration pour les VM de Test en quelques minutes. Je vous propose cet article sur la configuration d'une supervision avec Clapi. Deux scripts vous permettent respectivement de supprimer une configuration (Macro, Commande, Host et Service) et de configurer une nouvelle configuration grâce à l'injection d'un fichier texte contenant tous les paramétrages nécessaires.
Il est possible d'utiliser le script create_conf pour restaurer une configuration.

Il est possible d'utiliser le script create_conf pour restaurer une configuration.

Affichage partiel d'une création de configuration avec Clapi