创建指标阈值提醒政策

本文档介绍了如何使用 Google Cloud 控制台创建 基于指标的提醒 用于发送通知的政策 当指标值大于或小于阈值时 特定重新测试期。例如,条件 提醒政策 当 CPU 利用率高于 80% 且至少有 5 个时,可能会满足 分钟。

此内容不适用于基于日志的提醒政策。了解基于日志的提醒政策,这些政策会在发生以下情况时通知您: 特定消息出现在您的日志中,请参阅 监控日志

本文档并未介绍以下内容:

准备工作

  1. 如需获取使用 Google Cloud 控制台创建和修改提醒政策所需的权限, 请让管理员授予您 项目的 Monitoring Editor (roles/monitoring.editor) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

    如需详细了解 Cloud Monitoring 角色, 请参阅使用 Identity and Access Management 控制访问权限

  2. 确保您熟悉提醒政策的一般概念。 如需了解这些主题,请参阅提醒概览

  3. 配置您要用于接收任何通知的通知渠道。为实现冗余,我们建议您创建 多种类型的通知渠道。如需了解详情,请参阅 创建和管理通知渠道

创建提醒政策

创建一个提醒政策,以便将该指标的值与静态值进行比较 执行以下操作:

  1. 在 Google Cloud 控制台中,转到 提醒页面:

    进入提醒

    如果您使用搜索栏查找此页面,请选择子标题为监控的结果。

  2. 选择创建政策
  3. 选择要监控的时序:

    1. 点击选择指标,然后浏览菜单以选择 资源类型和指标类型,然后点击应用

      选择指标菜单包含可帮助您查找 可用的指标类型:

      • 要查找特定的指标类型,请使用 过滤栏。 例如,如果您输入 util,则将菜单限制为 显示包含 util 的条目。系统将在条目通过 不区分大小写的“contains”测试。
      • 要显示所有指标类型(包括没有数据的指标类型),请点击 有效。默认情况下,菜单 仅显示带有数据的指标类型如需了解详情,请参阅 菜单中未列出指标

      您可以监控任何内置指标或任何用户定义的 指标。

    2. 可选:如需监控与 指标和资源类型 点击添加过滤条件。在“过滤条件”对话框中,按以下条件选择标签: 要过滤的对象、比较器和过滤条件值。 例如,过滤条件 zone =~ ^us.*.a$ 使用正则表达式来 匹配可用区名称以 us 开头、以 us 结尾的所有时间序列数据 与a共享。如需了解详情,请参阅过滤所选时间序列

    3. 可选:如需更改时序中点的对齐方式,请执行以下操作: 在转换数据部分中,设置滚动窗口滚动窗口函数字段。

      如果您要监控基于日志的指标,我们建议将滚动窗口菜单设置为至少 10 分钟。

      这些字段指定如何记录窗口中记录的点 总和。例如,假设窗口为 15 分钟,而窗口函数为 max。对齐点是 得分。 如需了解详情,请参阅 校准:系列内正则化

      您还可以监控指标值的变化率 滚动窗口函数字段设置百分比变化。 有关详情,请参阅监控变化率

    4. 可选:如需减少 时序由政策监控,或者您希望仅监控 时序集合。例如,您不必监控 您可能希望计算每个虚拟机实例的 CPU 利用率, 某个可用区中所有虚拟机的 CPU 利用率平均值,然后计算 监控该平均值。默认情况下 时序不会合并。有关一般信息,请参阅 归约:合并时序

      如需组合所有时序,请执行以下操作:

      1. 跨时序部分中, 点击 展开
      2. 时间序列聚合字段的值设置为 none。例如,如需显示时间序列的平均值,请选择 mean
      3. 确保时间序列分组依据字段为空。

      如需按标签值对时序进行组合或分组,请执行以下操作:

      1. 跨时序部分中, 点击 展开
      2. 时间序列聚合字段的值设置为 none
      3. 时序分组依据字段中,选择标签 作为分组依据

      例如,如果您按 zone 标签进行分组,然后将 汇总字段的值为 mean,则图表会显示 每个有数据的区域对应一个时序。通过 特定可用区的时序是所有时序的平均值 该可用区

    5. 点击下一步

  4. 配置条件触发器:

    1. 条件类型字段保留为默认值 Threshold

    2. 可选:更新提醒触发器菜单, 具有以下值:

      • 任何违反时序的情况:默认设置。任意时序 在整个重新测试期都达到阈值 使条件得到满足。

      • 时序违规百分比:时序的百分比 必须在整个重新测试窗口期内超过阈值 才能满足条件例如: 当所监控的时序有 50% 违反了 整个重新测试窗口的阈值。

      • Number of time series violates:必须有特定数量的时间序列在整个重新测试时间段内违反阈值,此条件才会满足。对于 例如,当有 32 个受监控的 时序超出整个重新测试窗口的阈值。

      • 所有时序违反:所有时序都必须违反 阈值。

      有关 Monitoring 用于校准和衡量时序数据,请参阅 校准时间段和重新测试窗口

    3. 使用 阈值位置阈值字段。例如,如果您将这些值设置为高于阈值0.3,则任何高于 0.3 的测量值都会违反阈值。

    4. 可选:如需选择测量结果必须超出阈值多长时间后 Monitoring 才会发送通知,请展开高级选项,然后使用重新测试期限菜单。

      默认值为 No retest。使用此设置时,系统会 则会产生通知。如需更多信息和 请参阅 校准时间段和时长设置

    5. 可选:指定 Monitoring 评估 当数据停止到达时,展开 高级选项,然后使用评估缺少数据 菜单。

      评估缺少数据菜单的 Retest windowNo retest

      Google Cloud 控制台
      “评估缺失数据”字段
      摘要 详细信息
      缺少数据为空 未结突发事件保持未结状态。
      新的突发事件不会被创建。

      对于满足的条件,条件将继续为 才会出现这种问题如果突发事件符合此条件, 那么该事件就会保持未解决状态当突发事件未处理且无数据时 自动关闭计时器会至少在延迟一刻后启动 15 分钟。如果计时器过期,则事件已关闭。

      对于不满足的条件,条件将继续不满足 在数据停止到达时满足什么条件。

      缺失的数据点会被视为违反政策条件的值 未结突发事件会保持未结状态。
      可以打开新的突发事件。

      对于已满足的条件,即使数据停止传入,该条件仍会继续满足。如果系统针对此条件创建了突发事件,则该突发事件会保持打开状态。有未结突发事件,但未收到任何数据时 自动关闭时长加 24 小时, 该事件就已关闭

      对于不符合的条件,此设置会导致 指标阈值条件的行为类似于 metric-absence condition。 如果数据未在重新测试期限指定的时间内到达,则系统会评估该条件是否已满足。对于具有 一个条件,即满足该条件 会导致创建突发事件

      缺失数据点被视为未违反政策条件的值 未结突发事件已关闭。
      新的突发事件不会被创建。

      如果条件满足,那么当 数据会停止传送。如果突发事件符合此条件, 该事件就已关闭

      对于不满足的条件,条件将继续不满足 在数据停止到达时满足什么条件。

    6. 点击下一步

  5. 可选:创建包含多个条件的提醒政策。

    大多数政策会监控单个指标类型,例如,一项政策可能 监控写入虚拟机实例的字节数。如果您想监控多个指标类型,请创建包含多个条件的政策。每个条件会监控一种指标类型。创建条件后 您可以指定条件的组合方式有关详情,请参阅 包含多个条件的政策

    如需创建包含多个条件的提醒政策,请执行以下操作:

    1. 对于每个其他条件,请点击添加提醒条件,然后配置该条件。
    2. 点击下一步,然后配置条件的组合方式。
    3. 点击下一步前往通知和文档 设置。
  6. 配置通知:

    1. 展开通知和名称菜单,然后选择您的通知 渠道。为实现冗余,我们建议您添加到 提醒政策使用多种类型的通知渠道。 如需了解详情,请参阅管理通知渠道

    2. 可选:如需在突发事件关闭时收到通知,请选择 在突发事件关闭时发出通知。 默认情况下,当您使用 Google Cloud 控制台中,仅当发生突发事件 创建。

    3. 可选:如需更改在数据停止传入后,监控服务等待多长时间后关闭突发事件,请从突发事件自动关闭时长菜单中选择一个选项。默认情况下,当数据停止到达时,Monitoring 会等待 。

    4. 政策严重级别菜单中选择一个选项。突发事件和通知会显示严重级别。

    5. 可选:如需为提醒政策添加自定义标签,请在 政策用户标签部分,执行以下操作:

      1. 点击添加标签,然后在字段中输入 标签。标签名称必须以小写字母开头,可以 包含小写字母、数字、下划线和短划线。 例如,输入 severity
      2. 点击,然后输入标签的值。标签值 包含小写字母、数字、下划线和短划线。 例如,输入 critical

      有关如何使用政策标签来帮助管理 您的通知,请参阅 使用标签为突发事件添加注解

  7. 可选:在文档部分中,输入您希望随通知一起提供的任何内容。

    如需设置文档格式,您可以使用纯文本、 Markdown 和变量。您还可以 包含有助于用户调试该事件的链接, 作为指向内部 playbook、Google Cloud 信息中心和外部 页面。例如,以下文档模板描述了 gce_instance 资源的 CPU 利用率异常,并包含多个变量来引用提醒政策和条件 REST 资源。文档模板 然后引导读者访问外部网页以帮助进行调试。

    创建通知后,Monitoring 会替换 文档变量及其值。 这些值仅替换通知中的变量。通过 预览窗格以及 Google Cloud 控制台中的其他位置 仅显示 Markdown 格式

    预览

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    通知中的格式

    文档在通知中呈现方式示例。

    如需了解详情,请参阅 使用用户定义的文档为通知添加注释使用渠道控件

  8. 点击提醒名称,然后输入提醒政策的名称。

  9. 点击创建政策

过滤所选时序

过滤条件可确保仅监控符合部分条件的时间序列。应用过滤条件后,图表中的数据线数量可能会减少,从而改善图表的性能。您还可以减少 通过应用汇总来监控的数据量。 过滤条件可确保仅使用符合部分条件的时间序列。应用过滤条件后,评估的时间序列会较少,从而可以提高提醒的性能。

过滤器由标签、比较运算符和值组成。例如: 来匹配 zone 标签以 "us-central1" 开头的所有时序, 可以使用过滤条件zone=~"us-central1.*",该过滤条件使用正则表达式 进行比较

按项目 ID 或资源容器进行过滤时, 因此必须使用等号运算符 (=)。过滤条件: 其他标签,则可以使用任何受支持的比较运算符。 通常,您可以按 资源组

如果您提供多个过滤条件 系统仅监控符合所有条件的时序。

如需添加过滤条件,请点击添加过滤条件,完成对话框,然后点击完成。在对话框中,您可以使用过滤条件字段来选择 作为过滤依据的条件,选择比较运算符,然后 选择该值。 下表中的每一行都列出了一个比较运算符及其含义和示例:

运算符含义示例
= 相等 resource.labels.zone = "us-central1-a"
!= 不相等 resource.labels.zone != "us-central1-a"
=~ 正则表达式 2 等式 monitoring.regex.full_match("^us.*")
!=~ 正则表达式 2 不等式 monitoring.regex.full_match("^us.*")
starts_with 值开头为 resource.labels.zone = starts_with("us")
ends_with 值结尾为 resource.labels.zone = ends_with("b")
has_substring 值包含 resource.labels.zone = has_substring("east")
one_of 以下之一 resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with 值开头不是 resource.labels.zone != starts_with("us")
!ends_with 值结尾不是 resource.labels.zone != ends_with("b")
!has_substring 值不包含 resource.labels.zone != has_substring("east")
!one_of 值不是以下项之一 resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

问题排查

本部分包含问题排查提示。

可用指标菜单中未列出指标

如需监控选择指标菜单中未列出的指标,请执行以下操作: 以下项之一:

  • 如需创建用于监控 Google Cloud 指标的提醒政策, 展开选择指标菜单,然后 点击 已启用。 停用后,该菜单会列出以下各项的所有指标: Google Cloud 服务以及包含数据的所有指标。

  • 在该指标之前,为自定义指标类型配置条件 类型会生成数据,则必须使用 监控过滤条件:

    1. 选择 ?(在选择指标部分的标题中),然后选择提示中的直接过滤模式
    2. 输入监控过滤条件或时序选择器。 如需了解语法,请参阅以下文档:

监控变化率

要监控指标值的变化率,请将 滚动窗口函数字段更改为百分比变化。 评估条件时,Monitoring 会计算 以百分比表示的指标变化率,然后将该百分比 条件的阈值此比较过程分为两个步骤:

  1. 如果时间序列具有 DELTACUMULATIVE 指标类型,则会转换为具有 GAUGE 指标类型的时间序列。有关 请参阅种类、类型和转换
  2. Monitoring 通过比较 最近 10 分钟滑动窗口期的平均值, 计算开始前 10 分钟滑动窗口的平均值, 校准时间段。

您无法在 变化率提醒政策 不过,您可以在创建条件时指定校准时间段。

后续步骤