Comment administrer vos plateformes Centreon avec CentCTL ?

Victor COUMAILLEAU
Victor COUMAILLEAU

Technicien Intégration & Déploiement de supervision

La bonne marche d’un système d’information, passe par sa constante supervision afin d’être alerté en cas d’éventuel problème. Le logiciel français de supervision de système d’information par excellence actuel est Centreon, paramétrable depuis l’interface Web ou par SSH (CLAPI). Bien que CLAPI tient ses promesses, ses contraintes d’utilisation compliquent l’automatisation de la supervision. YPSI va pallier cette contrainte avec CentCTL. 

Comment l’équipe YPSI procédait avant CentCTL ?

Centreon est une solution de supervision administrable via une interface Web. L’interface graphique web est une bonne méthode, mais ne permet pas une automatisation des tâches d’administration. C’est ainsi, que pour administrer de façon optimale Centreon, CLAPI a été développé.

CLAPI est un outil de ligne de commande, qui permet d’exécuter toutes (ou presque) les tâches d’administration. Il est présent depuis les versions 2.8.x de Centreon. Son avantage principal, c’est qu’il est préinstallé avec le serveur central de Centreon et profite d’une maintenance par l’éditeur.

Mais il présente également quelques défauts :

  •  Il est développé en PHP et utilise les classes internes de Centreon. CLAPI n’est utilisable qu’en local sur le serveur hébergeant Centreon Central. On doit donc avoir un accès SSH pour pouvoir se servir de CLAPI ;
  • Un inconvénient majeur est l’affichage en clair des identifiants de connexion à chaque utilisation de l’application. Ce qui pose des questions en cas d’intégration dans des scripts automatisés ;
  • CLAPI a une syntaxe très particulière. L’outil est très bien documenté sur le site officiel de Centreon, mais il est indispensable de l’avoir sous les yeux pour s’en servir. Le format d’entrée est très sommaire et nécessite de bien connaître la structure des objets centreon (y compris sur la partie Business comme BAM par exemple).

 

Exemple de commande CLAPI pour créer un hôte : centreon -u admin -p centreon -o HOST -a ADD -v « test;Test host;127.0.0.1;generic-host;central;Linux ». La première partie de la commande est simple. Mais la partie après le -v, où l’on donne les valeurs pour créer notre hôte, est moins évidente.

CLAPI vs CentCTL

Schema_CLAPI_CentCTL_COUMAILLEAU p

Schéma réalisé par Victor COUMAILLEAU

CentCTL qu’est-ce que c’est ?

CenCTL a été conçu pour faciliter le travail d’exploitation de Centreon au quotidien pour les équipes de YPSI.

Développé par Mélissa Bertin en 2020, CentCTL utilise la méthode API REST. L’API permet, à l’instar de CLAPI, de réaliser (presque) toutes les tâches sur Centreon.

Cependant, l’API REST n’est pas utilisable tel quel dans un usage d’administration quotidien. Elle est par exemple utilisée par le client Mobile de Centreon, mais reste limitée à un seul serveur administrable. Mais on peut l’utiliser pour développer des outils qui font des appels sur cette API.

CentCTL est l’un de ces outils. En effet, il utilise l’API REST v1 afin d’effectuer plusieurs opérations d’administration, de manière plus claire et plus pratique. En ayant juste accès à l’API REST, on peut administrer la plateforme Centreon sans pour autant avoir un accès SSH au serveur.

CentCTL comment ça fonctionne ?

Même sans interface WEB, et si les droits de l’utilisateur les permettent, CentCTL est opérationnel. Pour s’authentifier, on utilise un fichier où on saisie un l’URL de Centreon, l’utilisateur, le mot de passe, et un alias. 

De cette façon, à chaque commande, il suffira de préciser l’alias du Centreon à administrer, et CentCTL récupérera les informations d’authentification dont il a besoin. D’autant, plus pratique que vous pouvez saisir plusieurs serveurs, à l’instar d’un fichier de configuration d’hosts ssh sous Linux par exemple.

Il a été développé en Golang, le programme peut donc être compilé pour une utilisation sur n’importe quel OS (Windows, MacOS, Linux). Il permet aux administrateurs sous Windows d’accéder en ligne de commande à l’administration Centreon, sans passer par une session SSH. 

L’utilisation de CentCTL est aussi possible dans une intégration CI/CD, pour automatiser du déploiement de service intégré dans des scripts powershell ou bash.

CentCTL.GIF

Quels sont les avantages à utiliser CentCTL ?

Un avantage indéniable de  CentCTL est de permettre une utilisation plus claire, sans avoir besoin d’être devant la documentation pour chaque action. Cela passe par la syntaxe des commandes. En cas de doute, l’outil intègre un message d’aide pour chaque commande.

Exemple de commande CentCTL pour créer un hôte: centctl –server my-central add host -n test -a « Test host » -i 127.0.0.1 -t « generic-host » -o « Central » -g Linux

OU centctl –server my-central add host –name test –alias « Test host » –addressIP 127.0.0.1 –template « generic-host » –poller « Central » –hostgroup Linux.

CentCTL permet également d’extraire les informations de supervision et de passer ces résultats dans différents formats (CSV, JSON, YAML..).

Enfin, un point important, CentCTL intègre des fonctions d’importation très pratiques pour la migration de plateforme ou l’installation rapide de configuration.

L’application est en licence opensource, et une nouvelle version en 2021 intégrera les API v2 de Centreon utilisable depuis les versions 20.x

Vous pouvez trouver les sources du projet à https://github.com/YPSI-SAS/centctl et surtout n’hésitez pas à nous envoyer un message pour nous faire part de votre usage de l’application !

Contact de l’auteur : victor.coumailleau@ypsi.fr

Suivez-nous

La publication a un commentaire

  1. Celestin

    En pleine migration centreon avec une plate-forme multipoller je pense me pencher sur la solution centctl qui semble répondre à mon besoin de configuration distante de la solution de supersion

Répondre à Celestin Annuler la réponse

Ce site est protégé par reCAPTCHA et la Politique de confidentialité, ainsi que les Conditions de service Google s’appliquent.