Prometheus-Integrationsleitfaden

Prometheus + PagerDuty Vorteile

  • Senden Sie ereignisbezogene Daten in umfangreichem Format von Prometheus an PagerDuty, um die richtigen Personen einzubinden, die Problemlösung zu beschleunigen und das Lernen zu verbessern.
  • Erstellen Sie Vorfälle mit hoher und niedriger Dringlichkeit basierend auf der Schwere des Ereignisses aus der Prometheus-Ereignisnutzlast.

So funktioniert es

  • Prometheus sendet Ereignisse über eine Prometheus Alertmanager-Konfigurationsdatei an PagerDuty . Ereignisse von Prometheus lösen entweder einen neuen Vorfall im entsprechenden PagerDuty Dienst aus oder werden als Warnungen in einem bestehenden Vorfall zusammengefasst.
  • PagerDuty Vorfälle können vom Prometheus-Server aus behoben werden, solange die send_resolved Die Konfigurationsoption ist nicht festgelegt. FALSCH Der Standardwert ist WAHR Daher ist es nicht nötig, dies anzugeben. send_resolved: true PagerDuty Vorfälle sollen automatisch behoben werden.

Anforderungen

  • Wichtiger Hinweis für Prometheus Alertmanager Version 0.11 und höher Alertmanager unterstützt jetzt Events API v2 Wenn Sie jedoch die Routing-Schlüssel Eigenschaft und Verwendung v2, der Integrationstyp der Integration, der der Routing-Schlüssel Der Wert muss auch sein Events API v2 Wenn Sie auswählen Prometheus Als Integrationstyp in PagerDuty müssen Sie Folgendes verwenden: Events API v1 Geben Sie einen Typ ein und legen Sie einen Wert für den fest. Service-Schlüssel stattdessen Eigentum.
  • Für die Konfiguration dieser Integration ist mindestens die Rolle „Manager“ erforderlich. Wenn Sie sich nicht sicher sind, welche Rolle Sie haben oder Ihre Berechtigungen angepasst werden müssen, besuchen Sie unsere entsprechenden Abschnitte. Überprüfung Ihrer Benutzerrolle oder Ändern von Benutzerrollen Die

Integrations-Überblick

In PagerDuty

Es gibt zwei Möglichkeiten zur Integration mit PagerDuty: über Event-Orchestrierung oder direkt über ein Integration in einen PagerDuty Dienst Die Integration mit Event Orchestration kann vorteilhaft sein, wenn Sie unterschiedliche Routing-Regeln basierend auf den Ereignissen des integrierten Tools erstellen möchten. Die direkte Integration mit einem PagerDuty -Dienst kann vorteilhaft sein, wenn Sie Warnmeldungen des integrierten Tools nicht anhand der Ereignisnutzlast an verschiedene Responder weiterleiten müssen.

Integration mit Event-Orchestrierung

  1. In der PagerDuty Web-App den Mauszeiger über das Automatisierung Menü auswählen Event-Orchestrierung und wählen Sie Ihre gewünschte Orchestrierung aus. oder Erstelle einen neuen.
  2. Klicken Globaler Orchestrierungsschlüssel , kopieren Sie Ihre Integrationsschlüssel , und bewahren Sie es an einem sicheren Ort für den späteren Gebrauch auf.
    Event Orchestration integration key
  3. Sie können nun fortfahren mit Auf Ihrem Prometheus-Server Abschnitt unten.

