Vous êtes ici:

Menu

Clapi

Importer votre configuration avec un fichier CSV

upgrade-centreon2602015-04-22_09-26-55_PM
Suite à une demande sur le forum Centreon, je vous propose un petit script permettant d'importer en masse vos hôtes avec un fichier CSV. Le prérequis sera un serveur Centreon bien configuré avec des templates d'hôtes. Ce mécanisme permet d'ajouter très facilement un hôte et ses services associés. Pour cet exemple, nous utiliserons un serveur Centreon avec IMP.

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.

import_csv1

Les macros personnalisées sont aussi ajoutées

import_csv2

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

Comments

Créons une nouvelle commande Clapi

upgrade-centreon2602015-04-22_09-26-55_PM
Suite de ma lecture sur le forum Centreon, je vous propose une nouvelle commande manquante pour Centreon-Clapi. Retrouvez l'instance (poller) qui gère un hôte. En effet, il existe une commande pour affecter une instance à un hôte (setinstance) mais il n'existe pas la même commande pour retrouver l'instance de ce même hôte. Nous allons créer un petit script pour combler ce manque. Lire plus‚Ķ
Comments

Exemple pratique de Centreon-Clapi

upgrade-centreon2602015-04-22_09-26-55_PM
Il y a des fois où il est intéressant de butiner sur la toile comme sur le forum de Centreon. Cela donne, de temps en temps, des idées pour réaliser des petits scripts ūüėÄ Aujourd'hui, je vais réaliser un script avec Centreon-Clapi qui nous affichera les hôtes définis dans la base Centreon avec leurs services associés. Par défaut, le script n'affiche que les hôtes actifs et les services actifs. Une option (-d) permettant l'affichage de ceux-ci. Les hôtes et services désactivés seront signalés en rouge. Sinon le script est tout simple, il utilise la commande clapi centreon et la commande tail. N'oubliez pas d'adapter les chemins pour un bon fonctionnement. Ce script fonctionne avec Centreon-web 2.8.15.


Lire plus…
Comments

Les Downtimes avec CLAPI

upgrade-centreon2602015-04-22_09-26-55_PM
La version 2.8.14 s'enrichit d'une nouvelle fonctionnalité, la gestion des downtimes avec les API Clapi. Dans cet article Gestion des downtimes avec Clapi, vous trouverez les principales commandes pour utiliser les temps d'arrêts en ligne de commande.

downtime

Comments

Migrez vos FAN...


logo_fanFAN, autrement dit Fully Automated Nagios, est un projet initié par Cédric TEMPLE, Olivier LI-KIANG-CHEONG, David HANNEQUIN et Thibault COHEN. Cette distribution CentOS a commencé en juin 2008, elle comprenait un moteur de supervision Nagios et l'interface Web Centreon ainsi que la cartographie Nagvis. La dernière version 2.4 date de 2013, malheureusement le projet n'est plus suivi et il n'est pas prévu d'autres versions. Après les dernières mises à jour appliquées, Centreon est à la version 2.4.5 et Nagios est à la version 3.4.4.
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 ūüėČ.

fan

Lire plus…
Comments

Centreon élimine les traces de Nagios

upgrade-centreon2602015-04-22_09-26-55_PM
Centreon poursuit sa séparation avec Nagios, la nouvelle version Centreon 3.4 (Centreon-Web 2.8.2) a supprimé le dossier de génération /usr/share/centreon/filesGeneration/nagiosCFG au profit de /usr/share/centreon/filesGeneration/engine.

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 !


Comments

Vérifiez vos commandes de services

logo_technic
MAJ 1.01 du 28/11/205 : bug avec la macro $_HOSTSNMPVERSION$. Je vous propose un script basé sur Centreon-Clapi. Il vous permettra de vérifier vos commandes de vérification associées à vos services. L'intérêt est de récupérer la commande en clair, les macros sont remplacées par leurs valeurs respectives. Cela vous permettra de vérifier vos configurations.
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.

verif_cmd
Comments

Nouveaux scripts pour centreon-clapi

debian
Centreon 2.6.5 est disponible sur le miroir centreon-deb. J'ai profité de cette mise à jour pour corriger un script dans le paquet centreon-clapi. La variable @CENTREON_VARLIB@ à la ligne 71 du fichier /usr/share/centreon/www/modules/centreon-clapi/core/class/centreon.Config.Poller.class.php n'était pas renseignée.
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


script-clapi

Comments

Exporter les macros avec Centreon-Clapi

