Guide d'intégration d'Icinga 2

Ce guide décrit comment intégrer votre Glaçage 2 installation avec PagerDuty en utilisant Agent de service de PagerDuty .

Veuillez noter que vous devez être connecté en tant que root pour terminer l'installation. Ces instructions peuvent être légèrement modifiées selon votre distribution Linux et votre configuration d'Icinga 2.

Si vous rencontrez des difficultés pour terminer l'installation, veuillez Contactez-nous .

Dans PagerDuty

  1. Aller à la Services menu et sélectionnez 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 le bouton nom du service auquel vous souhaitez ajouter l'intégration. Cliquez ensuite sur le Intégrations tabulation et clic Ajouter une nouvelle intégration .
  3. Sous Sélectionnez la ou les intégrations que vous utilisez pour envoyer des alertes à ce service rechercher et sélectionner ceci intégration .
  4. Cliquez sur le 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. Recherchez l'intégration dans la liste, copiez le Clé d'intégration et conservez-le dans un endroit sûr pour une utilisation ultérieure.

Sur votre serveur Icinga 2

    1. Installez le Agent de service de PagerDuty L'agent reçoit les événements de Nagios Core et les envoie à PagerDuty à l'aide d'une file d'attente, fournit une journalisation qui aide à résoudre les problèmes et réessaie automatiquement d'envoyer des événements en cas d'échec de connexion (c'est-à-dire si votre serveur Nagios Core perd temporairement la connectivité). Note: Si ce n'est pas déjà fait, nous vous recommandons vivement de passer à Python 3 pour utiliser l'agent PagerDuty . Cet agent ne fonctionne pas sous CentOS 5 ou une version antérieure, car il nécessite une version de Python plus récente que celle fournie avec CentOS 5. Veuillez utiliser le Intégration basée sur Perl pour Icinga2 sur les anciens systèmes d'exploitation.
    2. Téléchargez le modèle de configuration, pagerduty-icinga2.conf , depuis GitHub :
       wget https://raw.githubusercontent.com/ PagerDuty/pdagent-integrations/master/conf.d/pagerduty-icinga2.conf 
    3. Ouvrez le fichier avec votre éditeur de texte (nano, vim, emacs, etc.) et saisissez la clé d'intégration correspondant à votre service Icinga 2 dans le champ « pager ». La clé d'intégration est une chaîne de 32 caractères disponible sur la page de détails de l'intégration.
    4. Déplacez le fichier de configuration Icinga 2 en place :
       mv pagerduty-icinga2.conf /etc/icinga2/conf.d/ 

Alternativement, si vous utilisez la configuration objects.d d'Icinga :

 mv pagerduty-icinga2.conf /etc/icinga2/objects.d/ 
  1. Ajouter l'attribut personnalisé activer_pagerduty à votre configuration hôte et service objets de configuration.
  2. vars.enable_pagerduty = true # Ajoutez cette ligne aux hôtes/services qui enverront des événements à PagerDuty Remarque, la façon la plus simple de le faire est de l'ajouter à modèles qui sont utilisés par tous vos objets de configuration. Par exemple, sur les systèmes Debian, la configuration par défaut comporte des objets hôtes qui utilisent hôte générique objets de modèle et de service qui utilisent le service générique Modèle. Les modèles sont définis dans /etc/icinga2/conf.d/templates.conf et peuvent être modifiés comme suit :
  3.  modèle Hôte 'generic-host' { max_check_attempts = 5 check_interval = 1m retry_interval = 30s check_command = 'hostalive' vars.enable_pagerduty = true # Ajouter cette ligne } 
     modèle Service 'generic-service' { max_check_attempts = 3 check_interval = 1m retry_interval = 30s vars.enable_pagerduty = true # Ajouter cette ligne } 
  4. Si vous avez ajouté l'attribut personnalisé à un modèle à l'étape 5, assurez-vous que le modèle est utilisé par vos objets hôte et service. Par exemple, si vous l'avez ajouté à hôte générique et service générique modèles, vos objets doivent avoir l'une des lignes suivantes :
     importer 'generic-host' # Tous les objets hôtes doivent contenir cette ligne 
     importer 'generic-service' # Tous les objets de service doivent contenir cette ligne 
  5. Redémarrer Icinga 2 :
     /etc/init.d/icinga2 redémarrer 

FAQ

Que se passe-t-il si un événement Icinga se produit alors que mon réseau est en panne ?

Si un serveur PagerDuty est inaccessible pour une raison quelconque, les événements sont stockés dans une file d'attente sur disque. La tâche cron installée tente de renvoyer les événements à intervalle d'une minute.

Étant donné qu'Icinga a besoin de ma connexion Internet externe pour envoyer des rapports d'échec à PagerDuty, comment recevrai-je une notification si notre site perd la connectivité externe ?

Vous devez configurer un service de vérification de ping externe comme Pingdom pour surveiller la connectivité externe de votre site. Vous pouvez bien sûr utiliser PagerDuty pour transmettre les alertes de ces services.

Ça ne semble pas fonctionner. Que se passe-t-il ?

Vérifiez si le fichier journal d'Icinga contient des messages contenant « pagerduty ». Sur la plupart des systèmes :

 grep -i pagerduty /var/log/icinga2/icinga2.log 

Un autre journal à vérifier est le syslog pour les messages contenant « Icinga event » :

 grep 'Événement Glaçage' /var/log/syslog 

S'il te plaît Contactez-nous si vous ne parvenez pas à résoudre le problème.

Quels types de messages Icinga PagerDuty comprend-il ?

PagerDuty peut traiter PROBLÈME , RECONNAISSANCE , et RÉCUPÉRATION messages. Tous les autres messages, y compris DÉPART EN BATTANT et ARRÊT DE BATTEMENT , sont ignorés. Si vous souhaitez que PagerDuty traite d'autres messages Icinga, merci de nous le faire savoir !

Prêt à commencer ?

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