Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Empfänger-Konfiguration

Das Alertmanager Config Secret enthält die Konfiguration einer Alertmanager-Instanz, die Benachrichtigungen basierend auf Warnungen sendet, die sie von Prometheus erhält.

Dieser Abschnitt setzt voraus, dass Sie mit der Funktionsweise der Überwachungskomponenten vertraut sind. Für weitere Informationen über den Alertmanager siehe diesen Abschnitt.

Empfänger in der Rancher-Benutzeroberfläche erstellen

Voraussetzungen:
  • Die Überwachungsanwendung muss installiert sein.

  • Wenn Sie das Monitoring mit einem vorhandenen Alertmanager Secret konfiguriert haben, muss es ein Format haben, das von der Rancher-Benutzeroberfläche unterstützt wird. Andernfalls können Sie nur Änderungen vornehmen, indem Sie das Alertmanager Secret direkt bearbeiten. Hinweis: Wir verbessern weiterhin, welche Arten von Alertmanager-Konfigurationen wir mit der Benutzeroberfläche für Routen und Empfänger unterstützen können. Bitte melden Sie ein Problem, wenn Sie einen Wunsch für eine Funktionserweiterung haben.

  1. Gehen Sie zu dem Cluster, in dem Sie Empfänger erstellen möchten. Klicken Sie auf Monitoring -> Alerting -> AlertManagerConfigs.

  2. Klicken Sie auf Erstellen.

  3. Geben Sie einen Namen für die neue AlertmanagerConfig ein.

  4. Klicken Sie auf Erstellen.

  5. Nachdem Sie die AlertManagerConfig erstellt haben, klicken Sie darauf, um einen Empfänger hinzuzufügen.

  6. Klicken Sie auf Empfänger hinzufügen.

  7. Geben Sie einen Namen für den Empfänger ein.

  8. Konfigurieren Sie einen oder mehrere Anbieter für den Empfänger. Für Hilfe beim Ausfüllen der Formulare, siehe die untenstehenden Konfigurationsoptionen.

  9. Klicken Sie auf Erstellen.

Ergebnis: Warnungen können so konfiguriert werden, dass sie Benachrichtigungen an den/die Empfänger senden.

Empfänger-Konfiguration

Die Benachrichtigungsintegrationen werden mit dem receiver konfiguriert, der in der Prometheus-Dokumentation. erklärt wird.

Nativ vs. Nicht-native Empfänger

Standardmäßig bietet AlertManager eine native Integration mit einigen Empfängern, die in diesem Abschnitt. aufgeführt sind. Alle nativ unterstützten Empfänger sind über die Rancher-Oberfläche konfigurierbar.

Für Benachrichtigungsmechanismen wie Telegram, die von AlertManager nicht nativ unterstützt werden, erfolgt die Integration über den Webhook-Empfänger. Eine Liste von Drittanbieter-Treibern, die solche Integrationen bereitstellen, finden Sie hier. Der Zugriff auf diese Treiber und ihre zugehörigen Integrationen erfolgt über die Alerting Drivers-App. Sobald aktiviert, kann die Konfiguration nicht-nativer Empfänger auch über die Rancher-Benutzeroberfläche erfolgen.

Derzeit bietet die Rancher Alerting Drivers-App Zugriff auf die folgenden Integrationen:

  • Microsoft Teams, basierend auf dem prom2teams Treiber.

  • Telegram, basierend auf dem Sachet Treiber.

Die folgenden Arten von Empfängern können in der Rancher-Benutzeroberfläche konfiguriert werden:

Die benutzerdefinierte Empfängeroption kann verwendet werden, um jeden Empfänger in YAML zu konfigurieren, der nicht durch Ausfüllen der anderen Formulare in der Rancher-Benutzeroberfläche konfiguriert werden kann.

Slack

Feld Typ Beschreibung

URL

Zeichenkette

Geben Sie Ihre Slack-Webhook-URL ein. Für Anweisungen zur Erstellung eines Slack-Webhooks siehe die Slack-Dokumentation.

Standardkanal

Zeichenkette

Geben Sie den Namen des Kanals ein, in dem Sie Benachrichtigungen über Alarme im folgenden Format senden möchten: #<channelname>.

Proxy-URL

Zeichenkette

Proxy für die Webhook-Benachrichtigungen.

Aktivieren Sie das Senden von gelösten Alarmen

Bool

