Guide d'intégration bidirectionnelle de Nagios XI

Nagios XI étend les fonctionnalités du logiciel Nagios Core pour vous fournir une surveillance détaillée des hôtes et des services de vos systèmes informatiques critiques.

Le guide ci-dessous explique comment intégrer votre installation Nagios XI à PagerDuty à l'aide de notre agent facile à installer. Veuillez noter que vous devez être connecté en tant que racine pour terminer l'installation. Veuillez contactez notre équipe d'assistance si vous rencontrez des difficultés pour finaliser l'intégration.

Note: Si vous utilisez Nagios sur CentOS 5, vous devrez utiliser Intégration basée sur Perl pour Nagios XI au lieu de suivre ce guide.

Dans PagerDuty

  1. Allez à Services menu et sélectionner Annuaire des services .
  2. Sur le Annuaire des services page:
    • Si vous créez un nouveau service pour votre intégration, cliquez sur + Nouveau service et suivez les étapes décrites, en sélectionnant ceci intégration à l'étape 4.
    • Si vous ajoutez votre intégration à un service existant, cliquez sur nom du service auquel vous souhaitez ajouter l'intégration. Cliquez ensuite sur Intégrations onglet et cliquez Ajouter une nouvelle intégration.
  3. Sous Sélectionnez la ou les intégrations que vous utilisez pour envoyer des alertes à ce service. recherchez et sélectionnez ceci intégration .
  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.
  5. Trouvez l'intégration dans la liste, copiez-la Clé d'intégration et conservez-le dans un endroit sûr pour une utilisation ultérieure.

