Variablen in Dokumentationsvorlagen

Auf dieser Seite werden die Variablen und kanalspezifischen Steuerelemente beschrieben, die in der mit einer Benachrichtigungsrichtlinie verknüpften Dokumentationsvorlage 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 unter Benachrichtigungsrichtlinie erstellen: Dokumentation beschriebenen Dokumentationsvorlage erstellt wurde.

In der E-Mail enthaltene Dokumentation

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
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
policy.user_label.[KEY] Der Wert des Nutzerlabels [KEY]1,2
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
project Die Projekt-ID des Arbeitsbereichs, z. B. a-gcp-project
resource.project Die Projekt-ID der überwachten Ressource der Benachrichtigungsrichtlinie
resource.type Der Typ der überwachten Ressource, z. B. api
resource.label.[KEY] Der Wert des Ressourcenlabels [KEY]1,3

1 Beispielsweise wird ${resource.label.zone} durch den Wert des zone-Labels ersetzt. Die Werte dieser Variablen müssen gruppiert werden. Weitere Informationen finden Sie in den folgenden Hinweisen.
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.

Hinweise:

  • Nur die Variablen in der Tabelle werden unterstützt. Sie können sie nicht zu komplexeren Ausdrücken wie etwa ${varname1 + varname2} kombinieren.
  • Werte für einige Variablen (z. B. resource.project, metric.label.[KEY], resource.label.[KEY] und metadata.user_label.[KEY]) werden aus Zeitachsen abgeleitet. Die Werte können null sein, wenn aus der Zeitachsenabfrage keine Werte zurückgegeben werden. Variablen mit dem Wert null können beispielsweise dadurch entstehen, dass in der Benachrichtigungsrichtlinie eine achsenübergreifende Zusammenfassung verwendet wird. (Beispiel: Berechnung von SUM für alle Zeitachsen, die dem Filter entsprechen.) Bei Verwendung einer achsenübergreifenden Zusammenfassung werden alle nicht in der Gruppierung berücksichtigten Variablen verworfen. Wenn sie in der Variablensubstitution referenziert werden, haben sie null-Werte.
  • 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, nicht die Werte. Beispiele in der Console 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.