Ob eine Nachbenachrichtigung gesendet werden soll, wenn ein Alarm gelöst wurde (z. B. [Gelöst] Hohe CPU-Auslastung).

Email

Feld Typ Beschreibung

Standardempfängeradresse

Zeichenkette

Die E-Mail-Adresse, die Benachrichtigungen erhalten wird.

Aktivieren Sie das Senden von gelösten Alarmen

Bool

Ob eine Nachbenachrichtigung gesendet werden soll, wenn ein Alarm gelöst wurde (z. B. [Gelöst] Hohe CPU-Auslastung).

SMTP-Optionen:

Feld Typ Beschreibung

Sender

Zeichenkette

Geben Sie eine E-Mail-Adresse ein, die auf Ihrem SMTP-Mailserver verfügbar ist und von der Sie die Benachrichtigung senden möchten.

Host

Zeichenkette

Geben Sie die IP-Adresse oder den Hostnamen für Ihren SMTP-Server ein. Beispiel: smtp.email.com.

TLS verwenden

Bool

Verwenden Sie TLS zur Verschlüsselung.

Benutzername

Zeichenkette

Geben Sie einen Benutzernamen zur Authentifizierung beim SMTP-Server ein.

Passwort

Zeichenkette

Geben Sie ein Passwort zur Authentifizierung beim SMTP-Server ein.

PagerDuty

Feld Typ Beschreibung

Integrationsart

Zeichenkette

Events API v2 oder Prometheus.

Standard-Integrationsschlüssel

Zeichenkette

Für Anweisungen zum Erhalten eines Integrationsschlüssels siehe die PagerDuty-Dokumentation.

Proxy-URL

Zeichenkette

Proxy für die PagerDuty-Benachrichtigungen.

Aktivieren Sie das Senden von gelösten Alarmen

Bool

Ob eine Nachbenachrichtigung gesendet werden soll, wenn ein Alarm gelöst wurde (z. B. [Gelöst] Hohe CPU-Auslastung).

Opsgenie

Feld Beschreibung

API-Schlüssel

Für Anweisungen zum Erhalten eines API-Schlüssels siehe die Opsgenie-Dokumentation.

Proxy-URL

Proxy für die Opsgenie-Benachrichtigungen.

Aktivieren Sie das Senden von gelösten Alarmen

Ob eine Nachbenachrichtigung gesendet werden soll, wenn ein Alarm gelöst wurde (z. B. [Gelöst] Hohe CPU-Auslastung).

Opsgenie Responders:

Feld Typ Beschreibung

Typ

Zeichenkette

Zeitplan, Team, Benutzer oder Eskalation. Für weitere Informationen zu Alarm-Responders siehe die Opsgenie-Dokumentation.

Senden an

Zeichenkette

ID, Name oder Benutzername des Opsgenie-Empfängers.

Webhook

Feld Beschreibung

URL

Webhook-URL für die App Ihrer Wahl.

Proxy-URL

Proxy für die Webhook-Benachrichtigung.

Aktivieren Sie das Senden von gelösten Alarmen

Ob eine Nachbenachrichtigung gesendet werden soll, wenn ein Alarm gelöst wurde (z. B. [Gelöst] Hohe CPU-Auslastung).

Benutzerdefiniert

Die hier bereitgestellte YAML wird direkt an Ihren Empfänger innerhalb des Alertmanager Config Secrets angehängt.

Teams

Aktivierung des Teams-Empfängers für von Rancher verwaltete Cluster

Der Teams-Empfänger ist kein nativer Empfänger und muss aktiviert werden, bevor er verwendet werden kann. Sie können den Teams-Empfänger für einen von Rancher verwalteten Cluster aktivieren, indem Sie zur Seite Apps gehen und die App rancher-alerting-drivers mit der ausgewählten Teams-Option installieren.

  1. Gehen Sie in der Rancher-Benutzeroberfläche zu dem Cluster, in dem Sie rancher-alerting-drivers installieren möchten, und klicken Sie auf Apps.

  2. Klicken Sie auf die App Alerting Drivers.

  3. Klicken Sie auf die Registerkarte Helm-Bereitstellungsoptionen.

  4. Wählen Sie die Option Teams aus und klicken Sie auf Installieren.

  5. Beachten Sie den verwendeten Namespace, da er in einem späteren Schritt benötigt wird.

