- PagerDuty /
- Integrationen /
- Icinga 2 Integrationshandbuch
Icinga 2 Integrationshandbuch
In diesem Handbuch erfahren Sie, wie Sie Ihr Icinga 2 Installation mit PagerDuty unter Verwendung PagerDuty Agent .
Bitte beachten Sie, dass Sie als Root angemeldet sein müssen, um die Installation abzuschließen. Abhängig von Ihrer Linux-Distribution und Ihrer Icinga 2-Konfiguration müssen Sie diese Anweisungen möglicherweise leicht anpassen.
Wenn Sie Probleme bei der Installation haben, wenden Sie sich bitte an Kontaktieren Sie uns .
Suchen Sie nach Icinga 1? Hier klicken
In PagerDuty
- Gehen Sie zum Leistungen und wählen Sie Serviceverzeichnis .
- 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 Eine neue Integration hinzufügen .
- 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 .
- 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.
- 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 Icinga 2 Server
-
- Installieren Sie die PagerDuty Agent Der Agent empfängt Ereignisse von Nagios Core und sendet sie über eine Warteschlange an PagerDuty , stellt Protokolle bereit, die bei der Behebung von Problemen helfen, und versucht automatisch erneut, Ereignisse zu senden, wenn ein Verbindungsfehler auftritt (d. h. wenn Ihr Nagios Core-Server vorübergehend die Verbindung verliert). Notiz: Falls Sie dies noch nicht getan haben, empfehlen wir Ihnen dringend, auf Python 3 umzusteigen, um den PagerDuty -Agenten zu verwenden. Der Agent läuft nicht unter CentOS 5 oder niedriger, da er eine neuere Python-Version als die in CentOS 5 enthaltene Version benötigt. Bitte verwenden Sie die Perl-basierte Integration für Icinga2 auf älteren Betriebssystemen.
- Laden Sie die Konfigurationsvorlage herunter, pagerduty-icinga2.conf , von GitHub:
wget https://raw.githubusercontent.com/ PagerDuty/pdagent-integrations/master/conf.d/pagerduty-icinga2.conf
- Öffnen Sie die Datei mit Ihrem Texteditor (Nano, Vim, Emacs usw.) und geben Sie den Integrationsschlüssel Ihres Icinga 2-Dienstes in das Pager-Feld ein. Der Integrationsschlüssel ist eine 32-stellige Zeichenfolge, die auf der Detailseite der Integration zu finden ist.
- Verschieben Sie die Icinga 2-Konfigurationsdatei an die richtige Stelle:
mv pagerduty-icinga2.conf /etc/icinga2/conf.d/
Alternativ, wenn Sie die objects.d-Konfiguration von Icinga verwenden:
mv pagerduty-icinga2.conf /etc/icinga2/objects.d/
- Hinzufügen des benutzerdefinierten Attributs
enable_pagerduty
zu Ihrer Konfiguration Gastgeber und Service Konfigurationsobjekte. vars.enable_pagerduty = true # Fügen Sie diese Zeile zu Hosts/Diensten hinzu, die Ereignisse an PagerDuty senden
Beachten Sie, dass dies am einfachsten geht, indem Sie es hinzufügen zu Vorlagen die von allen Ihren Konfigurationsobjekten verwendet werden. Beispielsweise verfügt die Standardkonfiguration auf Debian-basierten Systemen über Hostobjekte, die die
generischer Host
Vorlagen- und Serviceobjekte, die dasgenerischer-service
Vorlage. Die Vorlagen sind in /etc/icinga2/conf.d/templates.conf definiert und können wie folgt geändert werden:-
Vorlage Host 'generic-host' { max_check_attempts = 5 check_interval = 1m retry_interval = 30s check_command = 'hostalive' vars.enable_pagerduty = true # Diese Zeile hinzufügen }
Vorlagendienst 'generic-service' { max_check_attempts = 3 check_interval = 1m retry_interval = 30s vars.enable_pagerduty = true # Diese Zeile hinzufügen }
- Wenn Sie das benutzerdefinierte Attribut in Schritt 5 einer Vorlage hinzugefügt haben, stellen Sie sicher, dass die Vorlage von Ihren Host- und Serviceobjekten verwendet wird. Wenn Sie es beispielsweise zu
generischer Host
Undgenerischer-service
Vorlagen sollten Ihre Objekte eine der folgenden Zeilen enthalten:
importiere 'generic-host' # Alle Hostobjekte sollten diese Zeile enthalten
importiere 'generic-service' # Alle Serviceobjekte sollten diese Zeile enthalten
- Starten Sie Icinga 2 neu:
/etc/init.d/icinga2 Neustart
Häufig gestellte Fragen
Was passiert, wenn ein Icinga-Ereignis eintritt, während mein Netzwerk ausgefallen ist?
Sollte ein PagerDuty Server aus irgendeinem Grund nicht erreichbar sein, werden die Ereignisse in einer Warteschlange auf der Festplatte gespeichert. Der installierte Cron-Job 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 Site die externe Konnektivität verliert?
Sie sollten einen externen Ping-Check-Dienst konfigurieren wie Pingdom zur Überwachung der externen Konnektivität Ihrer Site. Natürlich können Sie PagerDuty auch zur Weiterleitung von Warnmeldungen dieser Dienste verwenden.
Es scheint nicht zu funktionieren. Was ist los?
Überprüfen Sie die Icinga-Protokolldatei auf Meldungen mit „pagerduty“. Auf den meisten Systemen:
grep -i pagerduty /var/log/icinga2/icinga2.log
Ein weiteres zu überprüfendes Protokoll ist das Syslog auf Nachrichten, die „Icinga-Ereignis“ 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 FLAPPENSTOP , werden ignoriert. Wenn Sie möchten, dass PagerDuty zusätzliche Icinga-Nachrichten verarbeitet, lassen Sie es uns bitte wissen!
Bereit, loszulegen?
Testen Sie jedes Produkt der Operations Cloud kostenlos.
Keine Kreditkarte erforderlich.