Zum Inhalt springen

Alertmanager-Gruppen und Alerts per Observability-API verwalten

Zuletzt aktualisiert am

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

Unten finden Sie ein Beispiel für das Erstellen einer Alert-Gruppe und einer Alert-Regel mithilfe der STACKIT CLI. Sie müssen die folgenden Umgebungsvariablen festlegen (oder diese direkt im Befehl ersetzen): PROJECT_ID für Ihre Projekt-ID und INSTANCE_ID für Ihre Instanz-ID.

API-Voraussetzungen: Um zu erfahren, wie Sie diese Befehle ausführen und Ihre Instanz-Identifikatoren finden, lesen Sie unseren Leitfaden Interaktion mit der Observability-API.

Beispiel: Erstellen einer Alert-Gruppe

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

Der Request-Body im Befehl zum Erstellen 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 hier.

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 PROJECT_ID und INSTANCE_ID als Umgebungsvariablen festlegen.

Beispiel: Aktualisieren einer Alert-Gruppen-Konfiguration

Terminal-Fenster
stackit curl -X PUT "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup)" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
--data '{"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 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 direkt 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. Sie müssen PROJECT_ID und INSTANCE_ID als Umgebungsvariablen festlegen:

Beispiel: Löschen einer Alert-Regel

Terminal-Fenster
stackit curl -X DELETE "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup/alertrules/SystemLoad](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup/alertrules/SystemLoad)" \
-H "accept: application/json"

Unten finden Sie ein Beispiel für das Löschen einer Alert-Gruppe. Sie müssen PROJECT_ID und INSTANCE_ID als Umgebungsvariablen festlegen:

Beispiel: Löschen einer Alert-Gruppe

Terminal-Fenster
stackit curl -X DELETE "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups?groupName=TestAlertGroup](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups?groupName=TestAlertGroup)" \
-H "accept: application/json"

Eine alternative Möglichkeit zum Löschen einer Alert-Gruppe ist:

Beispiel: Löschen einer Alert-Gruppe (Alternativ)

Terminal-Fenster
stackit curl -X DELETE "[https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup](https://argus.api.eu01.stackit.cloud/v1/projects/$PROJECT_ID/instances/$INSTANCE_ID/alertgroups/TestAlertGroup)" \
-H "accept: application/json"