- PagerDuty /
- Integrationen /
- Nagios XI Leitfaden zur bidirektionalen Integration
Nagios XI Leitfaden zur bidirektionalen Integration
Nagios XI erweitert die Fähigkeiten der Nagios Core-Software und bietet Ihnen eine detaillierte Host- und Serviceüberwachung Ihrer 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 Sollten Sie Probleme bei der Integration haben.
Notiz: Wenn Sie Nagios unter CentOS 5 ausführen, müssen Sie Folgendes verwenden: Perl-basierte Integration für Nagios XI anstatt dieser Anleitung zu folgen.
In PagerDuty
- Gehe zu Dienstleistungen Menü und auswählen Dienstverzeichnis Die
- 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 Füge eine neue Integration hinzu.
- Unter Wählen Sie die Integration(en) aus, die Sie zum Senden von Benachrichtigungen an diesen Dienst verwenden. Suchen und auswählen Integration Die
- 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.
- 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 Nagios XI-Server
- Installieren Sie die PagerDuty Agent Der Agent empfängt Ereignisse von Nagios XI und sendet sie über eine Warteschlange an PagerDuty , stellt Protokolle bereit, die bei der Fehlerbehebung helfen, und versucht automatisch, Benachrichtigungen erneut zu senden, falls eine Verbindung fehlschlägt (z. B. wenn Ihr Nagios XI-Server vorübergehend die Verbindung verliert). Notiz: Der Agent läuft nicht unter CentOS 5 oder älter, da er eine neuere Python-Version als die in CentOS 5 enthaltene benötigt. Bitte verwenden Sie die Perl-basierte Integration für Nagios XI auf älteren Betriebssystemen.
- Melden Sie sich bei der Nagios XI-Weboberfläche an als
nagiosadminDann geh zu Konfigurieren Menü und auswählen Core Config Manager Klicken Befehle im linken Menü, dann klicken Sie Neu hinzufügen Die
- Stellen Sie die Befehlsname , Linie Und Typ Gehen Sie wie folgt vor und klicken Sie dann auf Speichern Die
- Befehlsname:
Benachrichtigungsdienst per Pagerdienst - 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

- Befehlsname:
- Klicken Neu hinzufügen einen weiteren Befehl hinzufügen.
- Stellen Sie die Befehlsname , Linie Und Typ Gehen Sie wie folgt vor und klicken Sie dann auf Speichern Die
- Befehlsname:
Benachrichtigung des Hosts durch Pagerdienst - 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

- Befehlsname:
- Klicken Kontakte im linken Menü, dann klicken Sie Neu hinzufügen Die

- Gehe zu Benachrichtigungseinstellungen Klicken Sie auf die Registerkarte und legen Sie die folgenden Host-Optionen fest, dann klicken Sie Hostbenachrichtigungsbefehle verwalten :
- Host-Benachrichtigungen aktiviert: An
- Zeitraum für Host-Benachrichtigungen: Rund um die Uhr
- Host-Benachrichtigungsoptionen: d, r

- Wählen Sie die
Benachrichtigung des Hosts durch PagerdienstBefehl und Klick Ausgewählte hinzufügen Stellen Sie sicher, dassBenachrichtigung des Hosts durch Pagerdienstbewegt sich zu Zugewiesen Spalte, dann klicken Schließen Die
- Zurück in der Benachrichtigungseinstellungen Registerkarte, legen Sie die folgenden Serviceoptionen fest und klicken Sie dann auf Dienstbenachrichtigungsbefehle verwalten :
- Servicebenachrichtigungen aktiviert: An
- Zeitraum für Servicebenachrichtigungen: Rund um die Uhr
- Optionen für Servicebenachrichtigungen: w, u, c, r

- Wählen Sie die
Benachrichtigungsdienst per PagerdienstBefehl und Klick Ausgewählte hinzufügen Stellen Sie sicher, dassBenachrichtigungsdienst per Pagerdienstbewegt sich zu Zugewiesen Spalte, dann klicken Schließen Die
- Gehe zu Verschiedene Einstellungen Tabulatortaste und Klick Variablendefinitionen verwalten Die

