Variablen in Dokumentationsvorlagen

Auf dieser Seite werden die Variablen und kanalspezifischen Steuerelemente beschrieben, die in der mit einer Benachrichtigungsrichtlinie verknüpften Dokumentation zur Verfügung stehen.

Variablen verwenden

Neben Markdown können Sie den Inhalt Ihrer Dokumentation mit Variablen der Form ${varname} anpassen. Wenn die Dokumentation mit einer Benachrichtigung gesendet wird, wird der String ${varname} durch den Wert von varname ersetzt. Der folgende Screenshot zeigt die in einer E-Mail-Benachrichtigung enthaltene Dokumentation, die mit der für eine Benachrichtigungsrichtlinie angegebenen Dokumentationsvorlage erstellt wurde:

In der E-Mail enthaltene Dokumentation

Informationen zum Erstellen einer Dokumentationsvorlage für eine Benachrichtigungsrichtlinie finden Sie im Abschnitt Festlegen der Dokumentation, die in Benachrichtigungen aufgenommen werden soll.

Die folgenden Variablen stehen zur Verwendung in Dokumentationsfeldern zur Verfügung:

Variable Wert
condition.name Der REST-Ressourcenname der Bedingung, z. B.
projects/foo/alertPolicies/1234/conditions/5678
condition.display_name Der Anzeigename einer Bedingung, z. B. CPU usage increasing rapidly
metadata.system_label.KEY Der Wert des vom System bereitgestellten Ressourcenmetadatenlabels KEY.1
metadata.user_label.KEY Der Wert des benutzerdefinierten Ressourcenmetadatenlabels KEY.1,4
metric.type Der Messwerttyp, z. B.
compute.googleapis.com/instance/cpu/utilization
metric.display_name Der Anzeigename für den Messwerttyp, z. B. CPU utilization
metric.label.KEY

Der Wert des Messwertlabels KEY.1
Die mit dem Messwerttyp verknüpften Labels finden Sie in der Messwertliste.

Den Werten muss eine Ziffer, ein Buchstabe, ein Schrägstrich (/) oder ein Gleichheitszeichen (=) vorangestellt werden. Alle anderen Präfixe sind nicht zulässig. Wenn ein Wert ein nicht unterstütztes Präfix enthält, wird der Wert nicht gemeldet.

policy.name Der REST-Ressourcenname der Richtlinie, z. B. projects/foo/alertPolicies/1234
policy.display_name Der Anzeigename einer Richtlinie, z. B. High CPU rate of change
policy.user_label.KEY Der Wert des Nutzerlabels KEY.1,2
project Die Projekt-ID des Arbeitsbereichs, z. B. a-gcp-project
resource.type Der Typ der überwachten Ressource, z. B. gce_instance.
resource.project Die Projekt-ID der überwachten Ressource der Benachrichtigungsrichtlinie
resource.label.KEY Der Wert des Ressourcenlabels KEY.1,34
Die mit dem Typ der überwachten Ressource verknüpften Labels finden Sie in der Ressourcenliste.

1 Beispielsweise wird ${resource.label.zone} durch den Wert des zone-Labels ersetzt. Die Werte dieser Variablen unterliegen einer Gruppierung. Weitere Informationen finden Sie unter null-Werte.
2 Nutzerlabels in einer Richtlinie können nur mit der Monitoring API festgelegt werden.
3 Verwenden Sie ${resource.project}, um den Wert des Labels project_id für eine mit der Benachrichtigungsrichtlinie überwachte Ressource abzurufen.
4 Sie können nicht auf benutzerdefinierte Metadatenlabels von Ressourcen zugreifen, indem Sie resource.label.KEY. verwenden. Verwenden Sie stattdessen metadata.user_label.KEY.

null-Werte

Die Werte für die Variablen metric.*, resource.* und metadata.* werden aus Zeitachsen abgeleitet. Ihre Werte können null sein, wenn von der Zeitachsenabfrage keine Werte zurückgegeben werden.

  • Die Variablen resource.label.KEY und metric.label.KEY können null-Werte haben, wenn Ihre Benachrichtigungsrichtlinie eine serverbasierte Aggregation (Reduzierung) verwendet, z. B. die Summe für jede der Zeitachsen, die einem Filter entsprechen. Bei Verwendung einer achsenübergreifenden Zusammenfassung werden alle nicht in der Gruppierung berücksichtigten Labels verworfen. Wenn sie in der Variablensubstitution referenziert werden, haben sie null-Werte. Diese Labels werden automatisch beibehalten, wenn es keine achsenübergreifende Zusammenfassung gibt.
  • Werte für metadata.*-Variablen sind nur verfügbar, wenn die Labels explizit im Filter einer Bedingung oder Gruppierung für eine achsenübergreifende Zusammenfassung enthalten sind. Das heißt, Sie müssen auf das Metadatenlabel im Filter oder in der Gruppierung verweisen, damit es einen Wert für die Vorlage hat.

Weitere Hinweise zur Nutzung

  • Nur die Variablen in der Tabelle werden unterstützt. Sie können sie nicht zu komplexeren Ausdrücken wie etwa ${varname1 + varname2} kombinieren.
  • Wenn Sie den literalen String ${ in Ihre Dokumentation aufnehmen möchten, verwenden Sie das $-Symbol mit einem zweiten $-Symbol als Escapezeichen. Dadurch wird $${ in Ihrer Dokumentation als ${ gerendert.
  • Diese Variablen werden nur in Benachrichtigungen, die über Benachrichtigungskanäle gesendet werden, durch ihre Werte ersetzt. Wenn in der Google Cloud Console die Dokumentation angezeigt wird, sehen Sie die Variablen und nicht die Werte. Beispiele in der Konsole sind die Beschreibungen von Vorfällen und die Vorschau der Dokumentation beim Erstellen einer Benachrichtigungsrichtlinie.

Kanalsteuerelemente verwenden

Der Text im Dokumentationsfeld kann auch Sonderzeichen enthalten, die vom Benachrichtigungskanal selbst zur Steuerung von Formatierungen und Benachrichtigungen verwendet werden.

Zum Beispiel verwendet Slack @ für Erwähnungen. Sie können dadurch die Benachrichtigung mit einem bestimmten Nutzer verknüpfen. Angenommen, Sie fügen einen solchen String in das Dokumentationsfeld ein:

<@backendoncall> policy ${policy.display_name} triggered an incident

Wenn das Dokumentationsfeld als Teil der Benachrichtigung vom relevanten Slack-Kanal empfangen wird, löst diese Zeile eine zusätzliche Nachricht an den Nutzer backendoncall aus, z. B. policy High CPU rate of change triggered an incident.

Diese zusätzlichen Optionen sind kanalspezifisch. Weitere Informationen zu den verfügbaren Optionen finden Sie in der Dokumentation des Kanalanbieters.