Home / Infrastructures / Supervision / Créer une sonde dans Centreon.

Créer une sonde dans Centreon.

Dans ce troisième tutoriel, nous allons voir les bonnes pratiques pour créer une sonde dans Centreon. Nous allons commencer simplement par créer une sonde qui fait un ping d’un équipement et nous remonte comme information le délai de latence (RTA) et le pourcentage de paquets perdu.

Installation des plugins Pack de Nagios.

Maintenant que votre serveur Centreon est prêt, vous devez utiliser des plugins pour superviser vos hôtes. Hormis les quelques plugins installés avec le Pack Manager vous n’avez pas grand-chose.

En installant les plugins Nagios vous allez avoir une bibliothèque importante pour bien débuter dans la supervision. Les plugins sont des petits programmes ou script en Python, Perl, BASH, Powershell, ….

Astuce !!! Si vous souhaitez vous lancer dans le développement de script PERL pour Centreon vous pouvez consulter ces deux tutoriels : Découvrez les modules CPAN et le langage PERL et Modèles de scripts PERL pour Centreon

Tout d’abord vous devez télécharger la dernière version des plugins Nagios depuis ce lien : Plugin Nagios pour Centreon

Récupérer l’archive des plugins Nagios avec la commande wget.

# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Installer les plugins Nagios pour Centreon

Le chemin par défaut des plugins Nagios est /usr/local/nagios/libexec/. Avant de pouvoir les utiliser nous allons devoir installer un certain nombre de dépendances et activer le dépôt EPEL.

yum install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release
yum install -y perl-Net-SNMP
yum install -y postgresql-devel
yum install -y libdbi-devel
yum install -y openldap-devel
yum install -y mariadb-devel mariadb-libs
yum install -y bind-utils
yum install -y samba-client
yum install -y qstat
yum install -y fping
yum install -y openssh-clients
yum install -y lm_sensors

Maintenant il faut compiler et installer les plugins Nagios :

./configure
make
make install

Enfin il suffit de faire un ls /usr/local/nagios/libexec/ pour voir tous les plugins à disposition.

Compiler les plugins Nagios pour Centreon

Création d’une commande de monitoring avec Fping.

Pour réaliser notre première commande de supervision, nous allons utiliser fping qui permet de vérifier si un équipement répond au ping.

Tout d’abord, il faut aller dans Configuration -> Collecteurs -> Ressources afin de s’assurer que le chemin pour les plugins Nagios est bien configuré, si non il faut le rajouter. Pour ma part le chemin n’était pas présent dans la configuration.

Pour rajouter un chemin, cliquer sur Ajouter.

Ajouter une variable ressource dans Centreon

  • 1 : Nom votre variable qui nous servira à appeler le chemin où sont stockés les plugins dans nos commandes.
  • 2 : Indiquer le chemin où son stocké les plugins Nagios.
  • 3 : Sélectionner Central.
  • 4 : Saisir une légende.
  • 5 : Cliquer sur Sauvegarder pour créer la nouvelle ressource.

Je vous conseille avant d’exécuter la commande Fping, directement sur votre serveur Centreon.

tester la commande Fping en local sur votre serveur centreon avant de créer une sonde

La commande s’exécute correctement.

Astuce !!! Centreon exécute les scripts dans l’interface graphique avec l’utilisateur centreon-engine. Donc si vous avez des problèmes tester en ligne de commande avec cet utilisateur.
# su centreon-engine

Pour créer notre contrôle nous devons aller dans Configuration -> Commande -> Contrôles -> Ajouter

Création d'une commande dans Centreon

La création d’une commande peut paraitre fastidieuse au premier abord mais une fois que vous avez créé un modèle, il suffira de dupliquer celui-ci et l’adapter au besoin.

  • 1 : Nom de commande, saisir le nom du contrôle. Il faut essayer d’être précis dans la dénomination. Vous pouvez mettre en place un système de nommage. Je vous conseille de le faire dès le début. Quand vous aurez plusieurs dizaines de scripts vous serez content que tout soit classé.
  • 2 : Type de commande cocher Vérification.
  • 3 : Ligne de commande, c’est la partie la plus délicate, vous devez utiliser en premier la ressource créée plus haut pour indiquer le chemin du plugin à utiliser. Puis vous devez utiliser les variables comme $HOSTADDRESS$ pour récupérer l’adresse IP au niveau du modèle de l’hôte. Ensuite il faudra peupler les différentes options. Je vous conseille de commencer les variables soit par $_HOST… (variable déclarée au niveau du modèle de l’HOST) ou $_SERVICE… (variable déclarée au niveau du modèle du service).
  • 4 : Description des macros, ici vous pouvez expliquer à quoi corresponde chaque variable.
  • 5 : Connecteurs, afin d’optimiser les requêtes de contrôles vous pouvez sélectionner un connecteur pour les scripts en PERL ou bien qui se base sur une connexion SSH. Attention toutefois tous les scripts ne supportent pas ces connecteurs. Je vous conseille quand même de les utiliser, cela soulage grandement les ressources de votre serveur.
  • 6 : Modèle de graphique, Sélectionner un modèle de graphique si besoin pour avoir de belles courbes pour votre contrôle.
  • 7 : Commentaire, vous expliquer ce que fait le plugin tout simplement. Penser à vos collègues.
  • 8 : Cliquer sur Sauvegarder pour créer votre contrôle.

Création d’un modèle de service Generic-Service

Ce modèle un peu spécial servira de base à tous vos services et hôtes. Il contiendra toutes les informations concernant les Options d’ordonnancement des services comme les périodes de contrôle, le nombre de contrôle avant validation de l’état, intervalle normal de contrôle ainsi que les options de notifications….

Pour créer ce service il faut aller dans Configuration -> Services -> Modèles -> Ajouter

Création du modèle de service Generic-Service pour Centreon

  • 1 : Par habitude je nomme ce service Generic-Service, je trouve que ce nom lui va bien puisqu’il contiendra toutes les informations communes à tous nos services.
  • 2 : Période de contrôle, sélectionner la valeur qui vous convient, me concernant je mets toujours 24×7.
  • 3 : Nombre de contrôle avant validation de l’état, Centreon va vérifier 3 fois le statut du service afin de changer son état CRITICAL, WARNING, OK, UNKNOWN.
  • 4 : Intervalle normal de contrôle, chaque service d’un hôte sera vérifié toutes les 5 minutes.
  • 5 : Intervalle non-régulier de contrôle, Centreon va vérifier toutes les minutes le service de l’hôte en cas de problème.
  • 6 : Sauvegarder le nouveau service.

Création du modèle de service Generic-Service pour Centreon

  • 1 : Pour l’instant je ne gère pas les notifications que ce soit par mail ou pas SMS donc j’ai coché Non. Le jour où je voudrais une notification j’ai juste à modifier ce service pour que les nouveaux paramètres s’appliquent à tout le monde.
  • 2 : Période de notification, même si je ne gère pas les notifications j’ai choisi une période pour éviter les warnings dans les compilations.
Les notifications par mail ou pas SMS, feront l’objet d’un tutoriel à part entière. Mais en utilisant le Generic-Service vous êtes déjà prêt.

Tous les paramètres sont modifiables en fonction de vos besoins. J’ai mis ceux que j’utilise depuis de nombreuses années sans problème particulier.

Création d’un modèle d’hôte Generic-Host.

Idem que ci-dessus mais appliqué aux hôtes. Seule petit changement nous allons lui appliquer une commande de vérification (un ping) pour savoir si l’hôte est toujours présent sur le réseau ou non. C’est cette commande qui nous permettra de connaitre les hôtes défaillants.

Attention !!!! Au préalable, il faudra créer une commande de contrôle avec le script check_icmp. Vous pouvez vous basez sur le script ci-dessous.

Créer une commande Check_Host_Alive pour savoir si nos hôtes sont UP ou DOWN dans Centreon

Pour notre modèle générique pour les hôtes, il faut aller dans Configuration -> Hôtes -> Modèles -> Ajouter puis compléter la fiche comme ci-dessous.

Création du modèle de Host Generic pour Centreon

Création du modèle de service Generic-Service pour Centreon

Création d’un modèle de service.

Maintenant nous devons créer un modèle de service (qui s’appuiera sur notre Service-Generic). Dans les bonnes pratique Centreon conseille d’utiliser les modèles.

Il faut aller dans Configuration -> Services -> Modèles.

Création du modèle de service Generic-Service pour Centreon

Cette étape est assez simple.

  • 1 : Alias et Nom, définissez le nom de votre service en fonction de vos conventions de nommage. Je rappelle qu’il est important de mettre en place dès le début une convention de nommage pour s’y retrouver au bout de quelques années de supervision.
  • 2 : Modèle, sélectionner dans la liste Generic-Service qui appliquera tous les paramètres communs à vos scripts.
  • 3 : Commande de vérification, sélectionner votre script de vérification, créer plus haut.

Création d’un modèle d’hôte.

Maintenant nous devons créer un modèle d’hôte, qui regroupera tous les services à superviser pour ces hôtes. J’ai créé un modèle d’hôte par type d’équipement. Par exemple un modèle pour les switchs Cisco, pour les NAS-QNAP, pour les onduleurs,

Création d'un modèle d'hôte qui regroupera les services

  • 1 : Nom et Alias, définissez un nom pour le modèle d’hôte. Ce modèle permettra d’appliquer tous les services à superviser pour une catégorie d’hôte bien particulière, ici les NAS-QNAP.
  • 2 : Modèles, sélectionner le modèle Generic-Host, qui contient toutes les informations communes aux hôtes notamment concernant les options d’ordonnancement et les notifications.
  • 3 : Arguments, c’est ici que l’on paramètrera les options des plugins. Il faudra saisir les saisir et rentrer des valeurs.

