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.

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-hostcomme commande de notification d'hôte etnotify-astry-servicecomme 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.

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.

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

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.

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

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'incident | Valeur |
|---|---|
| Titre | SERVICEDESC (HOSTNAME) pour un service, HOSTNAME pour un hôte |
| Description | SERVICEOUTPUT (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 Centreon | Priorité 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.