Konfiguration des Teams-Empfängers

  1. Um den Teams-Empfänger zu konfigurieren, aktualisieren Sie die ConfigMap. Das folgende Beispiel ist eine minimale Konfiguration für den Teams-Empfänger:

     [Microsoft Teams]
     connector: https://your-teams-webhook-url
  2. Nachdem Sie die Konfiguration aktualisiert haben, folgen Sie den Anweisungen in Erstellen von Empfängern in der Rancher-Benutzeroberfläche, um den Empfänger hinzuzufügen. Verwenden Sie das folgende Beispiel, um Ihre URL zu bilden. Stellen Sie sicher, dass Sie <namespace> durch den Namespace der rancher-alerting-drivers App ersetzen:

     url: http://rancher-alerting-drivers-prom2teams.<namespace>.svc:8089/v2/connector

SMS

Aktivierung des SMS-Empfängers für von Rancher verwaltete Cluster

Der SMS-Empfänger ist kein nativer Empfänger und muss aktiviert werden, bevor er verwendet werden kann. Sie können den SMS-Empfänger für einen von Rancher verwalteten Cluster aktivieren, indem Sie zur Seite Apps gehen und die App rancher-alerting-drivers mit der ausgewählten SMS-Option installieren.

  1. Klicken Sie in der oberen linken Ecke auf ☰ > Clusterverwaltung.

  2. Gehen Sie auf der Seite Clusters zu dem Cluster, in dem Sie rancher-alerting-drivers installieren möchten, und klicken Sie auf Erkunden.

  3. Klicken Sie in der linken Navigationsleiste auf

  4. Klicken Sie auf die App Alerting Drivers.

  5. Klicken Sie auf die Registerkarte Helm-Bereitstellungsoptionen

  6. Wählen Sie die Option SMS aus und klicken Sie auf Installieren.

  7. Beachten Sie den verwendeten Namespace, da er in einem späteren Schritt benötigt wird.

Konfiguration des SMS-Empfängers

Der SMS-Empfänger kann konfiguriert werden, indem die ConfigMap aktualisiert wird. Zum Beispiel ist die folgende eine minimale Konfiguration für den SMS-Empfänger.

providers:
  telegram:
    token: 'your-token-from-telegram'

receivers:
- name: 'telegram-receiver-1'
  provider: 'telegram'
  to:
    - '123456789'

Wenn die Konfiguration abgeschlossen ist, fügen Sie den Empfänger mit den Schritten in diesem Abschnitt hinzu.

Verwenden Sie das folgende Beispiel als Namen und URL, wobei:

  • der dem Empfänger zugewiesene Name, z. B. telegram-receiver-1, mit dem Namen im receivers.name-Feld in der ConfigMap übereinstimmen muss, z. B. telegram-receiver-1

  • ns-1 in der URL wird durch den Namespace ersetzt, in dem die rancher-alerting-drivers-App installiert ist

name: telegram-receiver-1
url http://rancher-alerting-drivers-sachet.ns-1.svc:9876/alert

Telegram

Aktivierung des Telegram-Empfängers für von Rancher verwaltete Cluster

Der Telegram-Empfänger ist kein nativer Empfänger. Sie müssen ihn aktivieren, bevor er verwendet werden kann. Sie können den Telegram-Empfänger für einen von Rancher verwalteten Cluster aktivieren, indem Sie zur Seite Apps gehen und die rancher-alerting-drivers-App mit der ausgewählten Option Telegram installieren:

  1. Klicken Sie in der oberen linken Ecke auf ☰ > Clusterverwaltung.

  2. Gehen Sie auf der Seite Clusters zu dem Cluster, in dem Sie rancher-alerting-drivers installieren möchten, und klicken Sie auf Erkunden.

  3. Klicken Sie in der linken Navigationsleiste auf Apps.

  4. Klicken Sie auf die App Alerting Drivers.

  5. Klicken Sie auf Install.

  6. Stellen Sie auf der nächsten geöffneten Seite sicher, dass das Kontrollkästchen SMS aktivieren ausgewählt ist. Telegram-Benachrichtigungen erfordern, dass Sie SMS aktivieren.

  7. Beachten Sie den verwendeten Namespace, da er in einem späteren Schritt benötigt wird.

Testen Sie die Konfiguration, indem Sie eine PrometheusRule konfigurieren.

Um Ihr Telegram-Setup zu testen, erstellen Sie eine PrometheusRule, die kontinuierlich Alarme auslöst.

HINWEIS