- Satz Variablenname Zu
PagerUnd Variablenwert Geben Sie den Integrationsschlüssel ein, den Sie zuvor von PagerDuty kopiert haben, und klicken Sie auf Einfügen Stellen Sie sicher, dass die Variable in der richtigen Spalte hinzugefügt wurde, und klicken Sie dann. Schließen Die
- Gehe zu Allgemeine Einstellungen Tabulator und einstellen Name des Ansprechpartners (d. h.
Pagerdienstoder, falls Sie mehrere PagerDuty Dienste integrieren möchten, aussagekräftigere Namen wie z. B.pagerduty_database,pagerduty_networkusw.) dann klicken Kontaktgruppen verwalten Die
- Wählen Sie die
AdministratorenGruppe oder eine andere Gruppe, der der Kontakt angehören soll und mit der Ihre Hosts und Services ebenfalls verknüpft werden sollen, und klicken Sie Ausgewählte hinzufügen Stellen Sie sicher, dassAdministratoren(oder Ihr alternativer Gruppenname) zieht in die Zugewiesen Spalte, dann klicken Schließen Die
- Klicken Speichern Um Ihren neuen Kontakt zu speichern.
- Klicken Hostvorlagen Wählen Sie im linken Menü eine Vorlage für PagerDuty -Benachrichtigungen aus. In dieser Anleitung verwenden wir die Vorlage für PagerDuty-Benachrichtigungen.
generischer HostDadurch erhalten Sie in der Regel Benachrichtigungen für alle Hosts, sobald der Integrationsprozess abgeschlossen ist.
- Gehe zu Benachrichtigungseinstellungen Klicken Sie auf die Registerkarte und legen Sie die folgenden Optionen fest, dann klicken Sie auf Kontaktgruppen verwalten :
- Benachrichtigungszeitraum: Rund um die Uhr
- Benachrichtigungsoptionen: d, u, r
- Benachrichtigungsintervall: 1 Minute
- Benachrichtigung aktiviert: An

- Wählen Sie die
AdministratorenGruppe (oder eine andere Gruppe, die Sie in Schritt 15 ausgewählt haben) und klicken Ausgewählte hinzufügen Stellen Sie sicher, dass der Gruppenname verschoben wird. Zugewiesen Spalte, dann klicken Schließen Die
- Klicken Speichern um Ihre Hostvorlage zu speichern.
- Klicken Konfiguration anwenden um Ihre neuen Befehle, Kontakte und Host-Vorlagenänderungen zu aktivieren.

