Prometheus: Konfiguration des Alert Managers

Diese Dokumentation ist Teil des Warnungen-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Prometheus-Warnungen funktionieren und wie man sie konfiguriert.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Prometheus Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Alert Manager inklusive, um Warnungen an Slack, Mattermost, PagerDuty usw. zu senden.
  • Dedizierter E-Mail-Server zum Versenden von unbegrenzten E-Mail-Warnungen.
  • Blackbox zur Überprüfung von HTTP, ICMP, TCP und mehr.
  • Einfache Konfiguration mit Online-Konfigurationsdatei-Editor.
  • Mühelose Updates mit nur einem Klick.
  • Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Prometheus Cloud Hosting-Lösung von Stackhero auszuprobieren!

Um den Alert Manager zu konfigurieren, bearbeiten Sie die Datei alert-manager.yml. In Ihrem Stackhero-Dashboard wählen Sie Ihren Prometheus-Dienst aus und klicken dann auf "Konfiguration des Alert Managers".

Im Folgenden präsentieren wir die Grundlagen. Für weitere Details verweisen wir auf die offizielle Dokumentation.

Der erste Schritt besteht darin, die receivers zu konfigurieren. Jeder receiver ist eine Reihe von Benachrichtigungsintegrationen (wie E-Mail, Slack, etc.), die durch einen eindeutigen name identifiziert werden.

Zum Beispiel könnten Sie einen Empfänger namens "critical_alert" für Benachrichtigungen erstellen, die durch Warnungen mit kritischer Schwere ausgelöst werden. Alternativ könnten Sie einen Empfänger wie "devops_team" erstellen, um Warnungen an Ihr DevOps-Team zu leiten.

Das Festlegen eines receiver-Namens auf "critical_alert" allein wird keine Warnungen senden. Die Zuordnung zwischen Warnungen und dem Empfänger erfolgt in der unten beschriebenen routes-Konfiguration.

Sobald ein Empfänger definiert ist, müssen Sie die entsprechenden Benachrichtigungsintegrationen einrichten. Diese könnten E-Mails, Slack/Mattermost-Benachrichtigungen, PagerDuty, Opsgenie, Webhook und mehr umfassen.

Hier ist ein Beispiel für einen receiver namens "critical_alert", der eine E-Mail an zwei Benutzer und eine Slack-Nachricht an den #alerts-Kanal sendet:

receivers:
- name: "critical_alert"

  # Kritische Warnungen per E-Mail senden
  email_configs:
    - send_resolved: true
      to: "[email protected]"

  # Kritische Warnungen an Slack oder Mattermost senden
  slack_configs:
    - send_resolved: true
      api_url: "<your Slack or Mattermost API URL>"
      channel: "#alerts"
      title: "{{ range .Alerts }}{{ .Annotations.summary }}\n{{ end }}"
      text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"

Sie können mehrere Empfänger definieren, um verschiedene Arten von Warnungen zu verwalten. Zum Beispiel könnten Sie einen für kritische Warnungen, einen anderen für Fehlerwarnungen und einen weiteren für andere Warnungstypen haben.

Instanzen von Stackhero for Prometheus beinhalten einen dedizierten und privaten E-Mail-Server, der es Ihnen ermöglicht, eine unbegrenzte Anzahl von E-Mail-Warnungen ohne zusätzliche Kosten zu senden.

Nachdem Sie Ihre Empfänger konfiguriert haben, müssen Sie die routes einrichten. Die Routen sagen dem Alert Manager, wie er eingehende Warnungen von Prometheus behandeln und wohin er sie senden soll (typischerweise zu einem Ihrer vorkonfigurierten Empfänger).

Hier ist ein einfaches Beispiel, das Warnungen mit einer Schwere von "critical" an den Empfänger namens "critical_alert" leitet:

route:
  routes:
    - match:
        severity: "critical"
      receiver: "critical_alert"

Wir haben einige Routen in der alert-manager.yml-Datei vorkonfiguriert, die mit Ihrer Stackhero for Prometheus-Instanz bereitgestellt wird. Um Warnungen zu empfangen, aktualisieren Sie einfach die Abschnitte email_configs und/oder slack_configs mit Ihren Benachrichtigungsdetails.