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 auf FALSCH Der Standardwert ist WAHR , 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 der Routing-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 den Dienstschlü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 stammen. Die direkte Integration mit einem PagerDuty Dienst kann von Vorteil sein, wenn Sie Warnungen vom integrierten Tool nicht basierend auf der Ereignisnutzlast an unterschiedliche Responder weiterleiten müssen.

Integration mit Event Orchestration

1. 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.

2. Klicken Sie auf Globaler Orchestrierungsschlüssel , kopieren Sie Ihre Integrationsschlüssel , und bewahren Sie es zur späteren Verwendung an einem sicheren Ort auf.

Event Orchestration integration key

Sie können nun fortfahren mit Auf Ihrem Prometheus-Server Abschnitt weiter unten.

Integration mit einem PagerDuty Dienst

1. Aus dem Dienstleistungen wählen Sie Serviceverzeichnis .

2. 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.

3. 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).

4. Klicken Service hinzufügen oder Integration hinzufügen , um Ihre neue Integration zu speichern. Sie werden zur Registerkarte „Integrationen“ für Ihren Dienst weitergeleitet.

5. 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

1. Installieren Sie die Prometheus Alertmanager falls 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.

2. Erstellen Sie eine Alertmanager-Konfigurationsdatei wenn Sie noch keine haben. Sie finden eine Beispielkonfigurationsdatei auf GitHub .

3. Erstellen Sie eine Empfänger für PagerDuty in Ihrer Konfigurationsdatei. Geben Sie dem Empfänger eine Name , 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 das Dienstschlüssel und speichern Sie dann Ihre Konfigurationsdatei.

 Empfänger: 
 - Name:  IHR-EMPFÄNGERNAME 
 pagerduty_configs: 
 - Serviceschlüssel:  IHR INTEGRATIONSSCHLÜSSEL 

4. Sie können die Standardeinstellungen konfigurieren Route in Prometheus, um alle Alarme, die keiner benutzerdefinierten Route entsprechen, an Ihren neuen PagerDuty zu senden Empfänger . Hier ist ein Beispiel, das zeigt, wie Sie die Standardeinstellung konfigurieren würden Route :

 Route: 
 gruppieren nach: [Cluster] 
 Empfänger:  IHR-EMPFÄNGERNAME 

5. 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: 
 - übereinstimmen: 
 Schweregrad: „Warnung“ 
 Empfänger:  IHR-EMPFÄNGERNAME 

6. Dank der leistungsstarken Funktionen des Prometheus Alertmanagers Routen Und Empfänger Konfigurationsoptionen können Sie mehrere Empfänger s mit unterschiedlichen PagerDuty Integrationsschlüsseln und unterschiedlichen Routen um bestimmte Arten von Warnungen an verschiedene Empfänger S.

Hier ist eine Beispielkonfiguration, die ein Route das Warnmeldungen für einen Datenbankdienst erfasst und an einen Empfänger mit einem Dienst verknüpft, der die DBAs in PagerDuty direkt benachrichtigt, während alle anderen Warnungen an einen Standard weitergeleitet werden Empfänger mit einem anderen PagerDuty Integrationsschlüssel:

 Route: 
 gruppieren nach: [Cluster] 
 Empfänger: **STANDARD-EMPFÄNGER** 
 Gruppenintervall: 5 m 
 Routen: 
 - übereinstimmen: 
 Dienst: Datenbank 
 Empfänger: **DATABASE-RECEIVER** 

 Empfänger: 
 - Name: **STANDARD-EMPFÄNGER** 
 pagerduty_configs: 
 - service_key: **PRIMÄRER INTEGRATIONSSCHLÜSSEL** 

 - Name: **DATENBANK-EMPFÄNGER** 
 pagerduty_configs: 
 - service_key: **DATENBANK-INTEGRATIONSSCHLÜSSEL** 

7. Starten Sie den Alertmanager oder starten Sie ihn neu, damit Ihre Konfigurationsänderungen wirksam werden, falls er bereits ausgeführt wurde.

8. 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 

FAQ

Werden PagerDuty Vorfälle behoben, wenn ein Alarm in Prometheus behoben wird?

Ja, solange die send_resolved Die Konfigurationsoption 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 gruppiere 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 gruppiere 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).

Beginnen Sie noch heute mit der Nutzung von PagerDuty

Testen Sie PagerDuty 14 Tage lang kostenlos – keine Kreditkarte erforderlich.

MELDEN SIE SICH AN