Markdown und Variablen in Dokumentationsvorlagen verwenden

Auf dieser Seite wird der Inhalt beschrieben, den Sie in das Dokumentationsfeld einer Benachrichtigungsrichtlinie einschließen können. Dieses Feld unterstützt Nur-Text, Markdown, Variablen und kanalspezifische Steuerelemente.

Markdown verwenden

Im Dokumentationsfeld wird die folgende Teilmenge von Markdown-Tagging unterstützt:

  • Header, die durch anfängliche Hash-Zeichen gekennzeichnet sind.
  • Unsortierte Listen, gekennzeichnet durch anfängliche Plus-, Minus- oder Sternchenzeichen.
  • Sortierte Listen, gekennzeichnet durch eine anfängliche Zahl gefolgt von einem Punkt.
  • Iterischer Text, gekennzeichnet durch einzelne Unterstriche oder Sternchen um eine Wortgruppe.
  • Fettdruck, der durch doppelte Unterstriche oder Sternchen um eine Wortgruppe gekennzeichnet ist.
  • Links, gekennzeichnet durch die Syntax [link text](url).

Weitere Informationen zu diesem Tagging finden Sie in der Markdown-Referenz, z. B. in der Markdown-Anleitung.

Variablen verwenden

Sie können Variablen im Format ${varname} verwenden, um den Inhalt Ihrer Dokumentation anzupassen. 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 in Benachrichtigungen aufzunehmenden 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
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 ID des Bereichprojekts des Messwertbereichs, 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 der achsenübergreifenden Zusammenfassung werden alle nicht in der Gruppierung berücksichtigten Labels verworfen. Deshalb werden sie als null gerendert, wenn die Variable durch ihren Wert ersetzt wird. Alle Labels werden 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.