Intégrations

Intégration Centreon

Reliez Centreon à Astry pour ouvrir automatiquement des incidents à partir des problèmes d'hôtes et de services détectés par Centreon.

Centreon est une plateforme de supervision d'infrastructures IT. En l'intégrant à Astry, les problèmes d'hôtes et de services détectés par Centreon ouvrent automatiquement des incidents sur Astry, et vous bénéficiez des fonctions d'alerting (SMS, appels, ...) et de gestion d'astreinte d'Astry.

L'intégration repose sur deux commandes de notification Centreon, qui appellent l'URL de l'intégration avec une de vos clés. Aucun module supplémentaire n'est à installer sur votre serveur Centreon.

Configuration

Avant de commencer, activez l'intégration et générez une clé depuis la page de l'intégration Centreon (onglet Organisation puis Intégrations entrantes) : vous en aurez besoin dès la première étape.

1. Créer les commandes de notification

Dans Configuration > Commands > Notifications, cliquez sur Add et créez une commande nommée notify-astry-service. Sélectionnez Notification comme Command Type (Centreon peut pré-sélectionner Check), puis collez la ligne de commande suivante en remplaçant VOTRE_CLE par une de vos clés, et cliquez sur Save :

/usr/bin/curl -s -m 10 -X POST "https://api.astry.fr/integrations/centreon/1/alert/VOTRE_CLE" --data-urlencode "NOTIFICATIONTYPE=$NOTIFICATIONTYPE$" --data-urlencode "HOSTID=$HOSTID$" --data-urlencode "HOSTNAME=$HOSTNAME$" --data-urlencode "HOSTALIAS=$HOSTALIAS$" --data-urlencode "HOSTADDRESS=$HOSTADDRESS$" --data-urlencode "SERVICEID=$SERVICEID$" --data-urlencode "SERVICEDESC=$SERVICEDESC$" --data-urlencode "SERVICESTATE=$SERVICESTATE$" --data-urlencode "SERVICESTATEID=$SERVICESTATEID$" --data-urlencode "SERVICEOUTPUT=$SERVICEOUTPUT$" --data-urlencode "LONGSERVICEOUTPUT=$LONGSERVICEOUTPUT$" --data-urlencode "LONGDATETIME=$LONGDATETIME$"

Créez ensuite de la même façon une commande notify-astry-host, avec la ligne de commande suivante (en remplaçant là aussi VOTRE_CLE) :

/usr/bin/curl -s -m 10 -X POST "https://api.astry.fr/integrations/centreon/1/alert/VOTRE_CLE" --data-urlencode "NOTIFICATIONTYPE=$NOTIFICATIONTYPE$" --data-urlencode "HOSTID=$HOSTID$" --data-urlencode "HOSTNAME=$HOSTNAME$" --data-urlencode "HOSTALIAS=$HOSTALIAS$" --data-urlencode "HOSTADDRESS=$HOSTADDRESS$" --data-urlencode "HOSTSTATE=$HOSTSTATE$" --data-urlencode "HOSTSTATEID=$HOSTSTATEID$" --data-urlencode "HOSTOUTPUT=$HOSTOUTPUT$" --data-urlencode "LONGDATETIME=$LONGDATETIME$"

La page de l'intégration affiche ces commandes avec l'URL de votre environnement et un bouton pour les copier.

La commande notify-astry-service une fois remplie

2. Créer un contact Astry

Dans Configuration > Users > Contacts / Users, cliquez sur Add et créez un contact, par exemple avec astry comme alias et Astry comme nom complet (Centreon impose une adresse email, qui n'est pas utilisée par l'intégration). Dans les sections Notification, Host et Service :

  • passez Enable Notifications à Yes ;
  • choisissez les périodes de notification 24x7 ;
  • choisissez notify-astry-host comme commande de notification d'hôte et notify-astry-service comme commande de notification de service ;
  • cochez les options de notification adaptées à vos besoins, par exemple Down et Unreachable pour les hôtes, Warning, Unknown et Critical pour les services (Recovery est inutile, les retours à la normale étant ignorés par Astry).