- Herunterladen
pagerduty.cgifür die bidirektionale Integration:
wget https://raw.githubusercontent.com/mdcollins05/pd-nag-connector/master/pagerduty.cgi - Bearbeiten Sie die
pagerduty.cgiDatei, so dass dieBefehlsdateiDie Variable verweist auf Ihre Nagios-Befehlsdatei. Den Pfad finden Sie durch Ausführen des Befehlsgrep '^command_file' nagios.cfgim Verzeichnisnagios.cfgwohnt (/usr/local/nagios/etc(Wenn Sie das von Nagios Enterprises bereitgestellte Image der virtuellen Maschine verwenden). Falls keine Informationen zurückgegeben werden, stellen Sie sicher, dassBefehlsdateiDie Variable ist nicht auskommentiert (beginnt nicht mit einem#). - Bewegen
pagerduty.cgiin das Nagios Core cgi-bin-Verzeichnis (nicht in das Nagios XI PHP-Benutzeroberflächenverzeichnis). Für das von Nagios Enterprises bereitgestellte virtuelle Maschinen-Image gilt Folgendes:/usr/local/nagios/sbin:
mv pagerduty.cgi /usr/local/nagios/sbin - Machen
pagerduty.cgiausführbare Datei. Für das von Nagios Enterprises bereitgestellte virtuelle Maschinenabbild:
chmod +x /usr/local/nagios/sbin/pagerduty.cgi - Installieren Sie die erforderlichen Perl-Bibliotheken, damit das Skript funktioniert.
yum install perl-CGI perl-JSON perl-libwww-perl - Gehen Sie in PagerDuty zu Ihrem Nagios XI-Dienst. Integrationen Tabulatortaste und Klick Fügen Sie eine Erweiterung hinzu Die
- Für die Verlängerung Typ wählen Nagios dann geben Sie ein Name Wählen Sie für Ihren Webhook einen aus Service , fügen Sie ein in URL , Die Benutzername , Die Passwort und klicken Sie Speichern Die URL sieht in etwa so aus:
ip-or-domain/nagios3/cgi-bin/pagerduty.cgi(In der URL ist kein https:// oder https:// erforderlich.) Notiz: Sofern Sie dies nicht deaktiviert haben, benötigt die Nagios-Weboberfläche einen Benutzernamen und ein Passwort. Wir empfehlen dringend, einen Benutzer zu konfigurieren, der Nagios-Befehle ausführen kann und ausschließlich für den Webhook verwendet wird. Wenn Sie diese URL in Ihrem Browser aufrufen, sollten Sie Folgendes sehen:400 Anfragen müssen POST-Anfragen sein.Falls Sie dies nicht sehen, überprüfen Sie Ihre Webserver-Protokolle, um Einzelheiten darüber zu erfahren, was beim Aufruf dieser URL passiert ist. - An diesem Punkt sollte alles funktionieren. Zum Testen benötigen Sie ein Problem in Nagios, das einen Vorfall auslöst. Wenn Sie den Vorfall anschließend bestätigen, wird ein Kommentar hinzugefügt, der besagt, dass der Vorfall von PagerDuty bestätigt wurde.

Häufig gestellte Fragen
Ist eine bidirektionale Integration möglich, ohne dass meine Nagios-Installation über das Internet erreichbar sein muss?
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: Welche IP-Adressen verwendet PagerDuty für Whitelisting- und Firewall-Zwecke?
Alternativ können Sie einen Dienst wie diesen nutzen: ngrok um einen sicheren Tunnel zu Ihrem Nagios-Server mit einer öffentlichen URL zu erstellen, die für Ihren Webhook oder die Das Poller-Skript wurde ursprünglich von Zoosk entwickelt und wird nun von PagerDuty betreut. Um sich an uns zu wenden, anstatt Ihren Nagios-Server öffentlich zugänglich zu machen.
Wie konfiguriere ich Nagios XI für die Zusammenarbeit 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. „Nagios XI-Dienst“). pagerduty_database , pagerduty_network usw.), kopieren Sie dann den entsprechenden Integrationsschlüssel von PagerDuty und fügen Sie ihn in das Feld ein. Pager Definieren Sie ein Feld für die Variable und ordnen Sie den Kontakt einer Kontaktgruppe zu, die Benachrichtigungen für die gewünschten Dienste erhalten soll. 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 Website die externe Verbindung verliert?
Sie sollten einen externen Ping-Check-Dienst wie beispielsweise konfigurieren StatusCake oder NodePing Um die externe Konnektivität Ihrer Website zu überwachen. Selbstverständlich können Sie PagerDuty auch verwenden, um Benachrichtigungen von diesen Diensten zu erhalten.
Die Integration scheint nicht zu funktionieren. Woran liegt das?
Stellen Sie zunächst sicher, dass Sie Der PagerDuty Agent wurde installiert und dass Ihr Paketmanager bei der Installation keine Fehler gemeldet hat. Fehlgeschlagene Installationen (z. B. aufgrund einer inkompatiblen Distribution wie CentOS 5) sind die häufigste Ursache für eine nicht funktionierende Integration.
Überprüfen Sie, ob die Pagerdienst Der Kontakt wird hergestellt. GASTGEBER oder SERVICEMITTEILUNGEN im Syslog. Sie können Ihr Syslog mit grep durchsuchen, um zu sehen, ob Pagerdienst Der Kontakt wird benachrichtigt. Hier ein Beispiel:
grep NOTIFICATION /var/log/messages 28. Mai 18:20:57 ip-10-11-139-249 nagios3: SERVICE NOTIFICATION: pagerduty;localhost;Current Users;CRITICAL;notify-service-by-pagerduty;USERS CRITICAL - 3 Benutzer sind aktuell angemeldet
Wie Sie sehen können, Pagerdienst Der zuständige Ansprechpartner wurde benachrichtigt. SERVICEHINWEIS Wenn die Pagerdienst Es kommt nie zu einem Kontakt, das bedeutet, 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 Pagerdienst Der Kontakt ist Mitglied der Kontaktgruppe der Administratoren. Wenn der Pagerdienst Der Kontakt wird benachrichtigt, überprüfen Sie das Agentenprotokoll unter /var/log/pdagent/pdagentd.log Die
Weitere Tipps zur Fehlerbehebung finden Sie in unserer Nagios-Fehlerbehebungsleitfaden Die
Welche Art von Nagios-Nachrichten versteht PagerDuty ?
PagerDuty kann verarbeiten PROBLEM , ANERKENNUNG , Und ERHOLUNG Nachrichten. Alle anderen Nachrichten, einschließlich FLAPPINGSTART Und FLAPPINGSTOP werden ignoriert.
Wie kann ich meine Nagios-Benachrichtigungen 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 in der Operations Cloud kostenlos.
Keine Kreditkarte erforderlich.