Sur votre serveur Nagios XI

  1. Installez le Agent PagerDuty L'agent reçoit les événements de Nagios XI et les envoie à PagerDuty via une file d'attente, fournit une journalisation qui aide à résoudre les problèmes et tente automatiquement de renvoyer les alertes en cas d'échec de connexion (par exemple, si votre serveur Nagios XI perd temporairement sa connectivité). Note: L'agent ne fonctionne pas sur CentOS 5 ou version antérieure, car il requiert une version de Python plus récente que celle incluse dans CentOS 5. Veuillez utiliser le Intégration basée sur Perl pour Nagios XI sur les anciens systèmes d'exploitation.
  2. Connectez-vous à l'interface web de Nagios XI en tant que nagiosadmin , puis allez à Configure menu et sélectionner Gestionnaire de configuration principal Cliquez Commandes dans le menu de gauche, puis cliquez Ajouter un nouveau .
  3. Réglez le Nom de la commande , Doubler et Taper comme suit, puis cliquez Sauvegarder .
    • Nom de la commande :
       notification-service-par-pagerduty 
    • Ligne de commande :
       /usr/share/pdagent-integrations/bin/pd-nagios -n service -k $CONTACTPAGER$ -t '$NOTIFICATIONTYPE$' -f SERVICEDESC='$SERVICEDESC$' -f SERVICETATE='$SERVICESTATE$' -f HOSTNAME='$HOSTNAME$' -f HOSTDISPLAYNAME='$HOSTDISPLAYNAME$' -f SERVICEDISPLAYNAME='$SERVICEDISPLAYNAME$' -f SERVICEPROBLEMID='$SERVICEPROBLEMID$' -f SERVICEOUTPUT='$SERVICEOUTPUT$' 
    • Type de commande :
       commande diverse 

  4. Cliquez Ajouter un nouveau ajouter une autre commande.
  5. Réglez le Nom de la commande , Doubler et Taper comme suit, puis cliquez Sauvegarder .
    • Nom de la commande :
       notifier l'hôte par pagerduty 
    • Ligne de commande :
       /usr/share/pdagent-integrations/bin/pd-nagios -n host -k $CONTACTPAGER$ -t '$NOTIFICATIONTYPE$' -f HOSTNAME='$HOSTNAME$' -f HOSTSTATE='$HOSTSTATE$' -f HOSTDISPLAYNAME='$HOSTDISPLAYNAME$' -f HOSTPROBLEMID='$HOSTPROBLEMID$' 
    •  commande diverse 

  6. Cliquez Contacts dans le menu de gauche, puis cliquez Ajouter un nouveau .
  7. Allez à Paramètres d'alerte Sélectionnez l'onglet et définissez les options d'hôte suivantes, puis cliquez. Gérer les commandes de notification de l'hôte :
    • Notifications de l'hôte activées : sur
    • Période de notification de l'hôte : 24h/24 et 7j/7
    • Options de notification de l'hôte : d, r

  8. Sélectionnez notifier l'hôte par pagerduty commande et clic Ajouter la sélection Assurez-vous que notifier l'hôte par pagerduty déménage au Attribué colonne, puis cliquez Fermer .
  9. De retour dans le Paramètres d'alerte onglet, définissez les options de service suivantes, puis cliquez Gérer les commandes de notification de service :
    • Notifications de service activées : sur
    • Période de notification du service : 24h/24 et 7j/7
    • Options de notification de service : w, u, c, r

  10. Sélectionnez notification-service-par-pagerduty commande et clic Ajouter la sélection Assurez-vous que notification-service-par-pagerduty déménage au Attribué colonne, puis cliquez Fermer .
  11. Allez à Paramètres divers onglet et cliquez Gérer les définitions des variables .
  12. Ensemble Nom de la variable à pager et Valeur variable à la clé d'intégration que vous avez copiée précédemment depuis PagerDuty et cliquez Insérer Assurez-vous que la variable est ajoutée à la colonne de droite, puis cliquez. Fermer .
  13. Allez à Paramètres communs onglet et définir un Nom du contact (c'est-à-dire pagerduty , ou si vous souhaitez intégrer plusieurs services PagerDuty , des noms plus descriptifs tels que base de données pagerduty , pagerduty_network , etc.) puis cliquez Gérer les groupes de contacts .
  14. Sélectionnez administrateurs groupe, ou un autre groupe auquel vous souhaitez que le contact appartienne et auquel vos hôtes et services seront également associés, puis cliquez Ajouter la sélection Assurez-vous que administrateurs (ou le nom alternatif de votre groupe) se déplace vers le Attribué colonne, puis cliquez Fermer .
  15. Cliquez Sauvegarder pour enregistrer votre nouveau contact.
  16. Cliquez Modèles d'hôtes Dans le menu de gauche, sélectionnez ensuite le modèle que vous souhaitez utiliser pour les notifications PagerDuty . Pour ce guide, nous utilisons le modèle suivant : hôte générique , car cela vous permettra généralement de recevoir des notifications pour tous les hôtes dès que le processus d'intégration sera terminé.
  17. Allez à Paramètres d'alerte Sélectionnez l'onglet et définissez les options suivantes, puis cliquez Gérer les groupes de contacts :
    • Délai de préavis : 24h/24 et 7j/7
    • Options de notification : d, u, r
    • Intervalle de notification : 1 min
    • Notification activée : sur

  18. Sélectionnez administrateurs groupe (ou tout autre groupe que vous auriez pu sélectionner à l'étape 15) et cliquez Ajouter la sélection . Assurez-vous que le nom du groupe soit déplacé vers le Attribué colonne, puis cliquez Fermer .
  19. Cliquez Sauvegarder pour enregistrer votre modèle d'hôte.
  20. Cliquez Appliquer la configuration pour activer vos nouvelles commandes, modifications de contact et de modèle d'hôte.
  21. Télécharger pagerduty.cgi pour l'intégration bidirectionnelle :
     wget https://raw.githubusercontent.com/mdcollins05/pd-nag-connector/master/pagerduty.cgi 
  22. Modifier le pagerduty.cgi fichier afin que le fichier de commandes La variable pointe vers votre fichier de commandes Nagios. Le chemin d'accès peut être trouvé en exécutant la commande grep '^fichier_commande' nagios.cfg dans le répertoire où nagios.cfg réside ( /usr/local/nagios/etc (si vous utilisez l'image de machine virtuelle fournie par Nagios Enterprises). Si aucune information n'est renvoyée, assurez-vous que… fichier de commandes La variable n'est pas commentée (ne commence pas par un a) # ).
  23. Se déplacer pagerduty.cgi au répertoire cgi-bin de Nagios Core (et non au répertoire de l'interface utilisateur PHP de Nagios XI). Pour l'image de machine virtuelle fournie par Nagios Enterprises, il s'agit de : /usr/local/nagios/sbin :
     mv pagerduty.cgi /usr/local/nagios/sbin 
  24. Faire pagerduty.cgi exécutable. Pour l'image de machine virtuelle fournie par Nagios Enterprises :
     chmod +x /usr/local/nagios/sbin/pagerduty.cgi 
  25. Installez les bibliothèques Perl requises pour que le script fonctionne.
     yum installer perl-CGI perl-JSON perl-libwww-perl 
  26. Dans PagerDuty, accédez à votre service Nagios XI Intégrations onglet et cliquez Ajouter une extension .
  27. Pour le Extension Taper sélectionner Nagios , puis entrez dans un Nom Pour votre webhook, sélectionnez un Service , collez dans le URL , le Nom d'utilisateur , le Mot de passe , et cliquez Sauvegarder L'URL ressemblera à ceci : ip-ou-domaine/nagios3/cgi-bin/pagerduty.cgi (https:// ou https:// n'est pas requis dans l'URL). Note: Sauf si vous l'avez désactivé, l'interface web de Nagios requiert un nom d'utilisateur et un mot de passe. Nous vous recommandons vivement de configurer un utilisateur disposant des droits d'exécution des commandes Nagios et dédié exclusivement au webhook. En accédant à cette URL dans votre navigateur, vous devriez voir 400 requêtes doivent être de type POST Si vous ne voyez pas ce message, consultez les journaux de votre serveur web pour obtenir des détails sur ce qui s'est passé lorsque vous avez tenté d'appeler cette URL.
  28. À ce stade, tout devrait être prêt. Pour tester, vous devez créer un problème dans Nagios qui génère un incident. Ensuite, la réception de cet incident doit ajouter un commentaire indiquant qu'il a été « Reçu par PagerDuty».

FAQ

Est-il possible d'avoir une intégration bidirectionnelle sans que mon installation Nagios soit accessible via Internet ?

L'intégration bidirectionnelle nécessite que votre serveur Nagios soit accessible via Internet pour recevoir les requêtes webhook de PagerDuty. Si vous souhaitez limiter l'accès à votre serveur web Nagios à des adresses IP spécifiques, vous trouverez les adresses IP des webhooks de PagerDuty dans notre base de connaissances : Quelles sont les adresses IP de PagerDuty à des fins de liste blanche et de pare-feu ?

Vous pouvez également utiliser un service comme ngrok pour créer un tunnel sécurisé vers votre serveur Nagios avec une URL publique pouvant être utilisée pour votre webhook ou le Script de sondage initialement développé par Zoosk et maintenant maintenu par PagerDuty privilégiez la communication plutôt que de rendre votre serveur Nagios accessible publiquement.

Comment configurer Nagios XI pour qu'il fonctionne avec plusieurs services PagerDuty ?

C'est facile à faire avec l'intégration actuelle, car un service Nagios XI dans PagerDuty est directement associé à un « contact » dans Nagios. Pour configurer plusieurs services, il suffit de créer des contacts supplémentaires dans Nagios XI avec des noms différents (par exemple : base de données pagerduty , pagerduty_network , etc.), puis copiez et collez la clé d'intégration correspondante depuis PagerDuty dans le pager Ajoutez le champ de définition de variable et intégrez le contact à un groupe qui recevra les notifications relatives aux services souhaités. N'oubliez pas d'appliquer vos modifications après avoir enregistré le contact pour qu'elles soient prises en compte.

Que se passe-t-il si un événement Nagios survient pendant que mon réseau est hors service ?

Si un serveur PagerDuty est inaccessible, les événements seront stockés dans une file d'attente sur disque. L'agent PagerDuty tentera de renvoyer les événements dès que la connexion sera rétablie.

Étant donné que Nagios a besoin de ma connexion Internet externe pour envoyer des rapports d'erreur à PagerDuty, comment serai-je notifié si notre site perd sa connectivité externe ?

Vous devriez configurer un service de vérification ping externe tel que StatusCake ou NodePing pour surveiller la connectivité externe de votre site. Bien entendu, PagerDuty vous permet également de recevoir des alertes de ces services.

L'intégration ne semble pas fonctionner. Que se passe-t-il ?

Tout d'abord, assurez-vous d'avoir l'agent PagerDuty a été installé et qu'aucune erreur n'a été signalée par votre gestionnaire de paquets lors de l'installation. Les échecs d'installation (par exemple, dus à une distribution incompatible, comme CentOS 5) constituent la cause la plus fréquente du dysfonctionnement de l'intégration.

Vérifiez que le pagerduty Le contact est en train de se faire. HÔTE ou NOTIFICATIONS DE SERVICE dans syslog. Vous pouvez utiliser grep dans votre syslog pour voir si le pagerduty Le contact est en cours de notification. Voici un exemple :

 grep NOTIFICATION /var/log/messages 28 mai 18:20:57 ip-10-11-139-249 nagios3 : NOTIFICATION DE SERVICE : pagerduty ;localhost ;Utilisateurs actuels ;CRITIQUE ;notify-service-by-pagerduty ;UTILISATEURS CRITIQUES - 3 utilisateurs actuellement connectés 

Comme vous pouvez le constater, le pagerduty Le contact a été informé à ce sujet. NOTIFICATION DE SERVICE Si le pagerduty Le contact ne se manifeste jamais, cela signifie que le pagerduty Le contact n'est pas associé aux notifications pour l'hôte/service en question. Si vous utilisez la configuration par défaut, assurez-vous que le pagerduty Le contact est membre du groupe de contacts des administrateurs. Si le pagerduty Le contact est en cours de notification, consultez le journal de l'agent à /var/log/pdagent/pdagentd.log .

Vous trouverez d'autres conseils de dépannage dans notre Guide de dépannage Nagios .

Quels types de messages Nagios PagerDuty comprend-il ?

PagerDuty peut traiter PROBLÈME , RECONNAISSANCE , et RÉCUPÉRATION messages. Tous les autres messages, y compris DÉMARRAGE À COUPE et FLAPPINGSTOP , sont ignorées.

Comment puis-je personnaliser mes alertes Nagios ?

Nous avons un guide pour Personnalisation des notifications envoyées à PagerDuty depuis Nagios pour vous aider à démarrer.

Prêt à commencer ?

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