clapi
Profitant d'une nouvelle version 1.6.1 de Centreon-Clapi, j'ai réalisé un nouvel article sur ce module permettant la configuration de Centreon en ligne de commande. La fonctionnalité d'exportation de Centreon-Clapi ne gérant pas les macros personnalisées je vous propose un script pour améliorer cette fonctionnalité.

export_macro

Comments

Un lot de nouveautés pendant les vacances

Logo centreonReposez-vous bien pendant vos vacances, car à votre retour, un lot de nouveautés vous attend. Tout d'abord la nouvelle version de Centreon-engine 1.4.4 avec son mode unique de rechargement à chaud, à tester de toute urgence ! Ne pas oublier de mettre à jour Centreon-clib et Centreon-connector. Ensuite Centreon-Clapi 1.6.0 qui assure enfin la compatibilité pour Centreon 2.5.x. Sans oublier les articles du blog de Centreon, toujours excellents et de bon conseil.
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 Happy
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...

Comments

Création de macros personnalisées avec Clapi

clapicentreon_2.4_ready2Depuis que la nouvelle version 2.4 est arrivée, les commandes Clapi sont complètement opérationnelles. Nous allons pouvoir gérer pleinement nos macros personnalisées. Dans mes exemples de configuration, j'utilise ces fameuses macros personnalisées pour gérer mes templates. Pour la création, les commandes CLAPI fonctionnent sans problème, mais pour modifier une macro, il faut récupérer l'ID, le nom de la macro ne suffit pas. De plus il n'existe pas de commande pour réaliser cette opération.

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‚Ķ
Comments

Dépoussiérage d'articles

nettoyage_site
Nettoyage d'articles sur Centreon-Syslog en attendant une refonte complète avec la version 1.5x, j'en profite pour vous rappeler que la distribution wheezy de Debian n'est pas compatible avec le module Centreon-Syslog-Server à cause de la version PHP 5.4.4.
Et pour finir une astuce pour indiquer la bonne version de Centreon-Clapi 1.5.2 Happy
Comments

Mise à jour Centreon-Engine et Clapi

Logo centreonDécidemment, c'est la rentrée chez Centreon Winking. Deux mises à jour, Centreon-Engine et Centreon-Clapi sont disponibles depuis hier. Mise à jour mineure au vu des Roadmap. J'ai mis à jour l'installation de Centreon-Engine avec une section mise à jour.

Voila_Capture2628

Voila_Capture2629

Comments

Pilotez Centreon en ligne de commande

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

Gestion des traps en architecture distribuée

Logo distribue
Un petit article pour présenter la configuration des traps dans une architecture distribuée. J'en ai profité pour remettre à jour ou corrigé certains articles. Une nouvelle rubrique est en chantier, il s'agit de la présentation du module Centreon-Clapi. Encore un peu de patience...
Comments

Les mises à jour continuent !

ubuntulogo
Les mises à jour continuent sur mon site avec le dépoussiérage de l'installation de Centreon UI sur Ubuntu Server. Maintenant, chaque installation est accompagnée d'une page de configuration avec Centreon-Clapi. Vous trouverez une adaptation des scripts clapi pour Ubuntu. Afin d'améliorer la lecture, chaque installation est limitée à une page et dans le cas contraire, vous trouverez une table des matières sur le côté gauche de chaque page intitulée Rubriques.
Pour chercher un article, vous pouvez utiliser la page Orientation. Prochain article en préparation NSCA et Vagrant, bonne lecture Happy

install_ubuntu

Comments

Création de macros personnalisées avec Clapi

clapiDepuis que la nouvelle version 2.4 est arrivée, les commandes Clapi sont complètement opérationnelles. Nous allons pouvoir gérer pleinement nos macros personnalisées. Dans mes exemples de configuration, j'utilise ces fameuses macros personnalisées pour gérer mes templates. Pour la création, les commandes CLAPI fonctionnent sans problème, mais pour modifier une macro, il faut récupérer l'ID, le nom de la macro ne suffit pas. De plus il n'existe pas de commande pour réaliser cette opération.

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‚Ķ
Comments

Trouvez vos commandes check envoyées par Centreon-Engine

logo pluginLors de mes installations, je me suis confronté au manque d'interface pour rechercher un dysfonctionnement de mes plugins. En effet, l'interface de Centreon n'offre pas beaucoup de choix pour l'affichage des logs. Nagios, quant à lui, offre une interface efficace comme le montre l'image ci-dessous :

log_nagios

Nous allons voir que malgré une absence d'interface sur Centreon, le Broker de celui-ci nous offre beaucoup plus de renseignements. Lire plus‚Ķ
Comments

Comment déployer une configuration en quelques minutes

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.

create_conf_clapi

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

Comments
 Vous êtes ici: