Aller au contenu principal

Intégration domotique Centreon, gratuite et open source

Intégration Centreon pour Gladys Assistant

Vos hôtes et services Centreon dans Gladys, et des scènes quand un hôte tombe ou un service échoue.

Votre supervision Centreon dans Gladys : chaque hôte devient un appareil (UP, services WARNING, CRITICAL et UNKNOWN, problèmes non traités, acquitté, maintenance), un appareil « Centreon » résume l'ensemble, et vos scènes réagissent quand un hôte tombe ou qu'un service échoue — une lumière rouge quand le NAS tombe, un message quand une sauvegarde passe CRITICAL. Une scène peut aussi acquitter les problèmes d'un hôte, et un widget du tableau de bord liste les problèmes en cours.

L'intégration lit l'API REST v2 de Centreon (/centreon/api/latest) sur votre réseau local, avec un utilisateur Centreon dédié. Rien ne passe par un cloud.

Testé contre un vrai Centreon 24.10 (24.10.12, image Docker communautaire tout en un : checks de test forcés en WARNING, CRITICAL et UNKNOWN, un hôte DOWN, un hôte UNREACHABLE derrière lui, une maintenance, des acquittements, un hôte jamais vérifié, des utilisateurs sans les droits). Vos retours sont les bienvenus : github.com/guim31/gladys-centreon/issues.

Ce qu'il vous faut​

  • Gladys Assistant 5.1.0 ou plus récent.
  • Centreon avec son API REST v2 (seule la 24.10 a été testée ; 22.04 et plus récent devraient convenir), son interface web joignable depuis la machine de Gladys (le plus souvent http://<adresse>/centreon). Éditions Open Source, IT ou Business.
  • Un utilisateur Centreon pour Gladys, avec seulement les droits utiles.

Mise en route​

1. Créer un utilisateur Centreon​

Dans Centreon, en administrateur :

  1. Configuration > Utilisateurs > Contacts / Utilisateurs > Ajouter : un utilisateur gladys, non administrateur, avec un long mot de passe. Dans l'onglet Authentification Centreon, passez Reach API Realtime à Oui (l'API de configuration n'est pas nécessaire).
  2. Administration > ACL > Accès aux ressources : une ressource avec les hôtes à suivre (ou tous les hôtes) et, si vous filtrez par groupes d'hôtes, ces groupes d'hôtes aussi : un utilisateur ne voit un groupe d'hôtes que si ses ressources le contiennent.
  3. Administration > ACL > Accès aux actions (pour acquitter depuis Gladys) : un accès avec Acquitter pour les hôtes et pour les services.
  4. Administration > ACL > Groupes d'accès : un groupe avec l'utilisateur, la ressource et l'accès aux actions.

Centreon calcule les ACL en moins d'une minute.

2. Configurer l'intégration​

Dans Gladys, ouvrez la configuration de l'intégration :

  • Adresse : l'adresse de l'interface web de Centreon, ex. 192.168.1.2. http:// et /centreon sont ajoutés sauf si vous en saisissez d'autres (ex. https://supervision.example.com/centreon). Une adresse copiée depuis le navigateur convient aussi.
  • Identifiant Centreon et Mot de passe : l'utilisateur de l'étape 1.
  • Groupes d'hôtes (facultatif) : noms de groupes d'hôtes séparés par des virgules, ex. homelab, linux-servers : un hôte de l'un d'eux est retenu. Vide : tous les hôtes que l'utilisateur voit.
  • Intervalle de rafraîchissement : de 30 secondes à 5 minutes (1 minute par défaut).
  • Autoriser l'acquittement depuis les scènes : décochez pour désactiver l'action d'acquittement.
  • Accepter les certificats auto-signés : seulement pour une adresse https:// dont le certificat est auto-signé. Désactivé par défaut.
  • Langue des noms : langue des noms de fonctionnalités et des résultats de scène.

Enregistrez, puis cliquez sur Tester la connexion : vous obtenez la version de Centreon, le nombre d'hôtes, d'hôtes DOWN et de services en problème.

3. Ajouter les appareils​

Ouvrez l'onglet Découverte de l'intégration et ajoutez les hôtes à suivre, et l'appareil « Centreon » si vous voulez les totaux. Les déclencheurs de scène valent pour tous les hôtes, ajoutés à Gladys ou non.

Les appareils​

Chaque hôte (nommé d'après son nom dans Centreon ; le renommer dans Centreon garde le même appareil) :

FonctionnalitéValeur
Hôte UP1 UP, 0 DOWN ou UNREACHABLE ; vide tant que l'hôte est PENDING
Services WARNINGnombre de services WARNING
Services CRITICALnombre de services CRITICAL
Services UNKNOWNnombre de services UNKNOWN
Problèmes non traitésproblèmes de l'hôte et des services ni acquittés ni en maintenance
Hôte acquitté1 quand l'hôte est DOWN ou UNREACHABLE et son problème acquitté
En maintenance1 pendant une plage de maintenance de l'hôte

L'appareil Centreon : Hôtes DOWN (DOWN ou UNREACHABLE), Services WARNING, Services CRITICAL, Services UNKNOWN et Problèmes non traités, sur les hôtes de la configuration.

Un hôte est UNREACHABLE quand il est DOWN derrière un hôte parent tombé lui aussi. Les compteurs de services comptent les états que Centreon confirme encore (SOFT), comme le fait la vue Statut des ressources. Les valeurs ne sont envoyées à Gladys que lorsqu'elles changent, et toutes les 6 heures sinon.

Tableau de bord​

Le widget Problèmes Centreon montre trois tuiles — les hôtes DOWN, les services CRITICAL, les problèmes non traités — et les problèmes : hôtes DOWN, puis UNREACHABLE, puis services CRITICAL, UNKNOWN et WARNING, les plus récents d'abord. Chaque ligne donne le service et son état, l'hôte, ✓ une fois acquitté et ⏸ en maintenance. Dix lignes au plus. Actualiser relit Centreon. Dans ses réglages, choisissez des hôtes pour ne montrer que les leurs (vide : tous).

Scènes​

Déclencheurs​

  • Un hôte tombe : un hôte passe DOWN ou UNREACHABLE. Filtre : hôtes (vide : n'importe lequel). Variables : nom de l'hôte, état (DOWN, UNREACHABLE). Un hôte qui passe de DOWN à UNREACHABLE n'est pas annoncé deux fois.
  • Un hôte revient : un hôte annoncé tombé est de nouveau UP. Variables : nom de l'hôte, durée en minutes.
  • Un service pose problème : un service passe WARNING, CRITICAL ou UNKNOWN, ou change entre eux (de WARNING à CRITICAL, par exemple). Filtres : hôtes, états (vide : tous ; pour « CRITICAL seulement », choisissez CRITICAL). Variables : nom de l'hôte, service, état, sortie du check (sa première ligne).
  • Un service revient OK : un service annoncé en problème est de nouveau OK. Filtres : hôtes, dernier état de problème annoncé. Variables : nom de l'hôte, service, dernier état de problème, durée en minutes.
  • Centreon ne répond plus : l'API REST ne répond pas deux fois de suite (variables : adresse, erreur).

Les problèmes déjà présents au démarrage de l'intégration ne sont pas annoncés, mais leur fin l'est. Seuls les états confirmés (HARD) comptent : tant que Centreon refait un check (état SOFT, jusqu'au « Nombre de contrôles avant validation de l'état »), rien n'est annoncé, comme Centreon ne notifie pas non plus. Un changement survenu pendant un redémarrage de Gladys ou de l'intégration est annoncé une fois à la lecture suivante. Un problème en maintenance (du service ou de son hôte) n'est pas annoncé ; s'il est toujours là à la fin de la maintenance, il l'est alors.

Actions​

  • Acquitter les problèmes d'un hôte : acquitte dans Centreon le problème de l'hôte (DOWN, UNREACHABLE) et chacun de ses services en problème pas encore acquitté, avec un commentaire (vide : « Acquitté depuis Gladys »), au nom de l'utilisateur de Gladys. L'acquittement est persistant (jusqu'au retour UP de l'hôte ou OK du service), son commentaire est gardé, et il ne notifie personne. Renvoie le nombre acquitté. Désactivable par « Autoriser l'acquittement depuis les scènes ».
  • Lire les problèmes : compte et liste les problèmes d'un hôte, ou de tous, pour les actions suivantes : nombre, non traités, hôtes DOWN, services CRITICAL, WARNING et UNKNOWN, et la liste « hôte : problème ».

Idées de scènes​

  • Une lumière rouge quand le NAS tombe : déclencheur « Un hôte tombe », hôte nas → passer la lampe du salon en rouge et envoyer {{triggerEvent.data.host}} : {{triggerEvent.data.state_name}}.
  • Seulement les services critiques : déclencheur « Un service pose problème », état CRITICAL → message \{\{triggerEvent.data.host\}\} / \{\{triggerEvent.data.service\}\} : \{\{triggerEvent.data.output\}\}.
  • Bilan du matin : chaque jour à 8 h, « Lire les problèmes » → envoyer le nombre et la liste quand le nombre dépasse 0.
  • Vu depuis le canapé : un bouton du tableau de bord ou une télécommande Zigbee lance « Acquitter les problèmes d'un hôte » sur le NAS.

Dépannage​

  • « Identifiant ou mot de passe refusé par Centreon » : vérifiez l'utilisateur, son mot de passe, et qu'il est activé. Un utilisateur authentifié seulement par LDAP ou SSO peut ne pas accéder à l'API : prenez un utilisateur local.
  • « Accès refusé : autorisez l'utilisateur à Reach API Realtime » : étape 1.1.
  • « Aucun hôte visible » : l'utilisateur n'a pas de ressource ACL avec des hôtes (étape 1.2), ou Centreon n'a pas encore calculé les ACL (attendez une minute).
  • « Groupes d'hôtes introuvables » : vérifiez les noms, et ajoutez les groupes d'hôtes à la ressource ACL de l'utilisateur (étape 1.2).
  • « Centreon ne répond pas » : vérifiez l'adresse depuis la machine de Gladys. localhost désigne le conteneur de l'intégration lui-même : prenez l'adresse IP de la machine de Centreon.
  • « Pas d'API Centreon à cette adresse » : autre chose y répond : saisissez l'adresse de l'interface web, avec son chemin s'il n'est pas /centreon (un Centreon à la racine de son site : https://<adresse>/api/latest).
  • « Ce Centreon redirige vers HTTPS » : saisissez https:// devant l'adresse.
  • « Certificat refusé » : cochez « Accepter les certificats auto-signés ».
  • Un hôte manque : il n'est dans aucun des groupes d'hôtes de la configuration, ou pas dans la ressource ACL de l'utilisateur.
  • L'acquittement est refusé : l'utilisateur a besoin des actions ACL d'acquittement des hôtes et des services (étape 1.3).

Limites​

  • Un seul Centreon par intégration (avec des serveurs distants et des collecteurs, l'adresse du serveur central : il voit tous les hôtes).
  • États des hôtes et des services seulement : ni métriques, ni données de performance, ni vues métier (BAM).
  • L'intégration lit Centreon à l'intervalle choisi : un événement qui va et vient entre deux lectures est manqué.
  • « Un service revient OK » se déclenche aussi quand un service en problème est retiré de la supervision ; un hôte retiré de Centreon ou du périmètre sort sans bruit.
  • 30 événements de scène au plus par lecture : une panne réseau peut en lever des dizaines d'un coup ; la suite part aux lectures suivantes.
  • Pas de quota sur l'API REST : chaque lecture envoie deux requêtes (une de plus avec des groupes d'hôtes, une de plus chaque heure pour la version), et se reconnecte quand Centreon clôt la session.
  • Un acquittement passe par la chaîne de commandes de Centreon (Gorgone) : si elle est arrêtée, Centreon accepte l'acquittement mais il n'atteint jamais le moteur.

Sans lien avec la société Centreon.

Paramètres de configuration​

Voici les paramètres demandés par Centreon dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Votre CentreonsectionNonDans Centreon, créez un utilisateur dédié autorisé à « Reach API Realtime », dans un groupe ACL dont les ressources contiennent les hôtes (et les groupes d'hôtes à filtrer) et, pour acquitter, les actions d'acquittement. Ajoutez ensuite les hôtes depuis l'onglet Découverte.
AdressestringOuiL'adresse de l'interface web de Centreon ; http:// et /centreon sauf si vous en saisissez d'autres (à la racine d'un site : …/api/latest).
Identifiant CentreonstringOui
Mot de passesecretOuiLe mot de passe de cet utilisateur. Pas un administrateur : un utilisateur dédié, avec les seuls droits ci-dessus.
Groupes d'hôtes (facultatif)stringNonNoms de groupes d'hôtes, séparés par des virgules : un hôte de l'un d'eux est retenu. Vide : tous les hôtes que l'utilisateur voit.
OptionssectionNon
Intervalle de rafraîchissementselectNonLa fréquence de lecture de Centreon : deux requêtes d'API à chaque fois (trois avec des groupes d'hôtes).
Autoriser l'acquittement depuis les scènesbooleanNonDécochez pour désactiver l'action de scène « Acquitter les problèmes d'un hôte ».
Accepter les certificats auto-signésbooleanNonSeulement pour https:// avec un certificat auto-signé (courant sur un Centreon à la maison).
Langue des nomsselectNonLangue des noms des fonctionnalités (fixés à l'ajout d'un appareil) et des résultats de scène.

Comment installer Centreon dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : Centreon apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/guim31/gladys-centreon:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-centreon.

Centreon nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes​

Centreon est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