In diesem Dokument wird beschrieben, wie Sie Ihre Vorfälle organisieren und priorisieren können, indem Sie ihnen benutzerdefinierte Labels zuweisen. Diese Labels werden für Benachrichtigungsrichtlinien konfiguriert und sind 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 einer Zeitreihe können beispielsweise die spezifische VM-Instanz (Virtual Machine) identifizieren, aus der Daten erhoben wurden. Labels sind entweder benutzerdefiniert oder vordefiniert.
Benutzerdefinierte Labels
Nutzerdefinierte Labels enthalten Informationen, die Sie angeben. Diese Labels können entweder 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 über die Google Cloud Console oder die Cloud Monitoring API konfigurieren. Weitere Informationen finden Sie in folgenden Dokumenten:
Dynamische benutzerdefinierte Labels haben Werte, die sich basierend auf den Werten der Zeitreihendaten ändern können. Sie können dynamische benutzerdefinierte Labels erstellen, wenn Sie die Bedingung einer Benachrichtigungsrichtlinie mit MQL konfigurieren. Ein Beispiel finden Sie unter Beispiel: Nutzerdefinierte 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, für die der Messwert geschrieben 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 Monitoring einen Vorfall auf Grundlage dieser Zeitreihe erstellt, werden diese Labels an den Vorfall weitergegeben.
App Hub-Labels
In App Hub werden Labels an Log-, Messwert- und Tracedaten angehängt, die von einer Anwendung und ihren Diensten und Arbeitslasten generiert werden. Mit diesen Labels kann die Google Cloud Infrastruktur Dashboards für Anwendungen, Dienste und Arbeitslasten erstellen, in denen Messwert- und Logdaten angezeigt werden. Weitere Informationen finden Sie in einem der folgenden Dokumente:
- Google Cloud console: Benachrichtigungsrichtlinie mit einer App Hub-Anwendung verknüpfen.
- Cloud Monitoring API: Benachrichtigungsrichtlinie einer App Hub-Anwendung zuweisen
Labels ansehen
Sie können die Labels einer Benachrichtigungsrichtlinie oder eines Vorfalls auf der Detailseite eines Vorfalls, der Detailseite einer Benachrichtigungsrichtlinie und in einigen Benachrichtigungen ansehen.
- Benachrichtigungsrichtlinien: Statische benutzerdefinierte Labels werden im Bereich Benutzerdefinierte Labels aufgeführt. Dynamische benutzerdefinierte Labels und vordefinierte Labels sind nicht sichtbar.
- Vorfälle: Statische benutzerdefinierte Labels werden im Abschnitt Richtlinienlabels und dynamische benutzerdefinierte Labels im Abschnitt Messwertlabels aufgeführt. Vordefinierte Labels sind in den Abschnitten Labels für überwachte Ressourcen und Messwertlabels aufgeführt.
Benachrichtigungen: Vordefinierte und benutzerdefinierte Labels werden 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 auf Grundlage von Zeitachsendaten ändert. Sie möchten beispielsweise, dass Ihre Vorfälle das Label criticality
haben, dessen Wert sich je nach dem 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 Zeitachsendaten in Benachrichtigungsrichtlinien verarbeitet werden, die MQL-Abfragen verwenden:
Der Richtlinien-Handler verarbeitet die Daten zur CPU-Auslastung und gibt eine Zeitreihe aus, die angibt, wann die Bedingung erfüllt ist. Im vorherigen Beispiel wird die Bedingung erfüllt, wenn die CPU-Auslastung mindestens 70 % beträgt. Für jede Eingabezeitachse kann der Richtlinien-Handler eine von vier Zeitachsen generieren:
Name der Ausgabezeitreihe | Bedingung erfüllt | Beschreibung |
---|---|---|
„GOOD“ | Nein | Diese Zeitachse hat dieselben Labels wie die Eingabezeitachse. Es hat kein Schweregrad-Label. |
„CRITICAL“ | Ja | Die CPU-Auslastung beträgt mindestens 90%. Die Ausgabezeitachse hat dieselben Labels wie die Zeitachse „GOOD“ sowie ein Schweregradlabel mit dem Wert „CRITICAL“. |
„WARNING“ | Ja | Die CPU-Auslastung beträgt mindestens 80 %, aber weniger als 90%. Die Ausgabezeitachse hat dieselben Labels wie die Zeitachse „GOOD“ sowie ein Schweregradlabel mit dem Wert „WARNING“. |
„INFO“ | Ja | Die CPU-Auslastung beträgt mindestens 70 %, aber weniger als 80%. Die Ausgabezeitachse hat dieselben Labels wie die Zeitachse „GOOD“ sowie ein Schweregradlabel mit dem Wert „INFO“. |
Die vom Richtlinien-Handler generierten Zeitreihendaten sind die Eingabe für den Vorfallmanager, der bestimmt, wann Vorfälle erstellt und geschlossen werden. Um zu bestimmen, wann ein Vorfall geschlossen werden soll, verwendet der Incident Manager die Werte der Felder duration
, evaluationMissingData
und autoClose
.
Best Practices
So prüfen Sie, ob beim Erstellen von Labels, deren Werte dynamisch festgelegt werden, jeweils höchstens ein Vorfall offen ist:
Überschreiben Sie im Objekt
MetricThreshold
die Standardwerte für die folgenden Felder:- Feld
duration
: Auf einen Wert ungleich null festlegen. - Feld
evaluationMissingData
: Wird so festgelegt, dass Vorfälle geschlossen werden, wenn keine Daten mehr eingehen. Wenn Sie die Cloud Monitoring API verwenden, legen Sie dieses Feld aufEVALUATION_MISSING_DATA_INACTIVE
fest. Wenn Sie die Google Cloud Console verwenden, legen Sie das Feld auf „Fehlende Datenpunkte werden als Werte behandelt, die nicht gegen die Richtlinienbedingung verstoßen“ fest.
- Feld
Legen Sie im Objekt
AlertStrategy
das FeldautoClose
auf den Mindestwert von 30 Minuten fest. Wenn Sie die Cloud Monitoring API verwenden, legen Sie dieses Feld auf30m
fest.
Weitere Informationen finden Sie unter Teilweise Messwertdaten.
Vorfallsablauf
Angenommen, die Messwerte für die CPU-Auslastung liegen unter 70 %, wenn die Benachrichtigungsrichtlinie erstellt wird. Die folgende Abfolge veranschaulicht, wie Vorfälle geöffnet und geschlossen werden:
Da die Messwerte für die CPU-Auslastung unter 70 % liegen, generiert der Richtlinien-Handler die Zeitreihe „GUT“ und es werden keine Vorfälle eröffnet.
Nehmen wir als Nächstes an, dass die CPU-Auslastung auf 93 % steigt. Der Richtlinien-Handler generiert keine Zeitreihendaten mehr für „GUT“ und beginnt mit der Generierung von Daten für die Zeitreihe „KRITISCH“.
Der Incident Manager sieht eine neue Zeitreihe mit dem Status „CRITICAL“, die die Bedingung erfüllt, und öffnet dann einen Vorfall. Die Benachrichtigung enthält das Schweregradlabel mit dem Wert
CRITICAL
.Angenommen, die CPU-Auslastung sinkt auf 75%. Der Richtlinien-Handler generiert die Zeitreihe „CRITICAL“ nicht mehr und beginnt mit der Generierung der Zeitreihe „INFO“.
Der Vorfallmanager sieht eine neue Zeitreihe vom Typ „INFO“, die die Bedingung erfüllt, und öffnet dann einen Vorfall. Die Benachrichtigung enthält das Schweregradlabel mit dem Wert
INFO
.Der Incident Manager sieht, dass für die Zeitreihe „CRITICAL“ keine Daten eingehen und dass für diese Zeitreihe ein Vorfall offen ist. Da die Richtlinie so konfiguriert ist, dass Vorfälle geschlossen werden, wenn keine Daten mehr eingehen, schließt der Incident Manager den Vorfall, der mit der Zeitreihe „CRITICAL“ verknüpft ist. Daher bleibt nur der Vorfall offen, dessen Schweregradlabel den Wert
INFO
hat.Nehmen wir schließlich an, dass die CPU-Auslastung auf 45 % sinkt. Dieser Wert liegt unter allen Schwellenwerten. Der Richtlinien-Handler beendet daher die Generierung der Zeitachse „INFO“ und beginnt mit der Generierung der Zeitachse „GOOD“.
Der Incident Manager sieht, dass für die Zeitreihe „INFO“ keine Daten eingehen und dass für diese Zeitreihe ein Vorfall offen ist. Da die Richtlinie die empfohlenen Einstellungen verwendet, wird der Vorfall geschlossen.
Wenn Sie nicht den empfohlenen Wert für das Feld evaluationMissingData
verwenden, werden offene Vorfälle nicht sofort geschlossen, wenn keine Daten mehr eingehen.
Daher kann es sein, dass für dieselbe Eingabezeitachse 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