Alertmanager-Gruppen und Alerts per Observability-API verwalten
Zuletzt aktualisiert am
Erstellen einer Alert-Gruppe und Alert-Regel
Abschnitt betitelt „Erstellen einer 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 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
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:
| Ebene | Feld | Beschreibung |
|---|---|---|
| Alert-Gruppe | Name |
Name der Alert-Gruppe |
| Alert-Gruppe | Interval |
Zeitintervall, 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 |
Dauer, die 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 hier.
Ä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 PROJECT_ID und INSTANCE_ID als Umgebungsvariablen festlegen.
Beispiel: Aktualisieren einer Alert-Gruppen-Konfiguration
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" } } ]}Ä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 direkt 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. Sie müssen PROJECT_ID und INSTANCE_ID als Umgebungsvariablen festlegen:
Beispiel: Löschen einer Alert-Regel
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"Löschen einer Alert-Gruppe
Abschnitt betitelt „Löschen einer Alert-Gruppe“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
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)
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"