Zum Inhalt springen

API Alertmanager-Gruppen und Alerts in Observability

Zuletzt aktualisiert am

Erstellen einer neuen Alert-Gruppe und Alert-Regel

Abschnitt betitelt „Erstellen einer neuen Alert-Gruppe und Alert-Regel“

Sie benötigen immer eine Alert-Gruppe, um eine Alert-Regel hinzuzufügen.

Unten finden Sie ein Beispiel für das Erstellen einer neuen Alert-Gruppe und einer Alert-Regel. Sie müssen die folgenden Umgebungsvariablen festlegen: PROJECT_ID für Ihre Projekt-ID, INSTANCE_ID für Ihre Instanz-ID und API_TOKEN für Ihr Zugriffstoken.

API-Zugangsdaten erstellen: API-Voraussetzungen für Observability – STACKIT

Beispiel: Erstellen einer neuen Alert-Gruppe

Terminal-Fenster
curl -X POST "https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups" \
-H "accept: application/json" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"TestAlertGroup","interval":"60s","rules":[{"alert":"HostCheck","expr":"up == 0","for":"60s","labels":{"severity":"critical"},"annotations":{"testAnnotation":"testAnnotation"}}]}'

Der Request-Body im curl-Befehl zum Aktualisieren der Alert-Gruppe sieht wie folgt aus:

{
"name": "TestAlertGroup",
"interval": "60s",
"rules": [
{
"alert": "HostCheck",
"expr": "up == 0",
"for": "60s",
"labels": {
"severity": "critical"
},
"annotations": {
"testAnnotation": "testAnnotation"
}
}
]
}

Es folgt eine Erläuterung des Request-Bodys:

Im obigen Request-Body haben wir den Ausdruck up == 0 verwendet, unten finden Sie weitere Kubernetes-spezifische Beispiele:

Kubernetes-Knoten nicht bereit

kube_node_status_condition{condition='Ready',status='true'} == 0

Ausdruck für Alerts bei fehlgeschlagenen Pods

kube_pod_status_phase{phase='Failed'} > 0

Weitere Kubernetes-Beispiele finden Sie auf GitHub.

Sie benötigen immer eine Alert-Gruppe, um eine Alert-Regel zu ändern.

Unten finden Sie ein Beispiel für das Aktualisieren einer bestehenden Alert-Regel. Sie müssen die folgenden Umgebungsvariablen festlegen: PROJECT_ID für Ihre Projekt-ID, INSTANCE_ID für Ihre Instanz-ID und API_TOKEN für Ihr API-Zugriffstoken.

Beispiel: Aktualisieren einer Alert-Gruppen-Konfiguration mittels curl

Terminal-Fenster
curl -X PUT "https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup" \
-H "Authorization: Bearer $API_TOKEN" \
-H "accept: application/json" \
-d '{"interval": "60s","rules": [{"alert": "HostCheck","expr": "up == 0","for": "60s","labels": {"severity": "critical"},"annotations": {"testAnnotation":"testAnnotation"}},{"alert": "SystemLoad","expr": "system_load1{} >= 5",  "for": "60s","labels": {"severity": "warning"}}]}'

Der Request-Body im curl-Befehl zum Aktualisieren der Alert-Gruppe sieht wie folgt aus:

Beispiel: Request-Body für die Aktualisierung einer Alert-Gruppe

{
"interval": "60s",
"rules": [
{
"alert": "HostCheck",
"expr": "up == 0",
"for": "60s",
"labels": {
"severity": "critical"
},
"annotations": {
"testAnnotation": "testAnnotation"
}
},
{
"alert": "SystemLoad",
"expr": "system_load1{} >= 5",
"for": "60s",
"labels": {
"severity": "warning"
}
}
]
}

Leider ist es nicht möglich, den Namen einer Alert-Gruppe zu ändern. Sie müssen diese löschen und eine neue Gruppe mit dem gewünschten Namen erstellen.

Sie können eine bestimmte Alert-Regel aus einer Alert-Gruppe löschen. Unten finden Sie ein Beispiel für das Löschen einer Alert-Regel aus einer Alert-Gruppe. Sie müssen die folgenden Umgebungsvariablen festlegen: PROJECT_ID für Ihre Projekt-ID, INSTANCE_ID für Ihre Instanz-ID und API_TOKEN für Ihr API-Zugriffstoken:

Beispiel: Löschen einer Alert-Regel

curl -X DELETE "https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup/alertrules/SystemLoad" \
-H "accept: application/json" \
-H "Authorization: Bearer $API_TOKEN"

Wenn Sie eine Alert-Gruppe löschen, werden auch alle zugehörigen Alert-Regeln gelöscht.

Unten finden Sie ein Beispiel für das Löschen einer Alert-Gruppe. Sie müssen die folgenden Umgebungsvariablen festlegen: PROJECT_ID für Ihre Projekt-ID, INSTANCE_ID für Ihre Instanz-ID und API_TOKEN für Ihr API-Zugriffstoken:

Beispiel: Löschen einer Alert-Gruppe

curl -X DELETE "https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups?groupName=TestAlertGroup" \
-H  "accept: application/json" \
-H "Authorization: Bearer $API_TOKEN"

Alternativ kann eine Alert-Gruppe wie folgt gelöscht werden:

Beispiel: Löschen einer Alert-Gruppe

curl -X DELETE "https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup" \
-H  "accept: application/json" \
-H "Authorization: Bearer $API_TOKEN"