Integration mit einem PagerDuty Dienst

  1. vom Dienstleistungen Menü auswählen Dienstverzeichnis Die
  2. Wenn Sie Ihre Integration zu einem bestehenden Dienst hinzufügen Klicken Sie auf den Namen des Dienstes, dem Sie die Integration hinzufügen möchten. Wählen Sie dann die Option aus. Registerkarte „Integrationen“ und klicken Sie auf Neue Integration hinzufügen Die

    Wenn Sie einen neuen Dienst für Ihre Integration erstellen, lesen Sie bitte unsere Dokumentation im Abschnitt Konfiguration von Diensten und Integrationen und befolgen Sie die im Dokument beschriebenen Schritte. Neuen Dienst erstellen Abschnitt.
  3.   Wählen Events API v2 ODER Prometheus (die die Events API v1 verwendet), je nach Ihren Präferenzen, von der Integrationstyp Menü (siehe das Anforderungen Im obigen Abschnitt finden Sie weitere Einzelheiten zu diesen Optionen.
  4. Klicken Dienst hinzufügen oder Integration hinzufügen Um Ihre neue Integration zu speichern, werden Sie zum Tab „Integrationen“ Ihres Dienstes weitergeleitet.
  5. Suchen Sie Ihre Integration in der Liste und klicken Sie rechts auf ∨. Kopieren Sie die Integrationsschlüssel und bewahren Sie es an einem sicheren Ort für den späteren Gebrauch 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 das Weiterleiten von Warnmeldungen von Prometheus an PagerDuty übernimmt.
  2. Erstellen Sie einen Alertmanager-Konfigurationsdatei Falls Sie noch keinen haben, können Sie einen finden. Beispielkonfigurationsdatei auf GitHub Die
  3. Erstellen Sie einen Empfänger für PagerDuty in Ihrer Konfigurationsdatei. Geben Sie dem Empfänger eine Name Geben Sie beispielsweise „PagerDuty-Event-Orchestration“ oder den Namen des Dienstes ein, mit dem Sie die Integration durchführen. Fügen Sie anschließend den PagerDuty -Integrationsschlüssel (generiert im Abschnitt „In PagerDuty“ , siehe oben) in das Feld ein. Service-Schlüssel Feld, speichern Sie anschließend Ihre Konfigurationsdatei.
     Empfänger: - Name:  IHR-EMPFÄNGERNAME  pagerduty_configs: - service_key:  IHR INTEGRATIONSSCHLÜSSEL 
  4. Sie können die Standardeinstellungen konfigurieren. Route in Prometheus, um alle Benachrichtigungen, die keiner benutzerdefinierten Route entsprechen, an Ihren neuen PagerDuty zu senden. Empfänger Hier ist ein Beispiel, das zeigt, wie Sie die Standardeinstellungen konfigurieren würden. Route :
     Route: Gruppierung nach: [Cluster] Empfänger: IHR-EMPFÄNGERNAME 
  5. Sie können auch benutzerdefinierte `Routen` konfigurieren, um Benachrichtigungen an verschiedene `Empfänger` zu senden. Wenn Sie beispielsweise nur Benachrichtigungen mit dem Schweregrad `Warnung` an PagerDuty senden möchten, legen Sie eine andere Standardroute fest und erstellen Sie eine spezielle `Warnungs`-Route wie folgt:
     Routen: - Übereinstimmung: Schweregrad: 'Warnung' Empfänger:  IHR-EMPFÄNGERNAME 
  6. Dank der leistungsstarken Funktionen des Prometheus Alertmanagers Routen Und Empfänger Konfigurationsoptionen, Sie können mehrere konfigurieren Empfänger s mit unterschiedlichen PagerDuty Integrationsschlüsseln und unterschiedlichen Routen um bestimmte Arten von Benachrichtigungen an verschiedene Empfänger zu senden Empfänger S.

    Hier ist eine Beispielkonfiguration, die Folgendes einrichtet: Route das Warnmeldungen für einen Datenbankdienst erfasst und an einen sendet Empfänger Verknüpft mit einem Dienst, der die in PagerDuty hinterlegten Datenbankadministratoren direkt benachrichtigt, während alle anderen Benachrichtigungen an einen Standard-Server weitergeleitet werden. Empfänger mit einem anderen PagerDuty Integrationsschlüssel:

     Route: group_by: [Cluster] Empfänger: **STANDARD-EMPFÄNGER** Gruppenintervall: 5m Routen: - Übereinstimmung: Dienst: Datenbank Empfänger: **DATENBANK-EMPFÄNGER** Empfänger: - Name: **STANDARD-EMPFÄNGER** pagerduty_configs: - Dienstschlüssel: **PRIMÄRER INTEGRATIONSSCHLÜSSEL** - Name: **DATENBANK-EMPFÄNGER** pagerduty_configs: - Dienstschlüssel: **DATENBANK-INTEGRATIONSSCHLÜSSEL** 
  7. Starten Sie den Alertmanager oder starten Sie ihn neu, damit Ihre Konfigurationsänderungen wirksam werden, falls er bereits lief.
  8. Herzlichen Glückwunsch! Prometheus kann nun in PagerDuty Vorfälle auslösen und beheben. Sie können dies überprüfen, indem Sie einen Testvorfall mit folgendem Befehl auslösen: Locke Befehl:
 curl -d '[{'labels': {'Alertname': 'PagerDuty Test'}}]' https://localhost:9093/api/v1/alerts 

Häufig gestellte Fragen

Werden PagerDuty Vorfälle behoben, sobald eine Warnung in Prometheus behoben ist?

Ja, solange die send_resolved Die Konfigurationsoption ist nicht festgelegt. FALSCH Der Standardwert ist WAHR Daher ist es nicht nötig, dies anzugeben. send_resolved : true, damit PagerDuty Vorfälle automatisch behoben werden.

Beachten Sie außerdem, dass die Bearbeitung von Benachrichtigungen bis zu nächste Woche dauern kann. Gruppenintervall Laut Prometheus-Team wird lediglich ein „bester Versuch“ unternommen, die Benachrichtigung an PagerDuty zu senden.

Ich erhalte nur eine Benachrichtigung für mehrere verschiedene Prometheus-Warnungen; wie kann ich das beheben?

Versuchen Sie, die übereinstimmen Und gruppieren nach Optionen für Ihre PagerDuty Route. Der Deduplizierungsschlüssel (auch Vorfallsschlüssel genannt), der zur Bestimmung dient, ob Benachrichtigungsereignisse ein eindeutiges Problem betreffen, wird anhand dieser Optionen generiert. Wenn eine Reihe von Benachrichtigungen die gleichen Werte für die Eigenschaften in gruppieren nach Sie haben denselben Wert für den Deduplizierungsschlüssel und werden daher mit der frühesten bereits bestehenden offenen Warnung/dem frühesten Vorfall zusammengeführt (anstatt neue auszulösen).

Bereit loszulegen?

Testen Sie jedes Produkt in der Operations Cloud kostenlos. Keine Kreditkarte erforderlich.