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 vollständig verwaltete Prometheus Cloud Plattform, die auf Zuverlässigkeit und Einfachheit ausgelegt ist:

  • Alert Manager ist integriert, sodass Sie Warnmeldungen direkt an Slack, Mattermost, PagerDuty und andere gängige Ziele weiterleiten können.
  • Ein dedizierter E-Mail-Server ermöglicht das Versenden von unbegrenzten E-Mail-Benachrichtigungen ohne zusätzlichen Konfigurationsaufwand.
  • Blackbox ist enthalten und ermöglicht das Prüfen von HTTP, ICMP, TCP und weiteren Protokollen für ein umfassendes Monitoring.
  • Konfigurieren Sie Ihre Instanz schnell und einfach mit dem Online-Konfigurationseditor – manuelles Bearbeiten von YAML ist nicht erforderlich.
  • Updates lassen sich mit nur einem Klick anwenden. Stackhero übernimmt den gesamten Upgrade-Prozess für Sie und minimiert so Ausfallzeiten und manuellen Aufwand.
  • Hohe Performance und starke Sicherheit sind durch Ihre eigene private, dedizierte Infrastruktur gewährleistet.

In etwa 5 Minuten einsatzbereit. Stackhero übernimmt die Einrichtung, damit Sie sich auf das Monitoring konzentrieren können – nicht auf die Wartung. Testen Sie das Prometheus Cloud Hosting von Stackhero, um Ihre Monitoring- und Alerting-Prozesse zu optimieren.

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.