本文档介绍如何使用 Google Cloud 控制台创建基于指标的提醒政策,这样一来,当指标的值大于或小于特定时长窗口的阈值时,通知功能会生成通知或生成提醒。例如,当 CPU 利用率高于 80% 且持续五分钟时,可能会触发政策。
此内容不适用于基于日志的提醒政策。如需了解基于日志的提醒政策(该政策在特定消息显示在日志中时通知您),请参阅监控日志。
本文档未介绍以下内容:
- 如何在数据停止通知时接收通知。如需了解此主题,请参阅创建指标缺失提醒政策。
- 如何根据指标的预测值收到通知。如需了解此主题,请参阅创建预测性指标值提醒政策。
如何使用 Cloud Monitoring API 创建提醒政策。如需了解此主题,请参阅使用 API 创建提醒政策。
如何创建提醒政策,其条件包含 Monitoring Query Language (MQL) 查询。这些政策可以使用静态阈值或动态阈值。有关详情,请参阅以下文档:
须知事项
-
如需获取使用 Google Cloud 控制台创建和修改提醒政策所需的权限,请让管理员授予您项目的 Monitoring Editor (
roles/monitoring.editor
) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限。如需详细了解 Cloud Monitoring 角色,请参阅使用 Identity and Access Management 控制访问权限。
确保您熟悉提醒政策的一般概念。如需了解这些主题,请参阅提醒概览。
配置要用来接收任何提醒的通知渠道。为实现冗余,我们建议您创建多种类型的通知渠道。如需了解详情,请参阅创建和管理通知渠道。
创建提醒政策
如需创建将该指标的值与静态阈值进行比较的提醒政策,请执行以下操作:
-
在 Google Cloud 控制台中,选择 Monitoring,然后选择 notifications 提醒,或点击以下按钮:
- 选择创建政策。
选择要监控的时序:
点击选择指标,浏览菜单以选择资源类型和指标类型,然后点击应用。
如需减少菜单中的选项,请在过滤条件栏中输入所需指标类型或资源类型的名称。例如,如果您在过滤栏中输入“虚拟机实例”,则系统只会列出虚拟机实例的指标类型。如果输入“CPU”,则菜单仅显示名称中包含“CPU”的指标类型。
您可以监控任何内置指标或任何用户定义的指标。
如需了解如何监控菜单中未列出的指标,请参阅菜单中未列出的指标。
可选:如需监控与您在上一步中选择的指标和资源类型匹配的时序子集,请点击添加过滤条件。在过滤条件对话框中,选择过滤依据、比较器,然后选择过滤条件值。例如,过滤器
zone =~ ^us.*.a$
使用正则表达式来匹配区域名称以us
开头且以a
结尾的所有时序数据。如需了解详情,请参阅过滤所选的时序。可选:要更改时序中各点的对齐方式,请在转换数据部分中设置滚动窗口和滚动窗口函数字段。
这些字段指定了在窗口中所记录的点的组合方式。例如,假设窗口为 15 分钟,窗口函数为
max
。已对齐的点是最近 15 分钟内所有点的最大值。如需了解详情,请参阅对齐:系列内正则化。您还可以使用滚动窗口函数字段来设置百分比变化,以监控指标值变化的速率。如需了解详情,请参阅监控变化率。
可选:在您需要减少政策监控的时序数,或者只想监控时序集合时,您可以组合时序。例如,您可能需要计算一个可用区中所有虚拟机的 CPU 利用率的平均值,而不是监控每个虚拟机实例的 CPU 利用率。默认情况下,时序不会合并。如需了解一般信息,请参阅归约:组合时序。
如需组合所有时序,请执行以下操作:
- 在所有时序部分,点击 expand_more 展开。
- 将时序汇总字段设置为
none
以外的值。例如,如需显示时序的平均值,请选择mean
。 - 确保时间序列分组依据字段为空。
如需按标签值合并或分组时序,请执行以下操作:
- 在所有时序部分,点击 expand_more 展开。
- 将时序汇总字段设置为
none
以外的值。 - 在时序分组依据字段中,选择要分组的标签。
例如,如果您按
zone
标签进行分组,然后将汇总字段设置为mean
值,则图表会为存在数据的每个可用区显示一个时序。特定时区显示的时序为该可用区所有时序的平均值。点击下一步。
配置条件触发器:
将条件类型字段保留为阈值的默认值。
为“提醒触发器”菜单选择一个值。通过此菜单,您可以指定必须在触发条件之前违反阈值的时序子集。
使用阈值位置和阈值字段输入指标值违反阈值的情况。例如,如果您将这些值设为高于阈值和
0.3
,则任何高于0.3
的测量值都会违反阈值。可选:如需选择警报在发生突发事件之前必须超出阈值多长时间,请展开高级选项,然后使用重新测试窗口菜单。
默认值为 No retest。使用此设置时,单个测量结果可以引发通知。如需了解详情和示例,请参阅校准时间段和时长设置。
可选:如需指定 Monitoring 在数据停止到达时如何评估条件,请展开高级选项,然后使用评估缺失的数据菜单。
当重新测试窗口的值为不重新测试时,评估数据缺失菜单将被停用。
Google Cloud 控制台
“数据缺失评估”字段摘要 详细信息 缺少数据 未结突发事件保持打开状态。
新突发事件不会被打开。对于满足条件,当数据停止到达时,系统会继续满足该条件。如果某个突发事件因此条件而未结,则突发事件仍会保持未解决状态。当突发事件处于未结状态,并且没有数据到达时,自动关闭计时器会在至少 15 分钟后延迟。如果计时器到期,则事件会被关闭。
如果不符合条件,当数据不再到达时,仍会继续满足该条件。
缺少被视为违反政策条件的值数据点 未结突发事件保持打开状态。
开放新突发事件。对于满足条件,当数据停止到达时,系统会继续满足该条件。如果某个突发事件因此条件而未结,则突发事件仍会保持未解决状态。如果某个突发事件处于打开状态,并且在 24 小时内未收到任何自动关闭数据,则突发事件会被关闭。
对于不符合条件的情况,此设置会导致指标阈值条件类似于
metric-absence condition
。 如果数据未在重新测试窗口指定的时间内到达,则系统会评估相应条件是否满足条件。如果提醒政策只有一个条件,则满足该条件会导致事件被打开。缺少数据点,被视为未违反政策条件的值 未结突发事件已关闭。
新突发事件不会被打开。对于满足的条件,当数据停止到达时,将停止满足条件。如果某个突发事件因此条件而未结,则突发事件会被关闭。
如果不符合条件,当数据不再到达时,仍会继续满足该条件。
点击下一步。
可选:创建具有多个条件的提醒政策。
大多数政策会监控一种指标类型,例如,政策可能会监控写入虚拟机实例的字节数。如果要监控多种指标类型,请创建包含多个条件的政策。每个条件都会监控一种指标类型。创建条件后,您需要指定条件的组合方式。如需了解详情,请参阅具有多个条件的政策。
如需创建具有多个条件的提醒政策,请执行以下操作:
- 对于每个额外条件,点击添加提醒条件,然后配置该条件。
- 点击下一步,并配置条件的组合方式。
- 点击下一步,进入通知和文档设置。
配置通知:
展开通知渠道菜单,然后选择您的通知渠道。为了实现冗余,我们建议您向提醒政策添加多种类型的通知渠道。如需了解详情,请参阅管理通知渠道。
可选:如需在突发事件关闭时收到通知,请选择突发事件关闭通知。 默认情况下,当您使用 Google Cloud 控制台创建提醒政策时,仅在创建突发事件时发送通知。
可选:如需更改 Monitoring 在数据停止到达后关闭突发事件之前等待的时间,请从突发事件自动关闭时长菜单中选择一个选项。默认情况下,当数据停止到达时,Monitoring 会等待七天再关闭未结突发事件。
可选:如需为提醒政策添加自定义标签,请在 Policy user labels 部分执行以下操作:
- 点击添加标签,然后在键字段中输入标签的名称。标签名称必须以小写字母开头,可以包含小写字母、数字、下划线和短划线。例如,输入
severity
。 - 点击值并为您的标签输入一个值。标签值可以包含小写字母、数字、下划线和短划线。例如,输入
critical
。
如需了解如何使用政策标签来管理提醒,请参阅为标签添加提醒注解。
- 点击添加标签,然后在键字段中输入标签的名称。标签名称必须以小写字母开头,可以包含小写字母、数字、下划线和短划线。例如,输入
可选:在文档部分中,输入您希望通知包含的任何内容。
要设置文档格式,您可以使用纯文本、Markdown 和变量。您还可以添加链接来帮助用户调试突发事件,例如指向内部策略方案、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
通知格式
如需了解详情,请参阅使用用户定义的文档为提醒添加注解和使用渠道控件。
点击提醒名称,然后输入提醒政策的名称。
点击创建政策。
过滤所选的时序
您可以通过指定过滤条件或应用聚合来减少监控的数据量。过滤条件可确保仅使用符合部分条件的时序。应用过滤条件时,需要评估的时序更少,可以提高提醒的性能。
如果您提供多个过滤条件,则系统只会监控符合所有条件的时序。
如需添加过滤条件,请点击添加过滤条件,完成对话框,然后点击完成。在对话框中,您可以使用过滤条件字段选择过滤依据的条件。例如,您可以按资源组、名称、资源标签、区域和指标标签过滤。选择过滤条件后,选择比较运算符和值以完成过滤条件。下表中的每一行都列出了一个比较运算符及其含义和示例:
运算符 | 含义 | 示例 |
---|---|---|
= |
相等 | 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 服务的所有指标和所有包含数据的指标。
若要在自定义指标类型生成数据之前为自定义指标类型配置提醒,必须使用 Monitoring 过滤条件指定指标类型:
监控变化率
如需监控指标值的变化率,请将 Rolling window function 字段设置为 percent change,然后 Monitoring 会将指标的变化率与阈值进行比较。选择百分比变化函数后,Monitoring 会执行以下操作:
- 如果时序具有
DELTA
或CUMULATIVE
指标种类,则时序将转换为具有GAUGE
指标种类的时序。如需了解转换,请参阅种类、类型和转换。 - 计算百分比的变化幅度是将最近 10 分钟的窗口期与重新测试期前 10 分钟期的平均值进行比较。
10 分钟的回溯期是一个固定值,无法更改。不过,您可以在创建条件时指定重新测试窗口。
后续步骤
- 如需创建将时序的值与动态阈值进行比较的政策,您必须使用 MQL。如需了解详情,请参阅使用 MQL 创建动态严重级别。
此页面上的说明适用于所有提醒政策。以下文档提供了有关特定配置的指导: