使用标签为突发事件添加注解

本文档介绍了如何通过为突发事件指定用户定义的标签来对其进行整理和确定优先顺序。这些标签在提醒政策中进行配置,并在提醒政策和突发事件中列出。标签也会显示在某些通知中,具体取决于您的配置。

标签简介

标签是键值对,用于将信息附加到时序、提醒政策、突发事件或通知。例如,时序上的标签可识别从中收集数据的特定虚拟机 (VM) 实例。标签是用户定义的或预定义的。

用户指定的标签

用户定义的标签包含您指定的信息。这些标签可以具有静态值或动态值:

标签必须以小写字母开头。标签键和标签值只能包含小写字母、数字、下划线和短划线。

预定义标签

预定义标签包含在资源描述符中;在写入时序数据时,必须填充这些标签。这些标签显示有关所收集指标或针对其写入指标的资源的信息。例如,时序上的标签可识别虚拟机 (VM)、可用区、Google Cloud 项目和设备类型。Monitoring 根据该时序创建突发事件时,该突发事件会继承这些标签。

App Hub 标签

App Hub 会将标签附加到应用及其服务和工作负载生成的日志、指标和跟踪记录数据。这些标签可让 Google Cloud 基础设施创建显示指标和日志数据的应用、服务和工作负载信息中心。如需了解详情,请参阅以下任一文档:

如何查看标签

您可以在突发事件的详情页面提醒政策的详情页面上以及某些通知中查看提醒政策或突发事件的标签。

  • 提醒政策:静态用户定义标签列在用户标签部分中。动态用户定义标签和预定义标签不可见。
  • 突发事件:静态用户自定义标签列在政策标签部分中,动态用户自定义标签列在指标标签部分中。预定义标签列在 Monitored Resource Labels指标标签部分中。
  • 通知:预定义标签和用户定义标签列在以下通知类型中:

    • 电子邮件
    • Google Chat
    • PagerDuty
    • Pub/Sub
    • 网络钩子

示例:添加具有动态值的用户定义标签

您可以使用 MQL 配置标签,以便其值根据时序数据动态变化。例如,您希望突发事件具有 criticality 标签,其值会根据所监控的 CPU 利用率指标的值而变化:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| group_by sliding(5m), [value_utilization_mean: mean(value.utilization)]
| map
    add[
      criticality:
        if(val() >= 90 '%', 'CRITICAL',
          if(val() >= 80 '%', 'WARNING',
            if(val() >= 70 '%', 'INFO', 'GOOD')))
    ]
| condition val() >= 70 '%'

下图说明了使用 MQL 查询的提醒政策如何处理其监控的时序数据:

提醒政策如何处理其监控的时序图示。

政策处理程序会处理 CPU 利用率数据,并输出时序,以表明何时满足条件。在上述示例中,当 CPU 利用率至少为 70% 时,则满足条件。对于每个输入时序,政策处理程序可以生成以下四个时序之一:

输出时序名称 满足条件 说明
“GOOD” 此时序的标签与输入时序的标签相同。该时序没有严重程度标签。
“CRITICAL” CPU 利用率至少为 90%。输出时序具有与“GOOD”时序相同的标签,以及一个值为“CRITICAL”的严重程度标签。
“WARNING” CPU 利用率至少为 80%,但低于 90%。输出时序具有与“GOOD”时序相同的标签,以及一个值为“WARNING”的严重程度标签。
"INFO" CPU 利用率至少为 70%,但低于 80%。输出时序具有与“GOOD”时序相同的标签,以及一个值为“INFO”的严重程度标签。

政策处理程序生成的时序数据是突发事件管理器的输入,用于确定何时创建和关闭突发事件。为了确定何时关闭突发事件,突发事件管理器使用 durationevaluationMissingDataautoClose 字段的值。

最佳做法

如需确保在创建动态设置其值的标签时,一次最多开启一个突发事件,请执行以下操作:

  • MetricThreshold 对象中,替换以下字段的默认值:

    • duration 字段:设置为非零值。
    • evaluationMissingData 字段:设置为在数据停止到达时关闭突发事件。使用 Cloud Monitoring API 时,请将此字段设置为 EVALUATION_MISSING_DATA_INACTIVE。使用 Google Cloud 控制台时,请将此字段设置为“缺失的数据点被视为不违反政策条件的值”。
  • AlertStrategy 对象中,将 autoClose 字段设置为其最小值 30 分钟。使用 Cloud Monitoring API 时,请将此字段设置为 30m

如需了解详情,请参阅部分指标数据

突发事件流

假设在创建提醒政策时,CPU 利用率测量值低于 70%。以下序列说明了如何开启和关闭突发事件:

  1. 由于 CPU 利用率测量值低于 70%,因此政策处理程序会生成“GOOD”时序,并且不会开启任何突发事件。

  2. 接下来,假设 CPU 利用率上升到 93%。政策处理程序会停止生成“GOOD”时序数据,并开始为“CRITICAL”时序生成数据。

    突发事件管理器会看到满足条件的新“CRITICAL”时序,然后开启突发事件。通知包含值为 CRITICAL 的严重程度标签。

  3. 假设 CPU 利用率降至 75%。政策处理程序会停止生成“CRITICAL”时序,并开始生成“INFO”时序。

    突发事件管理器会看到满足条件的新“INFO”时序,然后开启突发事件。通知包含值为 INFO 的严重程度标签。

    突发事件管理器会看到没有针对“CRITICAL”时序的数据到达,并且针对该时序会开启突发事件。由于该政策配置为在数据停止到达时关闭突发事件,因此突发事件管理器会关闭与“CRITICAL”时序相关联的突发事件。因此,只有严重程度标签的值为 INFO 的突发事件仍处于未结状态。

  4. 最后,假设 CPU 利用率降至 45%。此值低于所有阈值,因此政策处理程序会停止生成“INFO”时序,并开始生成“GOOD”时序。

    突发事件管理器会看到没有针对“INFO”时序的数据到达,并且针对该时序会开启突发事件。由于该政策使用推荐的设置,因此突发事件会关闭。

如果您没有为 evaluationMissingData 字段使用建议的值,则当数据停止到达时,未结突发事件不会立即关闭。这样一来,您可能会看到针对同一输入时序的多个未结突发事件。如需了解详情,请参阅部分指标数据

后续步骤