Cliquez sur Save.

Le contact Astry une fois rempli

3. Ajouter un hôte de test

Pour valider l'intégration de bout en bout, créez un hôte de test dans Configuration > Hosts > Hosts (Add) : nommez-le astry-test, utilisez 192.0.2.1 comme adresse (une adresse réservée à la documentation qui ne répond jamais : l'hôte sera donc détecté comme injoignable) et un modèle d'hôte qui effectue un ping, par exemple generic-active-host.

Configuration de l'hôte astry-test

Dans l'onglet Notification, passez Notification Enabled à Yes et ajoutez le contact Astry dans Linked Contacts, puis cliquez sur Save.

Onglet Notification de l'hôte astry-test

Pour vos hôtes et services réels, procédez de la même façon : ajoutez le contact Astry (directement ou via un groupe de contacts) aux hôtes et services qui doivent lever des incidents sur Astry, en vérifiant que leurs notifications sont activées.

4. Exporter la configuration

Dans Configuration > Pollers > Export configuration, sélectionnez votre ou vos collecteurs, cochez Generate Configuration Files, Move Export Files et Restart Monitoring Engine, puis cliquez sur Export.

Export de la configuration

5. Vérifier qu'un incident s'ouvre sur Astry

Au bout d'une à deux minutes, Centreon détecte l'hôte astry-test comme DOWN (visible dans Monitoring > Resources Status) et envoie une notification : un incident intitulé astry-test s'ouvre sur Astry, avec la priorité configurée pour DOWN. Une fois la vérification faite, résolvez l'incident sur Astry et supprimez l'hôte de test dans Centreon (puis exportez à nouveau la configuration).

L'hôte astry-test détecté comme DOWN par Centreon

Pas d'incident ? Depuis votre serveur Centreon (ou le collecteur qui envoie les notifications), vérifiez qu'Astry est joignable et que votre clé est valide :

curl -X POST "https://api.astry.fr/integrations/centreon/1/alert/VOTRE_CLE"

La réponse doit être Connection test has succeeded.

Traitement des notifications

  • PROBLEM : ouvre un incident. Si un incident est déjà ouvert pour le même hôte ou service, la notification est ajoutée à ses alertes (aucun doublon n'est créé).
  • Les autres types de notification (RECOVERY, acquittement, flapping, plage de maintenance) sont ignorés : un incident reste ouvert jusqu'à ce que votre équipe le résolve, même si Centreon signale un retour à la normale.

Correspondance des champs

Champ de l'incidentValeur
TitreSERVICEDESC (HOSTNAME) pour un service, HOSTNAME pour un hôte
DescriptionSERVICEOUTPUT (et LONGSERVICEOUTPUT) ou HOSTOUTPUT
correlationId (dé-duplication)identifiants Centreon de l'hôte et du service (HOSTID, SERVICEID)

Priorités

La priorité de l'incident dépend de l'état remonté par Centreon. Elle est configurable par les Propriétaires de l'organisation depuis la page de l'intégration (section Priorités). Valeurs par défaut :

État CentreonPriorité Astry par défaut
CRITICAL (service)1
WARNING (service)3
UNKNOWN (service)4
DOWN (hôte)1
UNREACHABLE (hôte)2

Réseau

Aucun accès entrant vers votre serveur Centreon n'est nécessaire : ce sont les notifications de Centreon qui sont envoyées vers Astry. Seul un accès HTTPS sortant (port 443) vers api.astry.fr est requis depuis les serveurs qui envoient les notifications (le serveur central, et les collecteurs s'ils envoient des notifications).

Clés et rotation

Vous pouvez disposer de 5 clés par intégration. Pour effectuer une rotation de clé sans interruption (par exemple en cas de compromission) : générez une nouvelle clé, mettez à jour vos deux commandes de notification avec cette nouvelle clé, exportez la configuration, puis révoquez l'ancienne.