|
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:
|
-
Gehen Sie zu dem Cluster, in dem Sie Empfänger erstellen möchten. Klicken Sie auf Monitoring -> Alerting -> AlertManagerConfigs.
-
Klicken Sie auf Erstellen.
-
Geben Sie einen Namen für die neue AlertmanagerConfig ein.
-
Klicken Sie auf Erstellen.
-
Nachdem Sie die AlertManagerConfig erstellt haben, klicken Sie darauf, um einen Empfänger hinzuzufügen.
-
Klicken Sie auf Empfänger hinzufügen.
-
Geben Sie einen Namen für den Empfänger ein.
-
Konfigurieren Sie einen oder mehrere Anbieter für den Empfänger. Für Hilfe beim Ausfüllen der Formulare, siehe die untenstehenden Konfigurationsoptionen.
-
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: |
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). |
| 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: |
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 |
|
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.
-
Gehen Sie in der Rancher-Benutzeroberfläche zu dem Cluster, in dem Sie rancher-alerting-drivers installieren möchten, und klicken Sie auf Apps.
-
Klicken Sie auf die App Alerting Drivers.
-
Klicken Sie auf die Registerkarte Helm-Bereitstellungsoptionen.
-
Wählen Sie die Option Teams aus und klicken Sie auf Installieren.
-
Beachten Sie den verwendeten Namespace, da er in einem späteren Schritt benötigt wird.
Konfiguration des Teams-Empfängers
-
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 -
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 derrancher-alerting-driversApp 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.
-
Klicken Sie in der oberen linken Ecke auf ☰ > Clusterverwaltung.
-
Gehen Sie auf der Seite Clusters zu dem Cluster, in dem Sie
rancher-alerting-driversinstallieren möchten, und klicken Sie auf Erkunden. -
Klicken Sie in der linken Navigationsleiste auf
-
Klicken Sie auf die App Alerting Drivers.
-
Klicken Sie auf die Registerkarte Helm-Bereitstellungsoptionen
-
Wählen Sie die Option SMS aus und klicken Sie auf Installieren.
-
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 imreceivers.name-Feld in der ConfigMap übereinstimmen muss, z. B.telegram-receiver-1 -
ns-1in der URL wird durch den Namespace ersetzt, in dem dierancher-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:
-
Klicken Sie in der oberen linken Ecke auf ☰ > Clusterverwaltung.
-
Gehen Sie auf der Seite Clusters zu dem Cluster, in dem Sie
rancher-alerting-driversinstallieren möchten, und klicken Sie auf Erkunden. -
Klicken Sie in der linken Navigationsleiste auf Apps.
-
Klicken Sie auf die App Alerting Drivers.
-
Klicken Sie auf Install.
-
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.
-
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. |
-
Klicken Sie im linken Navigationsmenü auf Monitoring.
-
Klicken Sie auf Weitere Einstellungen.
-
Klicken Sie .
-
Wählen Sie einen Namespace aus, um die Regel zu platzieren, und benennen Sie die Regel entsprechend.
-
Setzen Sie den Gruppennamen auf
test. Verwenden Sie diesen Wert später, wenn Sie eine Route im AlertManagerConfig erstellen. -
Klicken Sie unter Alerting Rules auf Hinzufügen.
-
Setzen Sie einen geeigneten Alert Name.
-
Um den Alarm sofort und kontinuierlich auszulösen, geben Sie den folgenden PromQL-Ausdruck ein:
vector(1). -
Klicken Sie unter Labels auf Label hinzufügen. Geben Sie den Schlüssel
testund den Wertalertein. 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:
-
Klicken Sie auf und öffnen Sie AlertManagerConfigs.
-
Klicken Sie auf Erstellen
Erstellen Sie einen Receiver in AlertManagerConfig
-
Wählen Sie einen Namespace aus dem Dropdown-Menü und setzen Sie einen geeigneten Namen.
-
Klicken Sie auf Erstellen.
-
Öffnen Sie das neu erstellte AlertManagerConfig und klicken Sie auf Konfiguration bearbeiten.
-
Klicken Sie auf Empfänger hinzufügen.
-
Wählen Sie Webhook aus der Liste auf der Seite Receiver im AlertmanagerConfig erstellen.
-
Benennen Sie den Webhook und klicken Sie Webhook hinzufügen.
-
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/alertaus. Wenn Sie die Alerting Drivers in einem anderen Namespace alscattle-monitoring-systeminstalliert haben, wird die Ziel-URL dies widerspiegeln. -
Klicken Sie auf Erstellen.
Erstellen Sie eine Route in der AlertManagerConfig.
-
Klicken Sie auf ⋮ > Konfiguration bearbeiten.
-
Klicken Sie auf Route.
-
Wählen Sie im Dropdown den Receiver aus, den Sie gerade erstellt haben.
-
Geben Sie im Feld Labels zum Gruppieren von Alerts
testein. -
Unter Warten und Intervalle setzen Sie Gruppenwartezeit auf
1sund Gruppenintervall auf10s. Dies löst häufige Alerts aus. Ändern Sie die Werte nach Bedarf. -
Klicken Sie unter Matcher auf Matcher hinzufügen. Geben Sie
testim Feld Name undalertim Feld Wert ein. Wählen Sie im Dropdown ÜbereinstimmungstypMatchEqualaus. -
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.