- PagerDuty /
- Integrationen /
- Prometheus-Integrationshandbuch
Prometheus-Integrationshandbuch
Vorteile von Prometheus + PagerDuty
- Senden Sie reich formatierte Ereignisdaten von Prometheus an PagerDuty, damit Sie die richtigen Leute einbeziehen, die Lösung beschleunigen und das Lernen verbessern können.
- Erstellen Sie Vorfälle mit hoher und niedriger Dringlichkeit basierend auf der Schwere des Ereignisses aus der Prometheus-Ereignisnutzlast.
Wie es funktioniert
- Prometheus sendet Ereignisse über eine Prometheus Alertmanager-Konfigurationsdatei an PagerDuty . Ereignisse von Prometheus lösen einen neuen Vorfall beim entsprechenden PagerDuty Dienst aus oder werden als Warnungen in einem vorhandenen Vorfall gruppiert.
- Sie können PagerDuty Vorfälle vom Prometheus-Server aus beheben, solange der
send_resolved
Die Konfigurationsoption ist nicht aufFALSCH
Der Standardwert istWAHR
, daher ist es nicht notwendig,send_resolved: wahr
um PagerDuty -Vorfälle automatisch zu beheben.
Anforderungen
- Wichtiger Hinweis für Prometheus Alertmanager v0.11 und höher : Alertmanager unterstützt jetzt Ereignisse-API v2 Wenn Sie jedoch die
Routing-Schlüssel
property and use v2, der Integrationstyp der Integration entsprechend derRouting-Schlüssel
Der Wert muss auch Ereignisse-API v2 Wenn Sie Prometheus als Integrationstyp in PagerDuty verwenden Sie den Ereignisse-API v1 geben Sie einen Wert ein für denDienstschlüssel
Eigenschaft stattdessen. - Zum Konfigurieren dieser Integration ist die Basisrolle „Manager“ oder höher erforderlich. Wenn Sie nicht sicher sind, welche Rolle Sie haben, oder wenn Sie Ihre Berechtigungen anpassen müssen, besuchen Sie unsere Abschnitte auf Überprüfen Ihrer Benutzerrolle oder Ändern der Benutzerrollen .
Integrations-Komplettlösung
In PagerDuty
Es gibt zwei Möglichkeiten zur Integration mit PagerDuty: über Ereignisorchestrierung oder direkt über eine Integration in einen PagerDuty Dienst . Die Integration mit Event Orchestration kann von Vorteil sein, wenn Sie unterschiedliche Routingregeln basierend auf den Ereignissen erstellen möchten, die vom integrierten Tool kommen. Die direkte Integration mit einem PagerDuty -Dienst kann von Vorteil sein, wenn Sie Warnmeldungen vom integrierten Tool nicht basierend auf der Ereignisnutzlast an unterschiedliche Responder weiterleiten müssen.
Integration mit Event Orchestration
- Bewegen Sie den Mauszeiger in der PagerDuty Web-App über das Automatisierung wählen Sie Ereignisorchestrierung und wählen Sie die gewünschte Orchestrierung aus oder erstelle ein Neues.
- Klicken Globaler Orchestrierungsschlüssel , kopieren Sie Ihre Integrationsschlüssel , und bewahren Sie es zur späteren Verwendung an einem sicheren Ort auf.
- Sie können nun fortfahren mit Auf Ihrem Prometheus-Server Abschnitt weiter unten.
Integration mit einem PagerDuty -Dienst
- Aus dem Dienstleistungen wählen Sie Serviceverzeichnis .
- Wenn Sie Ihre Integration zu einem bestehenden Dienst hinzufügen , klicken Sie auf den Namen des Dienstes, zu dem Sie die Integration hinzufügen möchten. Wählen Sie dann die Registerkarte „Integrationen“ und klicken Sie auf das Eine neue Integration hinzufügen .
Wenn Sie einen neuen Dienst für Ihre Integration erstellen, lesen Sie bitte unsere Dokumentation im Abschnitt Konfigurieren von Diensten und Integrationen und befolgen Sie die Schritte im Neuen Dienst erstellen Abschnitt. - Wählen Ereignisse-API v2 ODER Prometheus (verwendet Events API v1), je nach Wunsch, von der Integrationstyp Menü (siehe Anforderungen Weitere Einzelheiten zu diesen Optionen finden Sie im Abschnitt oben).
- Klicken Service hinzufügen oder Integration hinzufügen , um Ihre neue Integration zu speichern. Sie werden zur Registerkarte „Integrationen“ für Ihren Dienst weitergeleitet.
- Suchen Sie Ihre Integration in der Liste und klicken Sie rechts auf ∨. Kopieren Sie die Integrationsschlüssel und bewahren Sie es zur späteren Verwendung an einem sicheren Ort auf.
Auf Ihrem Prometheus-Server
- Installieren Sie die Prometheus Alertmanager wenn Sie es noch nicht installiert haben. Der Alertmanager ist für diese Integration erforderlich, da er die Weiterleitung von Warnungen von Prometheus an PagerDuty übernimmt.
- Erstellen Sie ein Alertmanager-Konfigurationsdatei wenn Sie noch keine haben. Sie finden eine Beispielkonfigurationsdatei auf GitHub .
- Erstellen Sie ein
Empfänger
für PagerDuty in Ihrer Konfigurationsdatei. Geben Sie dem Empfänger eineName
, wie „PagerDuty-Event-Orchestration“ oder den Namen des Dienstes, mit dem Sie integrieren. Fügen Sie als Nächstes den PagerDuty Integrationsschlüssel (generiert im Abschnitt In PagerDuty oben) in dasDienstschlüssel
und speichern Sie dann Ihre Konfigurationsdatei.
Empfänger: - Name: IHR-EMPFÄNGERNAME pagerduty_configs: - service_key: IHR INTEGRATIONSSCHLÜSSEL
- Sie können die Standardeinstellung
Route
in Prometheus, um alle Alarme, die keiner benutzerdefinierten Route entsprechen, an Ihren neuen PagerDuty zu sendenEmpfänger
. Hier ist ein Beispiel, das zeigt, wie Sie die Standardeinstellung konfigurieren würdenRoute
:Route: group_by: [Cluster] Empfänger: IHR EMPFÄNGERNAME
- Sie können auch benutzerdefinierte „Routen“ konfigurieren, um Warnungen an verschiedene „Empfänger“ zu senden. Wenn Sie beispielsweise nur Warnungen mit dem Schweregrad „Warnung“ an PagerDuty senden möchten, legen Sie eine andere Standardroute fest und erstellen Sie eine spezielle „Warnungsroute“ wie diese:
Routen: - Übereinstimmung: Schweregrad: „Warnung“ Empfänger: IHR-EMPFÄNGERNAME
-
Dank der leistungsstarken Funktionen des Prometheus Alertmanagers
Routen
UndEmpfänger
Konfigurationsoptionen können Sie mehrereEmpfänger
s mit unterschiedlichen PagerDuty Integrationsschlüsseln und unterschiedlichenRouten
um bestimmte Arten von Warnungen an verschiedeneEmpfänger
S.Hier ist eine Beispielkonfiguration, die ein
Route
das Warnmeldungen für einen Datenbankdienst erfasst und an einenEmpfänger
mit einem Dienst verknüpft, der die DBAs in PagerDuty direkt benachrichtigt, während alle anderen Warnungen an einen Standard weitergeleitet werdenEmpfänger
mit einem anderen PagerDuty -Integrationsschlüssel:Route: Gruppieren nach: [Cluster] Empfänger: **DEFAULT-RECEIVER** Gruppenintervall: 5 m Routen: - Übereinstimmung: Dienst: Datenbank Empfänger: **DATABASE-RECEIVER** Empfänger: - Name: **DEFAULT-RECEIVER** Pagerduty_Konfigurationen: - Dienstschlüssel: **PRIMARY-INTEGRATION-KEY** - Name: **DATABASE-RECEIVER** Pagerduty_Konfigurationen: - Dienstschlüssel: **DATABASE-INTEGRATION-KEY**
- Starten Sie den Alertmanager oder starten Sie ihn neu, damit Ihre Konfigurationsänderungen wirksam werden, falls er bereits ausgeführt wurde.
- Herzlichen Glückwunsch! Prometheus kann nun Vorfälle in PagerDuty auslösen und lösen. Sie können dies überprüfen, indem Sie einen Testvorfall mit dem folgenden Befehl auslösen.
Locke
Befehl:
curl -d '[{'labels': {'Alertname': 'PagerDuty Test'}}]' http://localhost:9093/api/v1/alerts
Häufig gestellte Fragen
Werden PagerDuty -Vorfälle behoben, wenn ein Alarm in Prometheus behoben wird?
Ja, solange die send_resolved
ist nicht auf FALSCH
Der Standardwert ist WAHR
, daher ist es nicht notwendig, send_resolved
: True, damit PagerDuty Vorfälle automatisch behoben werden.
Beachten Sie auch, dass die Benachrichtigungen zur Lösung bis zum nächsten Gruppenintervall
gesendet werden, und laut dem Prometheus-Team wird nur „das Beste“ getan, um die Benachrichtigung an PagerDuty zu senden.
Ich erhalte nur eine Benachrichtigung für mehrere verschiedene Prometheus-Warnmeldungen. Wie kann ich das beheben?
Versuchen Sie die übereinstimmen
Und gruppieren nach
Optionen für Ihre PagerDuty Route. Der Deduplizierungsschlüssel (auch bekannt als Vorfallschlüssel), der verwendet wird, um zu bestimmen, ob Warnmeldungen ein eindeutiges Problem betreffen, wird basierend auf diesen Optionen generiert. Wenn eine Reihe von Warnungen die gleichen Werte für die Eigenschaften in gruppieren nach
, haben sie den gleichen Wert für den Deduplizierungsschlüssel und werden daher mit dem frühesten vorhandenen offenen Alarm/Vorfall zusammengeführt (anstatt neue auszulösen).
Bereit, loszulegen?
Testen Sie jedes Produkt in der Operations Cloud kostenlos.
Keine Kreditkarte erforderlich.