Beginnen Sie noch heute mit der Nutzung von PagerDuty
Testen Sie PagerDuty 14 Tage lang kostenlos – keine Kreditkarte erforderlich.
Nagios ist einer der führenden Anbieter von Open Source- und unternehmenstauglichen IT-Infrastrukturüberwachungstools. Nagios wird von Hunderttausenden von Benutzern weltweit verwendet und ermöglicht seinen Benutzern die Überwachung ihrer gesamten IT-Infrastruktur, das Erkennen von Problemen, bevor sie auftreten, das Aufspüren von Sicherheitsverletzungen und die Planung/Budgetierung von IT-Upgrades.
Durch die Integration von PagerDuty in Ihre vorhandene Nagios-Überwachungslösung können Sie Nagios-Warnmeldungen direkt an die diensthabende Person in Ihrem PagerDuty Zeitplan senden.
Die folgende Anleitung beschreibt, wie Sie Ihre Nagios 2-, 3- oder 4-Installation mithilfe eines einfachen Perl-basierten Plugins in PagerDuty integrieren. Beachten Sie, dass Sie angemeldet sein müssen als Wurzel
um die Installation abzuschließen. Sie müssen diese Anweisungen möglicherweise leicht ändern, je nach Ihrer genauen Linux-Distribution, Nagios-Konfiguration und Nagios-Version. Bitte Kontaktieren Sie unser Support-Team wenn Sie Probleme beim Abschließen der Integration haben.
Hinweis: Diese Anleitung wurde ersetzt durch die Handbuch zur bidirektionalen Nagios-Integration das verwendet die PagerDuty . Versuchen Sie zunächst, die Schritte im neuen Integrationshandbuch zu befolgen, und verwenden Sie dieses nur, wenn Sie ein System haben, auf dem der PagerDuty Agent nicht installiert werden kann. Beachten Sie auch, dass das bidirektionale Integrationsskript aus dem neuen Integrationshandbuch nicht so wie es ist mit der Perl-basierten Integration verwendet werden kann; die bidirektionale Integration wird nur bei Verwendung der neuen Integration unterstützt.
Diese Anleitung enthält Schritte für Debian-basierte (z. B. Ubuntu) und RHEL-basierte (z. B. CentOS, Fedora) Linux-Distributionen. Sie müssen nicht alle Befehle in dieser Anleitung ausführen, sondern nur die für Ihren Systemtyp. Beachten Sie, dass alle bereitgestellten Befehle als Wurzel
Benutzer.
apt-get installiere libwww-perl libcrypt-ssleay-perl
Für RHEL-basierte Systeme:
yum installiere perl-libwww-perl perl-Crypt-SSLeay
pagerduty_nagios.cfg
von GitHub: wget https://raw.github.com/ PagerDuty/pagerduty-nagios-pl/master/pagerduty_nagios.cfg
pagerduty_nagios.cfg
in einem Texteditor. Pager
Feld. Der Schlüssel ist eine 32-stellige Zeichenfolge, die auf der Detailseite des Dienstes zu finden ist (Schritt 3 im Abschnitt „PagerDuty“ oben). Wenn Sie Nagios 4 verwenden: Für die in pagerduty_nagios.cfg
wie unten gezeigt. Nehmen Sie diese Änderungen nicht vor, wenn Sie Nagios 2 oder 3 verwenden. Befehl definieren { Befehlsname notify-service-by-pagerduty Befehlszeile /usr/local/bin/pagerduty_nagios.pl in Warteschlange stellen -f pd_nagios_object=service -f CONTACTPAGER='$CONTACTPAGER$' -f NOTIFICATIONTYPE='$NOTIFICATIONTYPE$' -f HOSTNAME='$HOSTNAME$' -f SERVICEDESC='$SERVICEDESC$' -f SERVICESTATE='$SERVICESTATE$' -f HOSTDISPLAYNAME='$HOSTDISPLAYNAME$' -f SERVICEDISPLAYNAME='$SERVICEDISPLAYNAME$' -f SERVICEPROBLEMID='$SERVICEPROBLEMID$' } Befehl definieren { Befehlsname notify-host-by-pagerduty Befehlszeile /usr/local/bin/pagerduty_nagios.pl in Warteschlange stellen -f pd_nagios_object=host -f CONTACTPAGER='$CONTACTPAGER$' -f BENACHRICHTIGUNGSTYP='$BENACHRICHTIGUNGSTYP$' -f HOSTNAME='$HOSTNAME$' -f HOSTSTATE='$HOSTSTATE$' -f HOSTDISPLAYNAME='$HOSTDISPLAYNAME$' -f HOSTPROBLEMID='$HOSTPROBLEMID$' }
/etc/nagios3/conf.d
: cp pagerduty_nagios.cfg /etc/nagios3/conf.d
Für RHEL-basierte Systeme ist dies normalerweise /etc/nagios
:
cp pagerduty_nagios.cfg /etc/nagios
/etc/nagios/nagios.cfg
und fügen Sie der Datei diese Zeile hinzu: cfg_file=/etc/nagios/pagerduty_nagios.cfg
/etc/nagios3/conf.d/contacts_nagios2.cfg
(für Debian-basierte Systeme) oder /etc/nagios/localhost.cfg
(für RHEL-basierte Systeme) und suchen Sie nach der Kontaktgruppe „admins“. Fügen Sie dann einfach den Kontakt „pagerduty“ hinzu. definieren contactgroup{ contactgroup_name admins alias Nagios Administratoren Mitglieder root,pagerduty ; Fügen Sie hier Pagerduty hinzu }
pagerduty_nagios.pl
von GitHub und kopiere es nach /usr/local/bin
. wget https://raw.github.com/ PagerDuty/pagerduty-nagios-pl/master/pagerduty_nagios.pl cp pagerduty_nagios.pl /usr/local/bin
chmod 755 /usr/local/bin/pagerduty_nagios.pl
/etc/nagios3/nagios.cfg
(für Debian-basierte Systeme) oder /etc/nagios/nagios.cfg
(für RHEL-basierte Systeme): enable_environment_macros=1
Dieser Schritt ist erforderlich. Die Integration wird nicht funktionieren wenn Sie keine Umgebungsmakros aktiviert haben.
Nagios
Cron-Tabelle des Benutzers: crontab -u nagios -e
* * * * * /usr/local/bin/pagerduty_nagios.pl leeren
/etc/init.d/nagios3 Neustart
Für RHEL-basierte Systeme:
Dienst Nagios neu starten
Diese Integration verwendet ein Perl-Skript, das mit älteren Linux-Distributionen kompatibel ist als die neueren agentenbasierte Integration , allerdings fehlt die bidirektionale Funktionalität der neuen Integration. Sie können das bidirektionale Skript der agentenbasierten Integration nicht so wie es ist mit dem Perl-Skript verwenden; die bidirektionale Integration wird nur bei Verwendung der neuen Integration unterstützt. Aus diesem Grund empfehlen wir die Verwendung der agentenbasierten Integration, es sei denn, Sie verwenden ein System, mit dem der Agent nicht kompatibel ist (z. B. CentOS 5).
Das Perl-Skript fügt von Nagios empfangene Ereignisse zu einer Warteschlange hinzu. /tmp/pagerduty_nagios
. Das Skript versucht, die Warteschlange zu leeren (Ereignisse an PagerDuty zu senden), unmittelbar nachdem es sie von Nagios empfangen hat. Wenn das Skript PagerDuty aus irgendeinem Grund nicht erreichen kann (z. B. aufgrund von Verbindungsproblemen), bleiben die Ereignisse in der Warteschlange. Der Cron-Job dient dazu, die Warteschlange erneut zu leeren, wenn etwas nicht gesendet wurde.
Das Skript verfügt über einige Optionen, die Sie bei der Ausführung festlegen können, darunter die Möglichkeit, das für die Warteschlange verwendete Verzeichnis zu ändern oder einen Proxy festzulegen. Die Optionen sind dokumentiert im Skript . Beachten Sie, dass Sie alle Optionen in beide der in Ihrer Nagios-Konfiguration definierten Befehle sowie des Cron-Jobs.
Tipp: Wenn Sie Probleme mit der Integration haben und sich mehrere Ereignisse in der Warteschlange ansammeln, die nicht an PagerDuty gesendet werden sollen, entfernen Sie einfach die Ereignisdateien in /tmp/pagerduty_nagios
um zu verhindern, dass sie gesendet werden, wenn das Skript erfolgreich Warnungen an PagerDuty senden kann.
Dies ist mit der aktuellen Integration einfach zu bewerkstelligen, da ein Nagios-Dienst in PagerDuty direkt einem „Kontakt“ in Nagios zugeordnet ist. Standardmäßig heißt dieser Kontakt pagerdienst
und definiert in der pagerduty_nagios.cfg
Datei. Um mehrere Dienste zu konfigurieren, duplizieren Sie einfach die vorhandene Kontaktdefinition und benennen Sie sie um (d. h. Pagerduty_Datenbank
, PagerDuty_Netzwerk
, usw.). Kopieren Sie dann den entsprechenden Integrationsschlüssel von PagerDuty und fügen Sie ihn in das Pager
Feld. Vergessen Sie nicht, Nagios neu zu starten, damit die Änderungen wirksam werden.
Wenn ein PagerDuty -Server aus irgendeinem Grund nicht erreichbar ist, werden Ereignisse in einer Warteschlange auf der Festplatte gespeichert. Der Cron-Job versucht einmal pro Minute, die Ereignisse erneut zu senden.
Sie sollten einen externen Ping-Check-Dienst konfigurieren, wie zum Beispiel StatusKuchen oder KnotenPing um die externe Konnektivität Ihrer Site zu überwachen. Natürlich können Sie PagerDuty auch verwenden, um Warnungen von diesen Diensten weiterzuleiten.
Überprüfen Sie zunächst das Syslog auf Nachrichten mit pagerduty_nagios
.
Für Debian-basierte Systeme:
grep pagerduty_nagios /var/log/syslog
Für RHEL-basierte Systeme:
grep pagerduty_nagios /var/log/messages
Weitere Tipps zur Fehlerbehebung finden Sie in unserem Nagios-Handbuch zur Fehlerbehebung .
PagerDuty kann verarbeiten PROBLEM
, WISSEN
, Und ERHOLUNG
Nachrichten. Alle anderen Nachrichten, einschließlich FLAPPENSTART
Und FLAPPENSTOP
, werden ignoriert.
Wir haben einen Leitfaden für Anpassen von Benachrichtigungen, die von Nagios an PagerDuty gesendet werden um Ihnen den Einstieg zu erleichtern.
Testen Sie PagerDuty 14 Tage lang kostenlos – keine Kreditkarte erforderlich.