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
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:
| Ebene | Feld | Beschreibung |
|---|---|---|
| Alert-Gruppe | Name | Name der Alert-Gruppe |
| Alert-Gruppe | Interval | Intervall, in dem die Alert-Regeln ausgewertet werden |
| Alert-Gruppe | Rules | Array von Alert-Regeln; in einer Alert-Gruppe können mehrere Regeln definiert werden |
| Regel | Alert | Name der einzelnen Alert-Regel |
| Regel | Expr | Auszuwertender Ausdruck (z. B. up == 0 bedeutet, dass der Prozess nicht läuft) |
| Regel | For | Zeitraum, über den die Bedingung erfüllt sein muss, bevor der Alert ausgelöst wird |
| Regel | Labels | Schlüssel-Wert-Paare zum Kategorisieren oder Filtern des Alerts |
| Regel | Annotations | Zusätzliche Metadaten wie die Alert-Beschreibung oder hilfreiche Informationen |
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'} == 0Ausdruck für Alerts bei fehlgeschlagenen Pods
kube_pod_status_phase{phase='Failed'} > 0Weitere Kubernetes-Beispiele finden Sie auf GitHub.
Ändern einer bestehenden Alert-Regel
Abschnitt betitelt „Ändern einer bestehenden Alert-Regel“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
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" } } ]}Ändern des Namens einer Alert-Gruppe
Abschnitt betitelt „Ändern des Namens einer Alert-Gruppe“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.
Löschen einer Alert-Regel
Abschnitt betitelt „Löschen einer Alert-Regel“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"Löschen einer Alert-Gruppe
Abschnitt betitelt „Löschen einer Alert-Gruppe“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"