Icinga 2 Integrationsleitfaden

Diese Anleitung beschreibt, wie Sie Ihre Icinga 2 Installation mit PagerDuty PagerDuty Agent Die

Bitte beachten Sie, dass Sie als Root angemeldet sein müssen, um die Installation abzuschließen. Je nach Ihrer genauen Linux-Distribution und Ihrer Icinga-2-Konfiguration müssen Sie diese Anweisungen möglicherweise geringfügig anpassen.

Falls Sie Probleme bei der Installation haben, bitte Kontaktieren Sie uns Die

In PagerDuty

  1. Gehe zu Dienstleistungen Menü und auswählen Dienstverzeichnis Die
  2. Auf dem Dienstverzeichnis Seite:
    • Wenn Sie einen neuen Dienst für Ihre Integration erstellen, klicken Sie auf + Neuer Service und folgen Sie den beschriebenen Schritten, indem Sie diese Option auswählen. Integration in Schritt 4.
    • Wenn Sie Ihre Integration zu einem bestehenden Dienst hinzufügen, klicken Sie auf die Schaltfläche Name des Dienstes, dem Sie die Integration hinzufügen möchten. Klicken Sie dann auf Integrationen Tabulatortaste und Klick Neue Integration hinzufügen Die
  3. Unter Wählen Sie die Integration(en) aus, die Sie verwenden, um Benachrichtigungen an diesen Dienst zu senden. Suchen und auswählen Integration Die
  4. Klicken Sie auf Dienst hinzufügen oder Integration hinzufügen Klicken Sie auf diese Schaltfläche, um Ihre neue Integration zu speichern. Sie werden anschließend zur Integrationsseite Ihres Dienstes weitergeleitet.
  5. Suchen Sie die Integration in der Liste und kopieren Sie sie. Integrationsschlüssel und bewahren Sie es an einem sicheren Ort für den späteren Gebrauch auf.

Auf Ihrem Icinga 2-Server

    1. Installieren Sie die PagerDuty Agent Der Agent empfängt Ereignisse von Nagios Core und sendet sie über eine Warteschlange an PagerDuty , bietet Protokollierung zur Fehlerbehebung und versucht automatisch, Ereignisse erneut zu senden, wenn ein Verbindungsfehler auftritt (z. B. wenn Ihr Nagios Core-Server vorübergehend die Verbindung verliert). Notiz: Falls Sie dies noch nicht getan haben, empfehlen wir dringend, auf Python 3 umzusteigen, um den PagerDuty Agenten nutzen zu können. Der Agent läuft nicht unter CentOS 5 oder älteren Versionen, da er eine neuere Python-Version als die in CentOS 5 enthaltene benötigt. Bitte verwenden Sie die Perl-basierte Integration für Icinga2 auf älteren Betriebssystemen.
    2. Laden Sie die Konfigurationsvorlage herunter, pagerduty-icinga2.conf , von GitHub:
       wget https://raw.githubusercontent.com/ PagerDuty/pdagent-integrations/master/conf.d/pagerduty-icinga2.conf 
    3. Öffnen Sie die Datei mit Ihrem Texteditor (z. B. nano, vim, emacs) und geben Sie den Integrationsschlüssel Ihres Icinga 2-Dienstes in das Pager-Feld ein. Der Integrationsschlüssel ist eine 32-stellige Zeichenkette, die Sie auf der Detailseite der Integration finden.
    4. Verschieben Sie die Icinga 2-Konfigurationsdatei an den entsprechenden Platz:
       mv pagerduty-icinga2.conf /etc/icinga2/conf.d/ 

Alternativ, falls Sie die objects.d-Konfiguration von Icinga verwenden:

 mv pagerduty-icinga2.conf /etc/icinga2/objects.d/ 
  1. Fügen Sie das benutzerdefinierte Attribut hinzu. enable_pagerduty zu Ihrer Konfiguration Host und Service Konfigurationsobjekte.
  2. vars.enable_pagerduty = true # Diese Zeile zu Hosts/Diensten hinzufügen, die Ereignisse an PagerDuty senden sollen Hinweis: Am einfachsten geht das, indem Sie es hinzufügen zu Vorlagen die von all Ihren Konfigurationsobjekten verwendet werden. Beispielsweise enthält die Standardkonfiguration auf Debian-basierten Systemen Hostobjekte, die diese verwenden. generischer Host Vorlagen- und Serviceobjekte, die die generischer Dienst Vorlage. Die Vorlagen sind in /etc/icinga2/conf.d/templates.conf definiert und können wie folgt geändert werden:
  3.  template Host 'generic-host' { max_check_attempts = 5 check_interval = 1m retry_interval = 30s check_command = 'hostalive' vars.enable_pagerduty = true # Diese Zeile hinzufügen } 
     template Service 'generic-service' { max_check_attempts = 3 check_interval = 1m retry_interval = 30s vars.enable_pagerduty = true # Diese Zeile hinzufügen } 
  4. Wenn Sie in Schritt 5 ein benutzerdefiniertes Attribut zu einer Vorlage hinzugefügt haben, stellen Sie sicher, dass diese Vorlage von Ihren Host- und Dienstobjekten verwendet wird. Wenn Sie es beispielsweise dem Attribut „Benutzername“ hinzugefügt haben, … generischer Host Und generischer Dienst Vorlagen: Ihre Objekte sollten eine der folgenden Zeilen enthalten:
     import 'generic-host' # Alle Host-Objekte sollten diese Zeile enthalten. 
     import 'generic-service' # Alle Serviceobjekte sollten diese Zeile enthalten. 
  5. Icinga 2 neu starten:
     /etc/init.d/icinga2 restart 

Häufig gestellte Fragen

Was passiert, wenn ein Icinga-Ereignis eintritt, während mein Netzwerk ausgefallen ist?

Wenn ein PagerDuty Server aus irgendeinem Grund nicht erreichbar ist, werden Ereignisse in einer Warteschlange auf der Festplatte gespeichert. Der installierte Cronjob versucht, die Ereignisse im Minutentakt erneut zu senden.

Da Icinga meine externe Internetverbindung benötigt, um Fehlerberichte an PagerDuty zu senden, wie werde ich benachrichtigt, wenn unsere Website die externe Verbindung verliert?

Sie sollten einen externen Ping-Check-Dienst konfigurieren, wie zum Beispiel Pingdom Um die externe Konnektivität Ihrer Website zu überwachen. Selbstverständlich können Sie PagerDuty verwenden, um Benachrichtigungen von diesen Diensten weiterzuleiten.

Es scheint nicht zu funktionieren. Was ist da los?

Prüfen Sie die Icinga-Protokolldatei auf Meldungen mit dem Begriff „pagerduty“. Auf den meisten Systemen:

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

Ein weiteres Protokoll, das überprüft werden sollte, ist das Syslog auf Meldungen, die 'Icinga event' enthalten:

 grep „Icinga-Ereignis“ /var/log/syslog 

Bitte Kontaktieren Sie uns wenn Sie das Problem nicht lösen können.

Welche Art von Icinga-Nachrichten versteht PagerDuty ?

PagerDuty kann verarbeiten PROBLEM , ANERKENNUNG , Und ERHOLUNG Nachrichten. Alle anderen Nachrichten, einschließlich FLAPPINGSTART Und FLAPPINGSTOP Diese werden ignoriert. Falls PagerDuty weitere Icinga-Nachrichten verarbeiten soll, geben Sie uns bitte Bescheid!

Bereit loszulegen?

Testen Sie jedes Produkt in der Operations Cloud kostenlos. Keine Kreditkarte erforderlich.