Diese Regel dient nur dazu, zu testen, ob die Telegram-Benachrichtigungen wie erwartet funktionieren. Lassen Sie es nach Abschluss der Tests nicht eingeschaltet.

  1. Klicken Sie im linken Navigationsmenü auf Monitoring.

  2. Klicken Sie auf Weitere Einstellungen.

  3. Klicken Sie PrometheusRules  Erstellen.

  4. Wählen Sie einen Namespace aus, um die Regel zu platzieren, und benennen Sie die Regel entsprechend.

  5. Setzen Sie den Gruppennamen auf test. Verwenden Sie diesen Wert später, wenn Sie eine Route im AlertManagerConfig erstellen.

  6. Klicken Sie unter Alerting Rules auf Hinzufügen.

  7. Setzen Sie einen geeigneten Alert Name.

  8. Um den Alarm sofort und kontinuierlich auszulösen, geben Sie den folgenden PromQL-Ausdruck ein: vector(1).

  9. Klicken Sie unter Labels auf Label hinzufügen. Geben Sie den Schlüssel test und den Wert alert ein. Dieses Schlüssel-Wert-Paar wird auch später verwendet.

Konfigurieren Sie ein AlertManagerConfig

Konfigurieren Sie ein AlertManagerConfig, um die Receiver und Route Konfiguration für die oben erstellte PrometheusRule zu enthalten:

  1. Klicken Sie auf Monitoring  Alerting und öffnen Sie AlertManagerConfigs.

  2. Klicken Sie auf Erstellen

Erstellen Sie einen Receiver in AlertManagerConfig

  1. Wählen Sie einen Namespace aus dem Dropdown-Menü und setzen Sie einen geeigneten Namen.

  2. Klicken Sie auf Erstellen.

  3. Öffnen Sie das neu erstellte AlertManagerConfig und klicken Sie auf Konfiguration bearbeiten.

  4. Klicken Sie auf Empfänger hinzufügen.

  5. Wählen Sie Webhook aus der Liste auf der Seite Receiver im AlertmanagerConfig erstellen.

  6. Benennen Sie den Webhook und klicken Sie Webhook hinzufügen.

  7. Wählen Sie im Dropdown Webhook-Typ auswählen SMS aus. Dies füllt automatisch das Feld Ziel mit http://rancher-alerting-drivers-sachet.cattle-monitoring-system.svc:9876/alert aus. Wenn Sie die Alerting Drivers in einem anderen Namespace als cattle-monitoring-system installiert haben, wird die Ziel-URL dies widerspiegeln.

  8. Klicken Sie auf Erstellen.

Erstellen Sie eine Route in der AlertManagerConfig.

  1. Klicken Sie auf ⋮ > Konfiguration bearbeiten.

  2. Klicken Sie auf Route.

  3. Wählen Sie im Dropdown den Receiver aus, den Sie gerade erstellt haben.

  4. Geben Sie im Feld Labels zum Gruppieren von Alerts test ein.

  5. Unter Warten und Intervalle setzen Sie Gruppenwartezeit auf 1s und Gruppenintervall auf 10s. Dies löst häufige Alerts aus. Ändern Sie die Werte nach Bedarf.

  6. Klicken Sie unter Matcher auf Matcher hinzufügen. Geben Sie test im Feld Name und alert im Feld Wert ein. Wählen Sie im Dropdown Übereinstimmungstyp MatchEqual aus.

  7. Klicken Sie auf Speichern.

Konfiguration des Telegram-Receivers.

Sie können den Telegram-Receiver konfigurieren, indem Sie die rancher-alerting-drivers-sachet ConfigMap im cattle-monitoring-system Namespace aktualisieren. Zum Beispiel ist die folgende eine minimale Konfiguration für den Telegram-Receiver:

providers:
  telegram:
    token: <your-token-from-telegram>

receivers:
- name: 'cattle-monitoring-system/test-amc/prom2tel'
  provider: 'telegram'
  to:
    - '123456789'

Um ein Telegram-Token zu erhalten, richten Sie einen Telegram-Bot ein. Verweisen Sie auf den offiziellen Telegram-Leitfaden für Details. Nachdem Sie die Konfiguration des Receivers abgeschlossen haben, fügen Sie ihn hinzu.

Nennen Sie den Receiver <namespace>/<alertmanagerconfig-name>/<receiver-name>. Geben Sie 123456789 als Platzhalter für die Telegram-Benutzer-ID ein, an die die Benachrichtigungen gesendet werden sollen. Um Ihre Telegram-ID zu finden, überprüfen Sie den Telegram-Benutzerinfo-Bot.

