Guide d'intégration Pandora FMS

Pandora FMS rend la supervision visuelle. Il affiche l'état et les performances des paramètres de différents systèmes d'exploitation, serveurs, applications et équipements matériels, tels que les pare-feu et les routeurs. Les données de supervision peuvent également être utilisées dans les rapports et les alertes. Grâce au système d'alertes de Pandora FMS, vous pouvez configurer un nombre quasi illimité d'alertes et de comportements de déclenchement pour vos utilisateurs. Une alerte peut envoyer un e-mail, un SMS, déclencher une alarme sonore, consigner une information ou exécuter toute autre action possible avec un script personnalisé. Combiné à PagerDuty, Pandora FMS vous permet de déléguer les tâches de notification sans avoir à configurer ni à maintenir ces éléments de vos systèmes.

Cette intégration vous permet de convertir les alertes Pandora FMS en incidents PagerDuty . Les alertes Pandora FMS exécutent un script Perl pour créer des incidents PagerDuty via des appels API. Les utilisateurs peuvent configurer leur service pour gérer leurs incidents PagerDuty de manière classique : par e-mail, SMS, appel téléphonique ou notifications push mobiles.

Exigences

Pandora FMS 5.0 ou une version ultérieure doit être installée. Pour obtenir la liste complète des exigences, veuillez consulter la documentation en ligne à l'adresse suivante : https://wiki.pandorafms.com. Perl devra également être installé avec les dépendances suivantes :

  • LWP::UserAgent (Pour effectuer l'appel POST à l'API)
  • JSON (Pour construire la structure de données lors de l'appel)
  • Fichier::Basename (Pour trouver le chemin du script et stocker les fichiers temporaires)
  • IO::Socket::SSL (Pour effectuer l'appel API via HTTPS)

L'intégration s'effectuant via l'API de PagerDuty, une connexion Internet est requise. Depuis Pandora FMS 5.0 SP3, le script d'intégration et une commande d'alerte nommée « Incident PagerDuty » sont inclus par défaut. Si vous avez suivi les étapes ci-dessous, vous pouvez ignorer les étapes 1 et 2 de la section « Dans Pandora FMS » de ce guide.

  • Le chemin d'accès au script d'intégration est : [SERVER_INSTALLATION_PATH]/pandora_server/util/pagerduty/pandorafmsalert2pagerduty.pl
  • La liste des commandes d'alerte de votre système est disponible dans la section Administration > Gérer les alertes > Commandes de votre console Pandora FMS.

Dans PagerDuty

  1. De la part de Services menu, sélectionnez Répertoire des services.
  2. Sur votre page Répertoire des services :
    Si vous créez un nouveau service pour votre intégration, cliquez +Ajouter un nouveau service .
    Si vous ajoutez votre intégration à un service existant, cliquez sur le nom du service auquel vous souhaitez ajouter l'intégration. Cliquez ensuite sur Intégrations onglet et cliquez sur Ajouter une nouvelle intégration lien.
  3. Sélectionnez votre application parmi les Type d'intégration menu et entrez un Nom de l'intégration Si vous créez un nouveau service pour votre intégration, dans les paramètres généraux, saisissez un Nom pour votre nouveau service. Ensuite, dans les paramètres d'incident, spécifiez le Politique d'escalade , Notification urgente , et Comportement lors de l'incident pour votre nouveau service.
  4. Cliquez sur Ajouter un service ou Ajouter une intégration Cliquez sur le bouton pour enregistrer votre nouvelle intégration. Vous serez redirigé vers la page Intégrations de votre service.
    RS-Integration-Settings
  5. Copiez le Clé d'intégration pour votre nouvelle intégration : RS_API_pd_3

Dans Pandora FMS

  1. Téléchargez le script nommé pandorafmsalert2pagerduty.pl depuis le Bibliothèque de modules Pandora FMS .
  2. Placez-le dans un répertoire accessible par le serveur. Le chemin recommandé est :
     [CHEMIN_D'INSTALLATION_DU_SERVEUR]/pandora_server/util/pagerduty/ 
  3. Créez une « commande d’alerte » pour l’exécution générique du script. Cela peut se faire de deux manières : automatiquement avec un script SQL prédéfini ou manuellement via l’interface Pandora FMS.
    1. Automatiquement Exécutez le script SQL PagerDutyPandoraFMSCommand.sql sur votre base de données Pandora FMS (version 5 ou supérieure). Vous trouverez ce script dans le répertoire suivant :
      Bibliothèque de modules Pandora FMS .
    2. Manuellement Aller au menu Administration > Gérer les alertes > Commandes et créez une commande d'alerte contenant l'appel au script qui sera exécuté lorsque l'alerte sera déclenchée :
      Configure the Pandora alert manually La commande consiste à appeler le script d'intégration en utilisant le chemin absolu :
       /usr/share/pandora_server/util/pagerduty/pandorafmsalert2pagerduty.pl '_field8_' '_id_alert_' '_field9_' '_field10_' '_timestamp_' '_alert_text_severity_' '_agent_' '_module_' '_data_' 

      Les champs personnalisés seront :

      • _field8_: Clé API du service récupérée auprès de votre service PagerDuty
      • _field9_ : Type d’incident. Valeurs possibles :
        • Déclencheur : Pour les appels standard permettant de créer ou de mettre à jour des incidents.
        • Résoudre : Clôturer les incidents. _field10_ : Description de l’incident.

      REMARQUE : Il est préférable d’utiliser des champs de valeur supérieure pour assurer la compatibilité avec les modèles et actions classiques, qui utilisent des champs de valeur inférieure.

  4. Créez une action d'alerte pour chaque service PagerDuty . Une alerte dans Pandora FMS peut comporter plusieurs actions ; ces actions utilisent des commandes génériques et ajoutent les paramètres souhaités. Dans ce cas, nous créons une action pour chaque service PagerDuty . Pour ce faire, accédez au menu. Administration > Gérer les alertes > Actes et créer une nouvelle action d'alerte. Configure Pandora Alert Action Dans la configuration de l'alerte, nous saisirons un nom et sélectionnerons la commande PagerDuty que nous avons créée précédemment. Trois champs de configuration apparaîtront :
    • Clé API du service : Voici la clé que nous obtenons grâce à notre service PagerDuty .
    • Taper: Utilisez « Déclencher » pour créer un nouvel incident ou « Résoudre » pour le clôturer. L’option « Résoudre » est généralement utilisée pour les paramètres d’alerte de récupération.
    • Description: Description qui sera envoyée à l'incident PagerDuty . Un exemple générique serait : « Une alerte a été déclenchée dans Pandora FMS ».

    Lorsque nous modifions les champs de configuration, l'aperçu de la commande se met à jour pour nous montrer l'exécution du script d'intégration.

  5. Configurez un modèle d'alerte pour fermer les incidents PagerDuty lorsqu'une alerte est résolue. Cette étape est nécessaire uniquement si vous souhaitez que, lorsqu'une alerte résolue sur Pandora FMS ferme l'incident associé dans PagerDuty. Accédez à Administration > Gérer les alertes > Modèles Pour modifier le modèle souhaité, nous allons configurer l'un des modèles par défaut de Pandora FMS : « Condition critique ». Cette configuration est toutefois compatible avec n'importe quel modèle d'alerte.
    Edit the critical alert template Dans l'éditeur de modèles, accédez à Étape 3 > Récupération .
    Configure the recovery fields

    Les champs configurés sur la commande utilisée pour l'intégration avec PagerDuty sont 8, 9 et 10.

    • Terrain 8 : Service PagerDuty Clé API. Cette clé est configurée dans l'action et reste donc vide.
    • Champ 9 : Type d’incident Nous avons sélectionné « Déclencher » dans l'action pour créer l'incident PagerDuty lorsque l'alerte Pandora FMS a été déclenchée. Lors de la récupération, nous remplaçons la valeur par « résoudre « pour clore l’incident PagerDuty . »
    • Champ 10 : Description de l’incident Nous modifions la description pour enregistrer une description différente dans l'incident lors de sa clôture. Une autre option consiste à laisser le champ vide et à utiliser le champ « Action ». Dans ce cas, le champ recevra le préfixe [RECOVER] lors de la récupération. Une fois l'alerte rétablie (par exemple : la réponse au ping fonctionne à nouveau), l'incident sur PagerDuty sera clôturé (Résolu).
  6. Félicitations ! Votre système Pandora FMS est désormais intégré à PagerDuty.

Vérifiez que Pandora FMS communique bien avec PagerDuty.

  • Créez un exemple d'agent dans Administration > Gérer la surveillance > Gérer les agents en cliquant sur Créer un agent bouton.
    Configure Pandora agent manager
  • Dans l'agent, créez un moniteur réseau simple. Cliquez sur le Créer un nouveau module serveur réseau bouton.
    Create a new network module to test
  • Ce moniteur sera un « hôte actif » qui effectuera un ping vers une adresse IP définie toutes les 5 minutes. Cliquez sur le Créer bouton une fois la configuration du module terminée.
    Configure the settings for the module
  • Pour ce module, nous allons créer une alerte avec le modèle « Condition critique » et l’action « Nouvel incident PageDuty ». Cliquez sur Ajouter une alerte bouton une fois terminé.
    Set the agent to be critical and to alert PagerDuty
  • Vérifiez visuellement l'existence de l'alerte avant qu'elle ne devienne critique.
    Before the alert has gone critical
  • Lorsque ce moniteur atteint un état critique (échec du ping), une alerte est déclenchée. Vérifiez que la couleur est bien passée du vert au rouge.
    Monitor has gone critical Une fois l'alerte déclenchée, vérifiez qu'un incident a bien été créé dans PagerDuty via l'API. Lorsque le module sortira de l'état critique (récupéré), l'incident sera automatiquement résolu dans PagerDuty.

FAQ

Comment les alertes de Pandora FMS correspondent-elles aux incidents PagerDuty ?

Chaque alerte Pandora FMS correspond à un incident PagerDuty ; si aucun incident n'est disponible, un incident sera créé. Un nouvel incident sera créé par une alerte Pandora FMS lorsque :

  • Aucun incident PagerDuty associé à l'alerte n'a pu être trouvé (par exemple, si l'alerte n'a jamais été déclenchée auparavant).
  • Lorsque l'incident PagerDuty associé à l'alerte a été clos (statut : Résolu). Ce statut peut être modifié par :
    • L'utilisateur : L'incident a été marqué comme résolu mais il est toujours en cours ; un nouvel incident sera donc créé et associé à l'alerte.
    • Pandora FMS : Une alerte Pandora FMS est configurée pour clore l’incident une fois celui-ci résolu. En cas de nouveau déclenchement, un nouvel incident sera créé et associé à l’alerte.

Comment fonctionne le script Perl ?

Le script s'appelle pandorafmsalert2pagerduty.pl et possède la syntaxe suivante :

 /pandorafmsalert2pagerduty.pl [service_api_key] [id_alert] [event_type] [description] [fired_timestamp*] [severity*] [agent_name*] [module_name*] [module_data*] 
  • clé_api_de_service : Clé API du service PagerDuty où l'incident sera créé.
  • id_alerte : Numéro d'identification de l'alerte dans Pandora FMS.
  • type_événement : Type d'incident dans PagerDuty; 'trigger' pour créer un incident et 'resolve' pour le clôturer.
  • description: Description enregistrée dans l'incident PagerDuty .
  • horodatage_fired: Horodatage au format « aa-mm-jj hh:mm:ss » ; date et heure auxquelles l'alerte a été déclenchée sur Pandora FMS.
  • gravité: Niveau de gravité de l'alerte (Maintenance, Information, Normale, Mineure, Avertissement, Majeure, Critique).
  • nom_agent : Nom de l'agent Pandora FMS qui a déclenché l'alerte.
  • nom_module : Nom du moniteur Pandora FMS qui a déclenché l'alerte.
  • données_module : Surveillez les données qui ont déclenché l'alerte sur Pandora FMS.

Dépannage

L'alerte Pandora FMS est déclenchée, mais elle ne crée rien dans PagerDuty.

Causes possibles :
  • Mauvaise configuration : assurez-vous que votre commande, action et modèle Pandora FMS sont correctement configurés après avoir suivi toutes les étapes ci-dessus.
  • Dépendances SSL : Le script d’intégration effectue un appel à l’API PagerDuty via HTTPS. Pour que cela fonctionne, les dépendances Perl pour IO::Socket::SSL doivent être installées au préalable.

Incidents déclenchés sur PagerDuty mais non résolus lors de la récupération

Causes possibles :
  • Configuration incorrecte : l’alerte Pandora FMS doit être configurée avec un modèle où la récupération est activée et le champ 9 est configuré avec « resolve », comme expliqué ci-dessus.
  • Erreur lors de la création des fichiers auxiliaires : le script d'intégration conserve une liste de correspondance entre les identifiants de Pandora FMS et de PagerDuty. Ces fichiers cachés sont créés par défaut dans le même répertoire que le script ; or, ce répertoire peut être inaccessible en écriture en raison d'un problème d'autorisations.
  • Variables : modifiez le script d’intégration et définissez un chemin d’accès accessible en écriture dans la variable $matchup_dir au début du fichier.

Je dois déboguer l'exécution du script.

Le niveau de verbosité du débogage des alertes sur le serveur Pandora FMS est de 8. Vous devez définir au moins ce niveau dans le paramètre `verbosity` du fichier `pandora_server.conf` (situé dans `/etc/pandora/`) et redémarrer le serveur (`/etc/pandora_server restart`) pour déboguer. Vous pourrez alors consulter la commande exécutée dans le fichier `pandora_server.log` (situé dans `/var/log`). Dès lors, vous pourrez effectuer des tests manuellement en ligne de commande depuis l'interface de votre serveur et obtenir des informations plus détaillées sur les résultats d'exécution.

Pour toute autre question, veuillez contacter soutien .

Prêt à commencer ?

Essayez gratuitement n'importe quel produit sur Operations Cloud . Aucune carte de crédit requise.