Zum Inhalt springen

API Alertmanager Receiver Observability

Zuletzt aktualisiert am

Sie können die folgenden möglichen Receiver konfigurieren:

  • Email
  • Webhook (Google Chat, Microsoft Teams oder andere)
  • Opsgenie

Um einen Email-Receiver zu erstellen, verwenden Sie die folgende URL mit Ihrer Projekt-ID und Ihrer Observability-Instanz-ID:

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/receivers

Mit dem folgenden HTTP-Body haben Sie eine Konfiguration mit den mindestens notwendigen Parametern, um einen neuen Email-Receiver hinzuzufügen:

{
"name": "MyEmailReceiver",
"emailConfigs": [
{
"to": "emailTo@your-company.com",
}
],
}

Standardmäßig sendet Observability alle Nachrichten von einer STACKIT Observability-Email-Adresse. Optional können Sie Ihre eigene Email-Adresse als Absenderadresse konfigurieren. In diesem Fall müssen Sie SMTP-Zugangsdaten 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 über die folgende URL erstellen:

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/routes
{
"receiver": "MyEmailReceiver",
"groupBy": [
"LatencyHigh"
],
"groupWait": "30s",
"groupInterval": "5m",
"repeatInterval": "4h"
}

Weitere Informationen zum erwarteten Request-Body finden Sie in der API-Dokumentation.

Sie können jeden kompatiblen Webhook verwenden. Falls Sie einen Google Chat- oder Microsoft Teams-Webhook verwenden, müssen Sie einen spezifischen Parameter hinzufügen, wie im folgenden Beispiel zu sehen ist. Um einen Webhook-Receiver zu erstellen, verwenden Sie die folgende URL mit Ihrer Projekt-ID und Ihrer Observability-Instanz-ID:

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/receivers

Mit den folgenden HTTP-Nachrichtentext-Beispielen haben Sie eine Konfiguration mit den mindestens notwendigen Parametern, um einen neuen Webhook-Receiver hinzuzufügen. Weitere Informationen zur API und zum Request-Body finden Sie in der API-Dokumentation.

{
"name": "MyGoogleChatWebhookReceiver",
"webHookConfigs": [
{
"googleChat": true,
"url": "https://chat.googleapis.com/v1/spaces/xxx/messages?key=xxx&token=xxx"
}
]
}
{
"name": "MyMsTeamsWebhookReceiver",
"webHookConfigs": [
{
"msTeams": true,
"url": "string"
}
]
}
{
"name": "MyWebhookReceiver",
"webHookConfigs": [
{
"url": "string"
}
]
}

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 unter Verwendung der folgenden URL und des folgenden Bodys erstellen. Bitte stellen Sie sicher, dass Sie denselben Namen für den erstellten Receiver verwenden.

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/routes
{
"receiver": "MyReceiverName",
"groupBy": [
"LatencyHigh"
],
"groupWait": "30s",
"groupInterval": "5m",
"repeatInterval": "4h"
}

Weitere Informationen zum erwarteten Request-Body finden Sie in der API-Dokumentation.

Sie können auch Ihr eigenes Opsgenie konfigurieren. Sie benötigen Ihre Observability-Instanz-ID, um mit der Observability-API zu interagieren. Um einen Webhook-Receiver zu erstellen, verwenden Sie die folgende URL mit Ihrer Projekt-ID und Ihrer Observability-Instanz-ID:

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/receivers

Mit dem folgenden HTTP-Nachrichtentext haben Sie eine Konfiguration mit den mindestens notwendigen Parametern, um einen neuen Opsgenie-Receiver hinzuzufügen:

{
"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“

Sie müssen außerdem eine Alert-Config-Route für den soeben erstellten Receiver über die folgende URL erstellen:

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/routes
{
"receiver": "MyOpsGenieReceiver",
"groupBy": [
"LatencyHigh"
],
"groupWait": "30s",
"groupInterval": "5m",
"repeatInterval": "4h"
}

Weitere Informationen zum erwarteten Request-Body finden Sie in der API-Dokumentation.

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
  • Und visualisieren Sie die Metrik mit Run query

Wenn Sie keine Email erhalten, prüfen Sie bitte 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 “So setzen Sie die globale Konfiguration zurück” aussehen.

Standardmäßig sendet Observability alle E-Mails von einer STACKIT Observability-Adresse. Sie können optional Ihre eigene Email als Absenderadresse konfigurieren. In diesem Fall müssen Sie SMTP-Zugangsdaten angeben. Sie können Ihre individuelle Email-Absenderadresse entweder global oder pro Email-Receiver konfigurieren. Um sie global festzulegen, verwenden Sie den Abschnitt global des Bodys, 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 Emails verwendet werden.

"global": {
"resolveTimeout": "5m",
"smtpFrom": "our-email@example.com",
"smtpSmarthost": "*****",
"smtpAuthUsername": "*****",
"smtpAuthPassword": "*****",
"smtpAuthIdentity": "*****"
}

Sie können die API-Dokumentation konsultieren, um zu erfahren, wie Sie einen Empfänger konfigurieren.

Um alle Ihre Receiver-Konfigurationen auszulesen, senden Sie einen HTTP-GET-Request an die folgende URL:

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/receivers

Sie müssen Ihre eigene Projekt-ID und Observability-Instanz-ID einsetzen. Weitere Informationen hierzu finden Sie in der API-Dokumentation.

Um eine Receiver-Konfiguration zu löschen, senden Sie einen HTTP-PUT-Request an die folgende URL:

https://argus.api.eu01.stackit.cloud/v1/projects/{projectId}/instances/{instanceId}/alertconfigs/receivers/{receiver}

Um einen Receiver zu entfernen, fügen Sie ihn nicht in den HTTP-PUT-Request-Body ein, den Sie an die URL senden. Bitte beachten Sie, dass Sie immer eine gültige Konfiguration benötigen; daher können Sie Template-Werte verwenden. Weitere Informationen hierzu finden Sie in der API-Dokumentation.