Variables in Documentation Templates

This page describes the variables and channel-specific controls that are available for use in the documentation template associated with an alerting policy.

Using variables

In addition to Markdown, you can use variables of the form ${varname} to tailor the content of your documentation. When the documentation is sent with a notification, the string ${varname} will be replaced with the value of varname. The following screenshot shows the documentation included in an email notification, created from the documentation template described in Add documentation:

Documentation in email

The following variables are available for use in documentation fields:

Variable Value
condition.name The REST resource name of the condition, such as projects/foo/alertPolicies/1234/conditions/5678
condition.display_name The display name of a condition, such as CPU usage increasing rapidly
metric.type The metric type, such as compute.googleapis.com/instance/cpu/utilization
metric.display_name The display name for the metric type, such as CPU utilization
metric.label.[KEY] The value of the metric label key1
policy.user_label.[KEY] The value of the user label key1,2
policy.name The REST resource name of the policy, such as projects/foo/alertPolicies/1234
policy.display_name The display name of a policy, such as High CPU rate of change
project The project ID of the Workspace, such as a-gcp-project
resource.project The project ID of the monitored resource of the alerting policy
resource.type The type of the monitored resource, such as api
resource.label.[KEY] The value of the resource label key1

1 For example, ${resource.label.zone} is replaced with the value of the zone label.
2 User labels in a policy can only be set by using the Monitoring API.

Notes:

  • Only the variables in the table are supported. You cannot combine them into more complex expressions, like ${varname1 + varname2}.

  • To include the literal string ${ in your documentation, escape the $ symbol with a second $ symbol, and $${ will render as ${ in your documentation.

Using channel controls

The text in the documentation field can also include special characters used by the notification channel itself to control formatting and notifications.

For example, Slack uses @ for mentions. You can use this to link the notification to a specific user. Suppose you include a string like this in the documentation field:

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

When the documentation field is received by the relevant Slack channel as part of the notification, this line triggers an additional message to the user backendoncall that, for example, the policy High CPU rate of change triggered an incident.

These additional options are specific to the channels; for more information on what may be available, consult the documentation provided by the channel vendor.

Was this page helpful? Let us know how we did:

Send feedback about...

Stackdriver Monitoring