文档模板中的变量

本页介绍与提醒政策关联的文档中可使用的变量和特定于渠道的控制选项。

使用变量

除了 Markdown 之外,您还可以使用 ${varname} 形式的变量来调整文档内容。当文档以通知的形式发送时,字符串 ${varname} 将被替换为值 varname。以下屏幕截图显示了电子邮件通知中包含的文档,该文档是通过为提醒政策指定的文档模板创建的:

电子邮件中包含文档。

如需了解如何为提醒政策创建文档模板,请参阅指定在通知中包含的文档部分中的可选步骤。

文档字段中可使用以下变量:

变量
condition.name 条件的 REST 资源名称,例如
projects/foo/alertPolicies/1234/conditions/5678
condition.display_name 条件的显示名称,例如 CPU usage increasing rapidly
metadata.system_label.KEY 系统提供的资源元数据标签 KEY 的值。1
metadata.user_label.KEY 用户定义的资源元数据标签 KEY 的值。1,4
metric.type 指标类型,如
compute.googleapis.com/instance/cpu/utilization
metric.display_name 指标类型的显示名称,例如 CPU utilization
metric.label.KEY

指标标签 KEY 的值。1
要查找与指标类型关联的标签,请参阅指标列表

值的前缀必须为数字、字母、正斜杠 (/) 或等号 (=)。不允许使用其他所有前缀。如果值包含不受支持的前缀,则不会报告该值。

policy.name 政策的 REST 资源名称,例如 projects/foo/alertPolicies/1234
policy.display_name 政策的显示名,例如 High CPU rate of change
policy.user_label.KEY 用户标签 KEY 的值。1,2
project 工作区的项目 ID,例如 a-gcp-project
resource.type 受监控的资源类型,例如 gce_instance
resource.project 提醒政策的受监控资源的项目 ID。
resource.label.KEY 资源标签 KEY 的值。1,3,4
要查找与受监控的资源类型关联的标签,请参阅资源列表

1 例如,${resource.label.zone} 被替换为 zone 标签的值。这些变量的值会进行分组;如需了解详情,请参阅 null
2 只能通过 Monitoring API 来设置政策中的用户标签。
3 要检索提醒政策中的受监控资源上的 project_id 标签值,请使用 ${resource.project}
4 您无法使用 resource.label.KEY. 来访问用户定义的资源元数据标签。请改为使用 metadata.user_label.KEY

null

metric.*resource.*metadata.* 变量的值是根据时间序列得出的。如果时间序列查询未返回任何值,则其值可以为 null

  • 如果提醒政策使用跨序列聚合(减少),例如,与过滤条件匹配的时间序列,则 resource.label.KEYmetric.label.KEY 变量的值可以为 null。使用跨序列聚合时,没有用于分组的标签将被舍弃,并且如果在变量替换中引用,将具有 null 值。如果没有跨序列聚合,系统会自动保留这些标签。
  • 只有在条件的过滤条件或用于跨序列聚合的分组中明确包含标签时,才可以使用 metadata.* 变量的值。也就是说,您必须在过滤条件或分组中引用元数据标签,才能让模板具有值。

其他使用说明

  • 只有上表中的变量受支持。您无法将它们组合成更复杂的表达式,如 ${varname1 + varname2}
  • 要将字面量字符串 ${ 包含在您的文档中,请再使用一个 $ 符号对 $ 符号进行转义,即 $${ 将在您的文档中呈现为 ${
  • 只有在通过通知渠道发送的通知中,这些变量才会被它们的值替换。在 Google Cloud Console 中显示文档时,您看到的是变量,而不是值。控制台中的示例包括创建提醒政策时的突发事件说明和文档预览。

使用渠道控制功能

文档字段中的文本还可以包含通知渠道本身用来控制格式和通知的特殊字符。

例如,Slack 使用 @ 表示提及。您可以使用此字符将通知链接到特定用户。假设您在文档字段中包含了这样一个字符串:

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

作为通知的一部分,当相关 Slack 渠道收到文档字段时,该行会向 backendoncall 用户触发一条附加消息,例如 policy High CPU rate of change triggered an incident

这些附加选项是特定于渠道的。如需详细了解可用选项,请参考渠道供应商提供的文档。