Nagios XI Zwei-Wege-Integrationshandbuch

Nagios XI erweitert die Funktionen der Nagios Core-Software und bietet Ihnen eine detaillierte Host- und Serviceüberwachung für Ihre kritischen IT-Systeme.

Die folgende Anleitung beschreibt, wie Sie Ihre Nagios XI-Installation mithilfe unseres einfach zu installierenden Agenten in PagerDuty integrieren. Beachten Sie, dass Sie angemeldet sein müssen als Wurzel um die Installation abzuschließen. Bitte Kontaktieren Sie unser Support-Team wenn Sie Probleme beim Abschließen der Integration haben.

Notiz: Wenn Sie Nagios auf CentOS 5 ausführen, müssen Sie die Perl-basierte Integration für Nagios XI anstatt dieser Anleitung zu folgen.

In PagerDuty

  1. Gehen Sie zum Leistungen und wählen Sie Serviceverzeichnis .
  2. Auf der Serviceverzeichnis Seite:
    • Wenn Sie einen neuen Dienst für Ihre Integration erstellen, klicken Sie auf + Neuer Service und befolgen Sie die beschriebenen Schritte, indem Sie diese Integration in Schritt 4.
    • Wenn Sie Ihre Integration zu einem vorhandenen Dienst hinzufügen, klicken Sie auf das Name des Dienstes, zu dem Sie die Integration hinzufügen möchten. Klicken Sie dann auf das Integrationen und klicken Sie auf Fügen Sie eine neue Integration hinzu.
  3. Unter Wählen Sie die Integration(en) aus, die Sie zum Senden von Benachrichtigungen an diesen Dienst verwenden suchen und wählen Sie diese Integration .
  4. Klicken Sie auf das Dienst hinzufügen oder Integration hinzufügen , um Ihre neue Integration zu speichern. Sie werden auf die Integrationsseite für Ihren Dienst weitergeleitet.
  5. Suchen Sie die Integration in der Liste, kopieren Sie die Integrationsschlüssel und bewahren Sie es für die spätere Verwendung an einem sicheren Ort auf.

Auf Ihrem Nagios XI-Server

  1. Installieren Sie die PagerDuty Agent Der Agent empfängt Ereignisse von Nagios XI und sendet sie über eine Warteschlange an PagerDuty , bietet Protokollierung zur Unterstützung der Problembehebung und versucht im Falle eines Verbindungsfehlers (d. h. wenn Ihr Nagios XI-Server vorübergehend die Verbindung verliert) automatisch erneut, Warnmeldungen zu senden. Notiz: Der Agent läuft nicht unter CentOS 5 oder niedriger, da er eine neuere Version von Python als die in CentOS 5 enthaltene Version benötigt. Bitte verwenden Sie die Perl-basierte Integration für Nagios XI auf älteren Betriebssystemen.
  2. Melden Sie sich bei der Nagios XI-Weboberfläche an als Nagiosadmin , dann gehen Sie zu Konfigurieren und wählen Sie Core-Konfigurationsmanager Klicken Sie auf Befehle im linken Menü und klicken Sie dann auf Neu hinzufügen .
  3. Legen Sie die Befehlsname , Linie Und Typ wie folgt, und klicken Sie dann auf Speichern .
    • Befehlsname:
       Benachrichtigungsdienst durch Pagerduty 
    • Befehlszeile:
       /usr/share/pdagent-integrations/bin/pd-nagios -n service -k $CONTACTPAGER$ -t '$NOTIFICATIONTYPE$' -f SERVICEDESC='$SERVICEDESC$' -f SERVICESTATE='$SERVICESTATE$' -f HOSTNAME='$HOSTNAME$' -f HOSTDISPLAYNAME='$HOSTDISPLAYNAME$' -f SERVICEDISPLAYNAME='$SERVICEDISPLAYNAME$' -f SERVICEPROBLEMID='$SERVICEPROBLEMID$' -f SERVICEOUTPUT='$SERVICEOUTPUT$' 
    • Befehlstyp:
       misc-Befehl 

  4. Klicken Neu hinzufügen um einen weiteren Befehl hinzuzufügen.
  5. Legen Sie die Befehlsname , Linie Und Typ wie folgt, und klicken Sie dann auf Speichern .
    • Befehlsname:
       Host-Benachrichtigung durch Pagerduty 
    • Befehlszeile:
       /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$' 
    •  misc-Befehl 

  6. Klicken Kontakte im linken Menü und klicken Sie dann auf Neu hinzufügen .
  7. Gehen Sie zum Alarmeinstellungen und legen Sie die folgenden Host-Optionen fest. Klicken Sie dann auf Host-Benachrichtigungsbefehle verwalten :
    • Host-Benachrichtigungen aktiviert: An
    • Zeitraum für Host-Benachrichtigungen: Rund um die Uhr
    • Optionen für Host-Benachrichtigungen: d, r

  8. Wählen Sie die Host-Benachrichtigung durch Pagerduty Befehl und klicken Sie auf Auswahl hinzufügen Stellen Sie sicher, dass Host-Benachrichtigung durch Pagerduty bewegt sich zum Zugewiesen und klicken Sie dann auf Schließen .
  9. Zurück in der Alarmeinstellungen Legen Sie die folgenden Serviceoptionen fest und klicken Sie dann auf Befehle für Dienstbenachrichtigungen verwalten :
    • Servicebenachrichtigungen aktiviert: An
    • Zeitraum für Servicebenachrichtigungen: Rund um die Uhr
    • Optionen für Servicebenachrichtigungen: w, u, c, r

  10. Wählen Sie die Benachrichtigungsdienst durch Pagerduty Befehl und klicken Sie auf Auswahl hinzufügen Stellen Sie sicher, dass Benachrichtigungsdienst durch Pagerduty bewegt sich zum Zugewiesen und klicken Sie dann auf Schließen .
  11. Gehen Sie zum Sonstige Einstellungen und klicken Sie auf Verwalten von Variablendefinitionen .
  12. Satz Variablenname Zu Pager Und Variablenwert zu dem Integrationsschlüssel, den Sie zuvor von PagerDuty kopiert haben, und klicken Sie auf Einfügen Stellen Sie sicher, dass die Variable in der rechten Spalte hinzugefügt wird, und klicken Sie dann auf Schließen .
  13. Gehen Sie zum Allgemeine Einstellungen und legen Sie eine Kontaktname (dh Pagerdienst , oder wenn Sie mehrere PagerDuty Dienste integrieren möchten, verwenden Sie aussagekräftigere Namen wie pagerduty_datenbank , pagerduty_network , usw.) und klicken Sie dann auf Kontaktgruppen verwalten .
  14. Wählen Sie die Administratoren Gruppe oder eine andere Gruppe, der der Kontakt angehören soll und mit der auch Ihre Hosts und Dienste verknüpft werden, und klicken Sie auf Auswahl hinzufügen Stellen Sie sicher, dass Administratoren (oder Ihr alternativer Gruppenname) wechselt in die Zugewiesen und klicken Sie dann auf Schließen .
  15. Klicken Speichern , um Ihren neuen Kontakt zu speichern.
  16. Klicken Host-Vorlagen im linken Menü und wählen Sie dann eine Vorlage aus, die Sie für PagerDuty Benachrichtigungen verwenden möchten. Für diese Anleitung verwenden wir generischer Host , da Sie dadurch normalerweise Benachrichtigungen für alle Hosts erhalten, sobald der Integrationsprozess abgeschlossen ist.
  17. Gehen Sie zum Alarmeinstellungen und legen Sie die folgenden Optionen fest. Klicken Sie dann auf Kontaktgruppen verwalten :
    • Benachrichtigungszeitraum: Rund um die Uhr
    • Benachrichtigungsoptionen: d, u, r
    • Benachrichtigungsintervall: 1 Minute
    • Benachrichtigung aktiviert: An

  18. Wählen Sie die Administratoren Gruppe (oder eine andere Gruppe, die Sie in Schritt 15 ausgewählt haben) und klicken Sie auf Auswahl hinzufügen . Stellen Sie sicher, dass der Gruppenname in die Zugewiesen und klicken Sie dann auf Schließen .
  19. Klicken Speichern um Ihre Hostvorlage zu speichern.
  20. Klicken Konfiguration anwenden um Ihre neuen Befehle, Kontakte und Hostvorlagenänderungen zu aktivieren.
  21. Herunterladen pagerduty.cgi für die Zweiwege-Integration:
     wget https://raw.githubusercontent.com/mdcollins05/pd-nag-connector/master/pagerduty.cgi 
  22. Bearbeiten Sie die pagerduty.cgi Datei, so dass die Befehlsdatei Variable verweist auf Ihre Nagios-Befehlsdatei. Der Pfad kann durch Ausführen des Befehls grep '^Befehlsdatei' nagios.cfg in dem Verzeichnis, in dem nagios.cfg wohnt ( /usr/local/nagios/etc wenn Sie das von Nagios Enterprises bereitgestellte virtuelle Maschinen-Image verwenden). Wenn Sie keine Informationen erhalten, stellen Sie sicher, dass die Befehlsdatei Variable ist unkommentiert (beginnt nicht mit einem # ).
  23. Bewegen pagerduty.cgi zum Nagios Core cgi-bin (nicht zum Nagios XI PHP-Benutzeroberflächenverzeichnis). Für das von Nagios Enterprises bereitgestellte virtuelle Maschinenabbild ist dies /usr/local/nagios/sbin :
     mv pagerduty.cgi /usr/local/nagios/sbin 
  24. Machen pagerduty.cgi ausführbare Datei. Für das von Nagios Enterprises bereitgestellte Image der virtuellen Maschine:
     chmod +x /usr/local/nagios/sbin/pagerduty.cgi 
  25. Installieren Sie die erforderlichen Perl-Bibliotheken, damit das Skript funktioniert.
     yum installiere Perl-CGI Perl-JSON Perl-libwww-perl 
  26. Gehen Sie in PagerDuty zu Ihrem Nagios XI-Dienst Integrationen und klicken Sie auf Hinzufügen einer Erweiterung .
  27. Für die Verlängerung Typ wählen Nagios , geben Sie dann in ein Name Wählen Sie für Ihren Webhook einen Service , fügen Sie in die URL , Die Benutzername , Die Passwort und klicken Sie auf Speichern Die URL sieht ungefähr so aus: ip-oder-domain/nagios3/cgi-bin/pagerduty.cgi (in der URL ist kein http:// oder http:// erforderlich). Notiz: Sofern Sie es nicht deaktiviert haben, erfordert die Nagios-Weboberfläche einen Benutzernamen und ein Passwort. Wir empfehlen dringend, einen Benutzer zu konfigurieren, der Nagios-Befehle ausführen kann und nur für den Webhook verwendet wird. Wenn Sie diese URL in Ihrem Browser aufrufen, sollten Sie Folgendes sehen: 400 Anfragen müssen POSTs sein Wenn Sie dies nicht sehen, überprüfen Sie die Protokolle Ihres Webservers auf Einzelheiten dazu, was passiert ist, als Sie versucht haben, diese URL aufzurufen.
  28. An diesem Punkt sollten Sie bereit sein. Um es zu testen, benötigen Sie ein Problem in Nagios, das einen Vorfall generiert. Anschließend sollte die Bestätigung des Vorfalls einen Kommentar mit der Meldung „Bestätigt von PagerDuty“ enthalten.

Häufig gestellte Fragen

Kann ich die Zwei-Wege-Integration nutzen, ohne dass meine Nagios-Installation über das Internet zugänglich ist?

Die bidirektionale Integration erfordert, dass Ihr Nagios-Server über das Internet erreichbar ist, um Webhook-Aufrufe von PagerDuty zu empfangen. Wenn Sie den Zugriff auf Ihren Nagios-Webserver auf bestimmte IP-Adressen beschränken möchten, finden Sie die Webhook-IP-Adressen von PagerDuty in unserer Wissensdatenbank: Was sind die IPs von PagerDuty für Whitelist- und Firewall-Zwecke?

Alternativ können Sie einen Dienst wie ngrok um einen sicheren Tunnel zu Ihrem Nagios-Server mit einer öffentlichen URL zu erstellen, die für Ihren Webhook oder die Poller-Skript, das ursprünglich von Zoosk entwickelt wurde und jetzt von PagerDuty gepflegt wird um Kontakt aufzunehmen, anstatt Ihren Nagios-Server öffentlich zugänglich zu machen.

Wie konfiguriere ich Nagios XI für die Arbeit mit mehreren PagerDuty -Diensten?

Dies ist mit der aktuellen Integration einfach möglich, da ein Nagios XI-Dienst in PagerDuty direkt einem 'Kontakt' in Nagios zugeordnet ist. Um mehrere Dienste zu konfigurieren, erstellen Sie einfach zusätzliche Kontakte in Nagios XI mit unterschiedlichen Namen (z. B. pagerduty_datenbank , pagerduty_network , etc.), dann kopieren Sie den entsprechenden Integrationsschlüssel von PagerDuty und fügen Sie ihn in die Pager Fügen Sie den Kontakt in das Variablendefinitionsfeld ein und ordnen Sie ihn einer Kontaktgruppe zu, die Benachrichtigungen für die gewünschten Dienste erhält. Vergessen Sie nicht, Ihre Änderungen nach dem Speichern des Kontakts zu übernehmen, damit sie wirksam werden.

Was passiert, wenn ein Nagios-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 PagerDuty Agent versucht, die Ereignisse erneut zu senden, sobald die Verbindung wiederhergestellt ist.

Da Nagios meine externe Internetverbindung benötigt, um Fehlerberichte an PagerDuty zu senden, wie werde ich benachrichtigt, wenn unsere Site die externe Konnektivität verliert?

Sie sollten einen externen Ping-Check-Dienst konfigurieren, wie zum Beispiel StatusCake oder NodePing zur Überwachung der externen Konnektivität Ihrer Site. Natürlich können Sie PagerDuty auch verwenden, um Benachrichtigungen von diesen Diensten zu erhalten.

Die Integration scheint nicht zu funktionieren. Was ist los?

Stellen Sie zunächst sicher, dass Sie installierte den PagerDuty Agent und dass Ihr Paketmanager bei der Installation keine Fehler gemeldet hat. Fehlgeschlagene Installationen (z. B. aufgrund einer inkompatiblen Distribution wie CentOS 5) sind das häufigste Problem bei nicht funktionierender Integration.

Überprüfen Sie, ob die Pagerdienst Kontakt erhält die GASTGEBER oder SERVICEBENACHRICHTIGUNGEN im Syslog. Sie können Ihr Syslog durchsuchen, um zu sehen, ob die Pagerdienst Kontakt wird benachrichtigt. Hier ein Beispiel:

 grep-BENACHRICHTIGUNG /var/log/messages 28. Mai 18:20:57 ip-10-11-139-249 nagios3: SERVICEBENACHRICHTIGUNG: pagerduty;localhost;Aktuelle Benutzer;KRITISCH;notify-service-by-pagerduty;BENUTZER KRITISCH – 3 Benutzer derzeit angemeldet 

Wie Sie sehen können, Pagerdienst Kontakt wurde hierfür benachrichtigt SERVICEBENACHRICHTIGUNG Wenn die Pagerdienst Kontakt wird nie angezeigt, das heißt, dass die Pagerdienst Kontakt ist nicht mit Benachrichtigungen für den betreffenden Host/Dienst verknüpft. Wenn Sie die Standardkonfiguration verwenden, stellen Sie sicher, dass die Pagerdienst Kontakt ist Mitglied der Admins-Kontaktgruppe. Wenn der Pagerdienst Der Kontakt wird benachrichtigt. Überprüfen Sie das Agentenprotokoll unter /var/log/pdagent/pdagentd.log .

Weitere Tipps zur Fehlerbehebung finden Sie in unserem Nagios-Handbuch zur Fehlerbehebung .

Welche Art von Nagios-Nachrichten versteht PagerDuty ?

PagerDuty kann verarbeiten PROBLEM , ANERKENNUNG , Und ERHOLUNG Nachrichten. Alle anderen Nachrichten, einschließlich FLAPPINGSTART Und FLAPPENSTOP , werden ignoriert.

Wie kann ich meine Nagios-Warnmeldungen anpassen?

Wir haben einen Leitfaden für Anpassen von Benachrichtigungen, die von Nagios an PagerDuty gesendet werden um Ihnen den Einstieg zu erleichtern.

Bereit, loszulegen?

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