In diesem Dokument wird beschrieben, wie Sie Ihre Vorfälle organisieren und priorisieren können, indem Sie ihnen benutzerdefinierte Labels zuweisen. Diese Labels werden in Benachrichtigungsrichtlinien konfiguriert und in Benachrichtigungsrichtlinien und Vorfällen aufgeführt. Je nach Konfiguration werden die Labels auch in bestimmten Benachrichtigungen aufgeführt.
Über Labels
Labels sind Schlüssel/Wert-Paare, mit denen Sie Informationen an eine Zeitreihe, eine Benachrichtigungsrichtlinie, einen Vorfall oder eine Benachrichtigung anhängen können. Die Labels auf einer Zeitreihe können beispielsweise die VM-Instanz angeben, von der die Daten erfasst wurden. Labels sind entweder benutzerdefiniert oder vordefiniert.
Benutzerdefinierte Labels
Benutzerdefinierte Labels enthalten von Ihnen angegebene Informationen. Diese Labels können statische oder dynamische Werte haben:
Statische benutzerdefinierte Labels haben Werte, die nicht geändert werden können. Sie können statische benutzerdefinierte Labels erstellen, wenn Sie eine Benachrichtigungsrichtlinie mit der Google Cloud Console oder der Cloud Monitoring API konfigurieren. Weitere Informationen finden Sie in folgenden Dokumenten:
Die Werte dynamischer benutzerdefinierter Labels können sich je nach Werten der Zeitreihendaten ändern. Sie können dynamische benutzerdefinierte Labels erstellen, wenn Sie die Bedingung einer Benachrichtigungsrichtlinie mit MQL konfigurieren. Ein Beispiel finden Sie unter Beispiel: Benutzerdefinierte Labels mit dynamischen Werten hinzufügen.
Labelschlüssel müssen mit einem Kleinbuchstaben beginnen. Sowohl Labelschlüssel als auch Labelwerte dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.
Vordefinierte Labels
Vordefinierte Labels sind in Ressourcendeskriptoren enthalten. Diese Labels müssen beim Schreiben von Zeitreihendaten ausgefüllt werden. Diese Labels enthalten Informationen zum erfassten Messwert oder zur Ressource, auf die der Messwert angewendet wird. Die Labels in einer Zeitreihe können beispielsweise eine virtuelle Maschine (VM), eine Zone, ein Google Cloud-Projekt und einen Gerätetyp identifizieren. Wenn in Monitoring ein Vorfall auf Grundlage dieser Zeitreihe erstellt wird, werden diese Labels übernommen.
Labels aufrufen
Die Labels einer Benachrichtigungsrichtlinie oder eines Vorfalls finden Sie auf der Detailseite eines Vorfalls, der Detailseite einer Benachrichtigungsrichtlinie und in einigen Benachrichtigungen.
- Richtlinien für Benachrichtigungen: Statische benutzerdefinierte Labels sind im Abschnitt Nutzerlabels aufgeführt. Dynamische benutzerdefinierte Labels und vordefinierte Labels sind nicht sichtbar.
- Vorfälle: Statische benutzerdefinierte Labels sind im Abschnitt Richtlinien-Labels aufgeführt. Dynamische benutzerdefinierte Labels sind im Abschnitt Messwert-Labels aufgeführt. Vordefinierte Labels sind in den Abschnitten Labels für überwachte Ressourcen und Labels für Messwerte aufgeführt.
Benachrichtigungen: Vordefinierte und benutzerdefinierte Labels sind in den folgenden Benachrichtigungstypen aufgeführt:
- Google Chat
- Logo: PagerDuty
- Pub/Sub
- Webhook
Beispiel: Benutzerdefinierte Labels mit dynamischen Werten hinzufügen
Mit MQL können Sie ein Label so konfigurieren, dass sich sein Wert dynamisch anhand von Zeitreihendaten ändert. Angenommen, Sie möchten, dass Ihre Vorfälle ein criticality
-Label haben, dessen Wert sich je nach Wert des überwachten Messwerts für die CPU-Auslastung ändert:
fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| group_by sliding(5m), [value_utilization_mean: mean(value.utilization)]
| map
add[
criticality:
if(val() >= 90 '%', 'CRITICAL',
if(val() >= 80 '%', 'WARNING',
if(val() >= 70 '%', 'INFO', 'GOOD')))
]
| condition val() >= 70 '%'
Die folgende Abbildung veranschaulicht, wie Benachrichtigungsrichtlinien, die MQL-Abfragen verwenden, die überwachten Zeitreihendaten verarbeiten:
Der Richtlinien-Handler verarbeitet die CPU-Auslastungsdaten und gibt eine Zeitreihe aus, die angibt, wann die Bedingung erfüllt ist. Im vorherigen Beispiel ist die Bedingung erfüllt, wenn die CPU-Auslastung mindestens 70 % beträgt. Für jede Eingabezeitreihe kann der Richtlinien-Handler eine von vier Zeitreihen generieren:
Name der Ausgabezeitreihe | Bedingung erfüllt | Beschreibung |
---|---|---|
„GUT“ | Nein | Diese Zeitachse hat dieselben Labels wie die Eingabezeitachse. Es hat kein Label für den Schweregrad. |
„KRITISCH“ | Ja | Die CPU-Auslastung beträgt mindestens 90%. Die Ausgabezeitachse hat dieselben Labels wie die Zeitachse „GUT“ sowie ein Label für die Schwere mit dem Wert „KRITISCH“. |
„WARNUNG“ | Ja | Die CPU-Auslastung beträgt mindestens 80 %, aber weniger als 90%. Die Ausgabezeitachse hat dieselben Labels wie die Zeitachse „GUT“ sowie ein Schweregradlabel mit dem Wert „WARNUNG“. |
„INFO“ | Ja | Die CPU-Auslastung beträgt mindestens 70 %, aber weniger als 80%. Die Ausgabezeitachse hat dieselben Labels wie die Zeitachse „GUT“ sowie ein Label für die Schwere mit dem Wert „INFO“. |
Die vom Richtlinien-Handler generierten Zeitreihendaten dienen als Eingabe für den Vorfallmanager, der festlegt, wann Vorfälle erstellt und geschlossen werden.
Um zu bestimmen, wann ein Vorfall geschlossen werden soll, verwendet der Vorfallmanager die Werte der Felder duration
, evaluationMissingData
und autoClose
.
Best Practices
So sorgen Sie dafür, dass immer nur ein Fall geöffnet ist, wenn Sie Labels erstellen, deren Werte dynamisch festgelegt werden:
Überschreiben Sie im Objekt
MetricThreshold
die Standardwerte für die folgenden Felder:- Feld
duration
: Legen Sie einen Wert ungleich Null fest. evaluationMissingData
-Feld: Legen Sie fest, dass Vorfälle geschlossen werden, wenn keine Daten mehr eingehen. Wenn Sie die Cloud Monitoring API verwenden, legen Sie in diesem Feld den WertEVALUATION_MISSING_DATA_INACTIVE
fest. Wenn Sie die Google Cloud Console verwenden, legen Sie für das Feld „Fehlende Datenpunkte als Werte behandeln, die nicht gegen die Richtlinienbedingung verstoßen“ fest.
- Feld
Legen Sie im Objekt
AlertStrategy
für das FeldautoClose
den Mindestwert von 30 Minuten fest. Wenn Sie die Cloud Monitoring API verwenden, legen Sie in diesem Feld den Wert30m
fest.
Weitere Informationen finden Sie unter Teilweise Messwertdaten.
Ablauf eines Vorfalls
Angenommen, die Messungen der CPU-Auslastung liegen beim Erstellen der Benachrichtigungsrichtlinie unter 70 %. Die folgende Abfolge veranschaulicht, wie Vorfälle geöffnet und geschlossen werden:
Da die CPU-Auslastung unter 70 % liegt, generiert der Richtlinien-Handler die Zeitreihe „GUT“ und es werden keine Vorfälle geöffnet.
Nehmen wir als Nächstes an, dass die CPU-Auslastung auf 93 % steigt. Der Richtlinien-Handler hört auf, die Zeitreihendaten vom Typ „GÜLTIG“ zu generieren, und generiert stattdessen Daten für die Zeitreihe vom Typ „KRITISCH“.
Der Vorfallmanager sieht eine neue Zeitreihe vom Typ „KRITISCH“, die die Bedingung erfüllt, und öffnet einen Vorfall. Die Benachrichtigung enthält das Label „Schwere“ mit dem Wert
CRITICAL
.Angenommen, die CPU-Auslastung sinkt auf 75%. Der Richtlinien-Handler beendet die Generierung der Zeitreihe „KRITISCH“ und beginnt mit der Generierung der Zeitreihe „INFO“.
Der Vorfallmanager sieht eine neue „INFO“-Zeitreihe, die die Bedingung erfüllt, und öffnet einen Vorfall. Die Benachrichtigung enthält das Label „Schwere“ mit dem Wert
INFO
.Der Vorfallmanager sieht, dass für die Zeitreihe „KRITISCH“ keine Daten eingehen und dass für diese Zeitreihe ein Vorfall geöffnet ist. Da die Richtlinie so konfiguriert ist, dass Vorfälle geschlossen werden, wenn keine Daten mehr eingehen, schließt der Vorfallmanager den Vorfall, der mit der Zeitreihe „KRITISCH“ verknüpft ist. Daher bleibt nur der Vorfall offen, dessen Schweregradlabel den Wert
INFO
hat.Nehmen wir an, dass die CPU-Auslastung auf 45 % sinkt. Da dieser Wert unter allen Grenzwerten liegt, generiert der Richtlinien-Handler nicht mehr die Zeitachse „INFO“, sondern die Zeitachse „GUT“.
Der Vorfallmanager sieht, dass für die Zeitreihe „INFO“ keine Daten eingehen und dass für diese Zeitreihe ein Vorfall geöffnet ist. Da die Richtlinie die empfohlenen Einstellungen verwendet, wird der Vorgang geschlossen.
Wenn Sie den empfohlenen Wert für das Feld evaluationMissingData
nicht verwenden, werden offene Vorfälle nicht sofort geschlossen, wenn keine Daten mehr eingehen.
Das kann dazu führen, dass für dieselbe Eingabezeitreihe mehrere offene Vorfälle angezeigt werden. Weitere Informationen finden Sie unter Teilweise Messwertdaten.
Nächste Schritte
- Benachrichtigungsrichtlinien mit der Monitoring API erstellen
- Benachrichtigungsrichtlinien mit MQL
- Umgang mit unvollständigen Messwertdaten