Création d'un modèle d'hôte qui regroupera les services

  • 1 : Sélectionner les services qui devront être utilisés sur cet hôte (c’est ici que l’on sélectionne les éléments à monitorer pour un hôte
  • 2 : Catégorie d’hôtes parents, je vous conseille grandement de créer des catégories pour vos hôtes afin de les regrouper par ensemble. Lorsque vous aurez des centaines d’hôtes à gérer, il suffira de sélectionner une catégorie pour appliquer un modèle d’hôte et tous les hôtes seront mis à jour en quelques secondes. Imaginer que vous devez rajouter un service à superviser sur vos switchs Cisco par exemple le NTP. Il suffira de sélectionner la catégorie switch Cisco et d’appliquer le modèle et vos 300 switchs auront le nouveau service NTP de monitorer.
Attention !!! une fois vos catégories de créer, je vous conseille de créer les même au niveau des groupes d’hôtes. Je n’ai pas encore trop compris la différence que fait Centreon entre les catégories et les groupes au niveau des hôtes. Pour moi les catégories d’hôtes ce gèrent au niveau des modèles d’hôtes, alors que les groupes d’hôtes ce gèrent au niveau des hôtes.

Création d’un Hôte.

Dans Centreon, l’hôte est l’élément de base. Sa création est très simple.

Allez dans Configuration -> Hôtes -> Ajouter

Création d'un hôte dans Centreon

  • 1 : Nom et alias, ici vous devez saisir le nom de l’hôte selon votre convention de nommage, puis dans Alias généralement je précise le lieu. Je trouve cela assez pratique pour retrouver rapidement des éléments.
  • 2 : Adresse IP/DNS, vous pouvez saisir soit l’adresse IP de l’hôte soit son nom. Si vous ne connaissez pas son nom, cliquer sur résoudre. S’il est déclaré dans votre DNS, Centreon affichera son nom.
  • 3 : Surveillé depuis le collecteur, par défaut c’est le Central. Mais dans une architecture distribuée cela peut-être un collecteur spécifique.
  • 4 : Modèle, choisissez Generic-Host pour toutes les options communes de l’hôte notamment les options d’ordonnancement et les notifications.

Création d'un hôte dans Centreon

  • 1 : Groupes d’hôtes parents, sélectionner les groupes d’hôtes dont votre hôte dépend. Je vous conseille de le faire car cela sera plus facile pour retrouver, trier vos hôtes. Cela peut aussi être pratique pour afficher les graphiques.
  • 2 : Catégorie d’hôtes parents, idem que ci-dessus.
  • 3 : Hôtes parents, cela peut être pratique en réseau notamment. Lorsqu’un switch dépend d’un autre, d’indiquer qui est le père. Cela peut paraître anodin. Imaginer un switch de pied de bâtiment sur lequel est relier 30 switchs d’extrémités, si le pied de bâtiment tombe Centreon affichera alors 30 alertes, alors que si le parent est renseigné pour tous les switchs d’extrémités Centreon ne générera qu’une seule alerte pour le switch de pied de bâtiment. Cette astuce facilite grandement la lecture de vos alertes en cas de grosse panne pour identifier immédiatement l’élément en cause.

Appliquer un modèle à un groupe d’hôte.

Maintenant que vous avez défini tous vos modèles, hôtes, services, … il est temps d’appliquer un modèle à vos groupes d’hôtes.

Aller dans Configuration -> Hôtes -> Sélectionner un groupe d’hôtes pour appliquer votre modèle.

Appliquer un modèle à un groupe d’hôte.

Cela affichera tous les hôtes du groupe NAS-QNAP que vous avez créé. Puis sélectionner ceux qui doivent avoir le modèle NAS-QNAP.

Appliquer un modèle à un groupe d’hôte.

Ensuite dans la liste Plus d’actions, sélectionner Changement massif.

Appliquer un modèle à un groupe d’hôte.

  • 1 : Modèles, sélectionner le modèle à appliquer à vos hôtes sélectionnés. Ici se sera NAS-QNAP.
  • 2 : Créer aussi les services liés aux modèles, sélectionner Oui.
  • 3 : Cliquer sur Sauvegarder pour appliquer les modifications.

Pour que Centreon prenne en compte les modifications, il faut aller dans Collecteurs -> Configurer les collecteurs -> Exporter la configuration.

Appliquer les modifications dans Centreon

Astuce !!! Pour savoir si Centreon a besoin de redémarrer ses services pour prendre en compte les modifications, regarder la colonne Changements de configuration qui doit être à Oui et en rouge.

Appliquer les modifications dans Centreon

  • 1 : Cocher toutes les cases sauf Commande exécutés post-generation.
  • 2 : Méthode, sélectionner Recharger et cliquer sur Exporter.

Explications :
Au sein de la page de génération de la configuration, plusieurs options sont disponibles :

  • Générer les fichiers de configuration : Génère les fichiers de configuration de l’ordonnanceur dans un répertoire temporaire. Cette configuration est générée à partir des objets configurés via l’interface web.
  • Lancer le déboggage du moteur de supervision (-v) : Permet à l’ordonnanceur de vérifier la configuration générée.
  • Déplacer les fichiers générés : Déplace les fichiers de configuration du répertoire temporaire vers le répertoire de l’ordonnanceur.
  • Redémarrer l’ordonnanceur : Redémarre l’ordonnanceur afin d’appliquer les nouveaux fichiers de configuration.
  • Commande exécutée post-génération : Exécute la commande post-génération paramétrée au niveau de la configuration de l’ordonnanceur

Appliquer les modifications dans Centreon

Si tout reste en vert, vous avez gagné. Sinon traiter les erreurs. Par moment des warning peuvent apparaitre mais cela n’empêche pas de générer la configuration.

Vérifications.

Afin de s’assurer que votre hôte est bien supervisé, il faut aller dans Supervision -> Détails des statuts -> Hôtes. Vous devriez voir apparaitre votre hôte avec le statut UP.

vérification du status des ses hôtes dans Centreon

Puis aller dans Supervision -> Détails des statuts -> Services -> Statut du service (sélectionner Tous)

Vérification du statut des services pour ses hôtes dans Centreon

La liste des services monitorés pour cet hôte doivent apparaitre. Il peut être utile de patienter un peu si vous gérer beaucoup d’hôtes où de services dans votre infrastructure avant de les voir apparaitre.

Conclusion.

Vous avez fait le plus dur. Mais si cette étape peut paraitre insurmontable vous avez de bonnes bases pour ajouter des services et des hôtes grâce aux modèles et créer une sonde dans Centreon. Il suffit juste maintenant de dupliquer les hôtes, modèles pour les modifier rapidement et les appliquer à vos matériels.

That’s All.

Laisser un commentaire

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

ut Nullam elit. nunc ut tempus suscipit elementum justo ipsum risus dapibus
4 Partages
Partagez1
Tweetez1
Enregistrer1
Partagez
Partagez1