Alertmanager-Receiver per Observability-API verwalten
Zuletzt aktualisiert am
Mögliche Receiver
Abschnitt betitelt „Mögliche Receiver“Sie können die folgenden Receiver konfigurieren:
- Webhook (Google Chat, Microsoft Teams oder andere)
- Opsgenie
So fügen Sie einen Email-Receiver hinzu
Abschnitt betitelt „So fügen Sie einen Email-Receiver hinzu“Um einen Email-Receiver zu erstellen, führen Sie einen POST-Request an den Receiver-Endpunkt aus. Mit dem folgenden HTTP-Nachrichtentext verfügen Sie über die Minimalkonfiguration, um einen neuen Email-Receiver hinzuzufügen:
stackit curl -X POST "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers)" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data '{"name":"MyEmailReceiver","emailConfigs":[{"to":"emailTo@your-company.com"}]}'Standardmäßig sendet Observability alle Nachrichten von einer STACKIT Observability-E-Mail-Adresse. Optional können Sie Ihre eigene E-Mail-Adresse als Absenderadresse konfigurieren. In diesem Fall müssen Sie SMTP-Zugangsdaten in Ihrem Request-Body angeben:
{ "name": "MyEmailReceiver", "emailConfigs": [ { "to": "emailTo@your-company.com", "from": "observability-alerting@your-company.com", "smarthost": "your-company.com", "authUsername": "username", "authPassword": "password", "authIdentity": "yourIdentity" } ]}Weitere Informationen zur API und zum Request-Body finden Sie in der API-Dokumentation.
Erstellen einer Route unter Verwendung des Receivers
Abschnitt betitelt „Erstellen einer Route unter Verwendung des Receivers“Sie müssen außerdem eine Alert-Config-Route für den soeben erstellten Receiver erstellen. Stellen Sie sicher, dass der Name unter "receiver" exakt mit dem oben definierten Namen übereinstimmt.
stackit curl -X POST "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/routes](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/routes)" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data '{"receiver":"MyEmailReceiver","groupBy":["LatencyHigh"],"groupWait":"30s","groupInterval":"5m","repeatInterval":"4h"}'Weitere Informationen zum erwarteten Request-Body finden Sie in der API-Dokumentation.
So fügen Sie einen Webhook-Receiver hinzu
Abschnitt betitelt „So fügen Sie einen Webhook-Receiver hinzu“Sie können jeden kompatiblen Webhook verwenden. Um einen Webhook-Receiver zu erstellen, führen Sie einen POST-Request an den Receiver-Endpunkt aus. Unten finden Sie ein Beispiel für einen vollständigen Befehl für einen benutzerdefinierten Webhook:
stackit curl -X POST "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers)" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data '{"name":"MyWebhookReceiver","webHookConfigs":[{"url":"[https://your-webhook-url.com](https://your-webhook-url.com)"}]}'Webhook-Beispiele für den Request-Body
Abschnitt betitelt „Webhook-Beispiele für den Request-Body“Falls Sie Google Chat oder Microsoft Teams verwenden, ersetzen Sie die JSON-Daten im --data-Parameter durch eine der folgenden Strukturen (beachten Sie die spezifischen Parameter für die jeweilige Plattform). Weitere Informationen finden Sie in der API-Dokumentation.
Google Chat-Webhook
Abschnitt betitelt „Google Chat-Webhook“{ "name": "MyGoogleChatWebhookReceiver", "webHookConfigs": [ { "googleChat": true, "url": "[https://chat.googleapis.com/v1/spaces/xxx/messages?key=xxx&token=xxx](https://chat.googleapis.com/v1/spaces/xxx/messages?key=xxx&token=xxx)" } ]}MS Teams-Webhook
Abschnitt betitelt „MS Teams-Webhook“{ "name": "MyMsTeamsWebhookReceiver", "webHookConfigs": [ { "msTeams": true, "url": "[https://your-teams-webhook-url.com](https://your-teams-webhook-url.com)" } ]}Erstellen einer Route unter Verwendung des Receivers
Abschnitt betitelt „Erstellen einer Route unter Verwendung des Receivers“Genau wie beim Email-Receiver müssen Sie eine Alert-Config-Route für den soeben erstellten Webhook-Receiver erstellen. Stellen Sie sicher, dass Sie exakt denselben Namen für den Receiver verwenden.
stackit curl -X POST "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/routes](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/routes)" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data '{"receiver":"MyReceiverName","groupBy":["LatencyHigh"],"groupWait":"30s","groupInterval":"5m","repeatInterval":"4h"}'So fügen Sie einen Opsgenie-Receiver hinzu
Abschnitt betitelt „So fügen Sie einen Opsgenie-Receiver hinzu“Sie können auch Ihr eigenes Opsgenie konfigurieren. Mit dem folgenden HTTP-Nachrichtentext verfügen Sie über die Minimalkonfiguration, um einen neuen Opsgenie-Receiver hinzuzufügen:
stackit curl -X POST "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers)" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data '{"name":"MyOpsGenieReceiver","opsgenieConfigs":[{"apiKey":"yourApiKey","apiUrl":"yourApiURL","tags":"TagsYouWantToHave","httpConfig":{"proxyUrl":"yourProxyServerURL"}}]}'Weitere Informationen zur API und zum Request-Body finden Sie in der API-Dokumentation.
Erstellen einer Route unter Verwendung des Receivers
Abschnitt betitelt „Erstellen einer Route unter Verwendung des Receivers“stackit curl -X POST "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/routes](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/routes)" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ --data '{"receiver":"MyOpsGenieReceiver","groupBy":["LatencyHigh"],"groupWait":"30s","groupInterval":"5m","repeatInterval":"4h"}'So prüfen Sie die Konfiguration
Abschnitt betitelt „So prüfen Sie die Konfiguration“Eine grundlegende Syntaxprüfung wird durch die Observability-API bereitgestellt.
Grafana visualisiert ausgelöste Alerts:
- Melden Sie sich bei Grafana an.
- Wählen Sie die Funktion Explore.
- Wählen Sie die Datenquelle Thanos.
- Wählen Sie die Metrik ALERTS.
- Visualisieren Sie die Metrik durch Klicken auf Run query.
Wenn Sie keine E-Mails erhalten, prüfen Sie Ihren SPAM-Ordner. Manchmal filtern Mail-Agents Alert-E-Mails, da diese Hyperlinks enthalten. Zusätzlich sollten Sie prüfen, ob Sie eine globale Konfiguration für alle Email-Receiver verwenden. Falls ja, überprüfen Sie den Abschnitt global der Antwort vom Endpunkt GET Alertconfigs. Diese sollte wie das Beispiel einer Antwort im nächsten Kapitel aussehen.
So setzen Sie die globale Konfiguration zurück
Abschnitt betitelt „So setzen Sie die globale Konfiguration zurück“Standardmäßig sendet Observability alle E-Mails von einer STACKIT Observability-Adresse. Sie können optional Ihre eigene E-Mail-Adresse als Absenderadresse konfigurieren. In diesem Fall müssen Sie SMTP-Zugangsdaten angeben. Sie können Ihre individuelle E-Mail-Absenderadresse entweder global oder pro Email-Receiver konfigurieren. Um sie global festzulegen, verwenden Sie den Abschnitt global des Payload, der an den Endpunkt PUT Alertconfigs gesendet wird.
{ "route": { "receiver": "email-example-receiver", "groupWait": "30s", "groupInterval": "5m", "repeatInterval": "4h" }, "receivers": [ { "name": "email-example-receiver", "emailConfigs": [ { "to": "your-email@example.com", "sendResolved": true } ] } ]}Anschließend können Sie die Konfiguration über den Endpunkt GET Alertconfigs prüfen. Sie sollten einen Abschnitt global wie unten gezeigt sehen. Mit ***** maskierte Attribute weisen darauf hin, dass unsere Zugangsdaten zum Senden von E-Mails verwendet werden.
"global": { "resolveTimeout": "5m", "smtpFrom": "our-email@example.com", "smtpSmarthost": "*****", "smtpAuthUsername": "*****", "smtpAuthPassword": "*****", "smtpAuthIdentity": "*****"}So ändern Sie Ihre Receiver-Konfiguration
Abschnitt betitelt „So ändern Sie Ihre Receiver-Konfiguration“Sie können die API-Dokumentation konsultieren, um zu erfahren, wie Sie einen bestehenden Empfänger konfigurieren und aktualisieren.
So lesen Sie Ihre Receiver-Konfiguration aus
Abschnitt betitelt „So lesen Sie Ihre Receiver-Konfiguration aus“Um alle Ihre Receiver-Konfigurationen auszulesen, führen Sie einen HTTP-GET-Request mittels stackit curl aus:
stackit curl -X GET "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers)" \ -H "accept: application/json"Weitere Informationen hierzu finden Sie in der API-Dokumentation.
So löschen Sie Ihre Receiver-Konfiguration
Abschnitt betitelt „So löschen Sie Ihre Receiver-Konfiguration“Um eine bestimmte Receiver-Konfiguration zu löschen, führen Sie einen HTTP-DELETE-Request an den genauen Receiver-Endpunkt aus (ersetzen Sie RECEIVER_NAME durch Ihren spezifischen Receiver):
stackit curl -X DELETE "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers/$RECEIVER_NAME](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertconfigs/receivers/$RECEIVER_NAME)" \ -H "accept: application/json"