Sie sollten jetzt Telegram-Benachrichtigungen an die Benutzer-ID erhalten. Wenn Sie keine Benachrichtigungen erhalten, überprüfen Sie bitte, ob im Pod für die Implementierung rancher-alerting-drivers-sachet im cattle-monitoring-system Namespace Fehler gemeldet werden.

Konfiguration mehrerer Empfänger

Durch das Bearbeiten der Formulare in der Rancher-Benutzeroberfläche können Sie eine Empfängerressource einrichten, die alle Informationen enthält, die der Alertmanager benötigt, um Benachrichtigungen an Ihr Benachrichtigungssystem zu senden.

Es ist auch möglich, Alarme an mehrere Benachrichtigungssysteme zu senden. Eine Möglichkeit besteht darin, den Receiver mit benutzerdefiniertem YAML zu konfigurieren, wobei Sie die Konfiguration für mehrere Benachrichtigungssysteme hinzufügen können, solange Sie sicher sind, dass beide Systeme die gleichen Nachrichten erhalten sollen.

Sie können auch mehrere Receiver einrichten, indem Sie die continue Option für eine Route verwenden, sodass die an einen Receiver gesendeten Alarme im nächsten Level des Routing-Baums weiter bewertet werden, das einen weiteren Receiver enthalten könnte.

Beispiel Alertmanager-Konfigurationen

Slack

Um Benachrichtigungen über Slack einzurichten, kann die folgende Alertmanager-Konfigurations-YAML in den alertmanager.yaml Schlüssel des Alertmanager Config Secrets eingefügt werden, wobei api_url aktualisiert werden sollte, um Ihre Webhook-URL von Slack zu verwenden:

route:
  group_by: ['job']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h
  receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
  slack_configs:
  - send_resolved: true
    text: '{{ template "slack.rancher.text" . }}'
    api_url: <user-provided slack webhook url here>
templates:
- /etc/alertmanager/config/*.tmpl

PagerDuty

Um Benachrichtigungen über PagerDuty einzurichten, verwenden Sie das folgende Beispiel aus der PagerDuty-Dokumentation als Leitfaden. Dieses Beispiel richtet eine Route ein, die Alarme für einen Datenbankdienst erfasst und sie an einen Receiver sendet, der mit einem Dienst verknüpft ist, der die DBAs direkt in PagerDuty benachrichtigt, während alle anderen Alarme an einen Standardreceiver mit einem anderen PagerDuty-Integrationsschlüssel weitergeleitet werden.

Die folgende Alertmanager-Konfigurations-YAML kann in den alertmanager.yaml-Schlüssel des Alertmanager Config Secret eingefügt werden. Der service_key sollte aktualisiert werden, um Ihren PagerDuty-Integrationsschlüssel zu verwenden und kann gemäß dem Abschnitt "Integration mit Global Event Routing" der PagerDuty-Dokumentation gefunden werden. Die vollständige Liste der Konfigurationsoptionen finden Sie in der Prometheus-Dokumentation.

route:
 group_by: [cluster]
 receiver: 'pagerduty-notifications'
 group_interval: 5m
 routes:
  - match:
      service: database
    receiver: 'database-notifcations'

receivers:
- name: 'pagerduty-notifications'
  pagerduty_configs:
  - service_key: 'primary-integration-key'

- name: 'database-notifcations'
  pagerduty_configs:
  - service_key: 'database-integration-key'

Beispielrouten-Konfiguration für Compliance-Scan-Alarme

Beim Konfigurieren der Routen für rancher-compliance Benachrichtigungen können Sie die Übereinstimmung mit dem Schlüssel-Wert-Paar job: rancher-compliance-scan angeben.

Zum Beispiel könnte die folgende Beispielrouten-Konfiguration mit einem Slack-Receiver namens test-compliance verwendet werden:

spec:
  receiver: test-compliance
  group_by:
#    - string
  group_wait: 30s
  group_interval: 30s
  repeat_interval: 30s
  match:
    job: rancher-compliance-scan
#    key: string
  match_re:
    {}
#    key: string

Für weitere Informationen zur Aktivierung von Alarmen für rancher-compliance, siehe diesen Abschnitt.

Vertrauenswürdige CA für Benachrichtigungsdienste

Wenn Sie eine vertrauenswürdige CA zu Ihrem Benachrichtigungsdienst hinzufügen müssen, befolgen Sie die Schritte in diesem Abschnitt.