指定提醒政策的条件

提醒政策的条件用于定义监控的内容以及何时触发提醒。

例如,假设您要定义一个提醒政策,使系统在 Compute Engine 虚拟机实例的 CPU 使用率超过 80% 且持续 3 分钟时通过电子邮件向您发出通知。您可以使用条件对话框指定要监控的 Compute Engine 虚拟机实例的 CPU 使用率,并指定在使用率超过 80% 且持续 3 分钟时触发提醒。

准备工作

要打开 Conditions 窗格,请执行以下操作:

  1. 转到 Stackdriver > Monitoring > Alerting > Create a Policy

    转到“创建政策”

  2. 点击 Add Condition

标题

Title 字段是必填字段。在条件对话框中填写字段时,系统会自动填充标题字段。您可以将自动填充的内容更改为对您更有意义的内容。

条件类型

条件对话框允许您选择要添加的条件类型。虽然所有条件都包含定义提醒发生时间的配置,但每种类型的条件都具有唯一字段:

  • 指标条件由资源类型和指标定义。
  • 正常运行时间检查条件由资源类型和正常运行时间检查定义。
  • 进程运行状况条件由资源类型和一系列过滤条件定义。

在标签标题中,使用箭头滚动,然后点击要添加的条件类型:

添加或修改条件

目标

选择条件类型后,可以使用 Target 窗格中的字段来定义条件字段的值。例如,如果选择指标条件,则目标窗格将包括资源类型和指标的列表框。

为任何类型的提醒政策选择目标时,您选择的一组时间序列必须处于某个约束范围内。这些时间序列会绘制在条件图表上。如需了解有关时间序列的更多信息,请参阅指标、时间序列和资源

添加指标目标

指标目标由资源类型和指标定义。例如,您可以分别选择 Compute Engine VM InstanceCPU load (15m) 作为资源类型和指标。要添加指标条件,请执行以下操作:

  1. 点击 Metric 标签。

  2. 点击 Find resource type and metric 字段以显示可用资源类型和指标的下拉列表,然后选择要监控的资源类型:

    选择资源类型

  3. 选择资源类型后,列表仅显示该资源类型的指标。系统仅列出可用数据的指标。滚动浏览 Metrics 选项,然后选择您希望政策监控的特定指标:

    选择指标

在您选择资源类型和指标后,此页面将展开以显示图表且提供对提醒条件的精细控制。如需详细了解新选项,请参阅配置目标指标。如需了解详情,请执行以下操作:

添加正常运行时间检查目标

建议从 Monitoring > Uptime checks 页面为正常运行时间检查创建提醒政策。在这种情况下,系统将为您填充提醒政策中的条件字段。如需了解详情,请参阅正常运行时间检查提醒

添加进程运行状况目标

进程运行状况目标由资源类型和一系列过滤条件定义。如果匹配某一特定模式的进程数量在考量时长内持续高于或低于某一阈值,则可以配置此政策以触发事件。要添加进程运行状况条件,请执行以下操作:

  1. 点击 Process health 标签。
  2. Resource Type 字段中,完成以下步骤:

    • 在左侧下拉列表中,选择单个资源、一组资源或所有资源。
    • 在右侧下拉列表中,选择要监控的资源类型。例如,您可以选择 Compute Engine VM Instance。界面提供系统的可用资源类型列表。
  3. 对于 Command LineCommandUser 过滤条件,选择字段以标识要监控的进程。在这些过滤条件中,左侧下拉列表选择字符串匹配运算符,右侧字段指定查询。

    • 字符串匹配运算符有:EqualsContainsStarts withEnds withRegex。操作区分大小写。
    • 查询的语法取决于操作选择。您可以在查询中使用通配符运算符。例如,通配符 * 可以匹配任何进程。

    使用以下规则组合三个过滤条件的结果:

    • 如果未指定任何过滤条件的查询值,则会计算所有进程。

    • 如果为一个过滤条件输入查询,则只计算与过滤条件匹配的进程。

    • 如果输入命令行和命令查询,则会计算与任一过滤条件匹配的进程。请注意,命令行中 1024 个字符以后的内容会被截断,因此命令行中超出上述字符数限制的文本无法参与匹配。

    • 如果输入用户查询,则会计算与用户过滤条件和命令行或命令过滤条件匹配的进程。

示例

例如,要计算项目中所有 Compute Engine 虚拟机实例上 root 所拥有的、名称包含 nginx 的进程数,可以按以下方式配置 Target 区域:

  • Resource type 左侧下拉列表中,选择 All,在右侧下拉列表中,选择 Compute Engine VM Instance
  • Command Line 左侧下拉列表中,选择 Contains,在右侧字段中,输入 nginx
  • Command 右侧字段留空。
  • User 左侧下拉列表中,选择 Equals,在右侧字段中,输入 root

显示 root nginx

上图显示了 1 个进程的提醒阈值和两个实例的数据。一个实例不具有满足过滤条件的进程,而另一个实例具有两个满足过滤条件的进程。

配置

指定目标后,您必须指明违反目标约束的内容。

您可以使用 Configuration 区域来定义提醒政策何时触发。配置区域定义哪些时间序列可以触发提醒,以及这些时间序列何时不符合政策。

例如,要配置提醒政策以在任何时间序列超过 50 且持续 3 分钟时触发提醒,请执行以下操作:

  • Condition triggers if 下拉列表中,选择 Any time series violates
  • Condition 下拉列表中,选择 is above
  • Threshold 字段中,输入 50
  • For 下拉列表中,选择 3 minutes

    配置目标指标

其他选项

除了前面示例中描述的配置选项之外,您还可以指定能够触发提醒的时间序列的不同子集,以及违规的不同条件。

通过 Condition triggers if 下拉列表,您可以选择必定违反条件的目标子集:所有时间序列或时间序列的子集。该选项列表包括以下选项:

  • Any time series violates
  • Percent of time series violates
  • Number of time series violates
  • All time series violate

Condition 下拉列表包括以下选项:

  • Is above
  • Is below
  • Increases by
  • Decreases by
  • Is absent

在前面的示例中,如果单个时间序列违规,则违反约束。对于违规的条件,Condition 字段设置为 is above50,持续时间为三分钟。因此,如果目标集中的任何时间序列超过 50 并且持续三分钟时间,则会触发此提醒政策。

完成定义条件

要完成条件的定义并返回提醒政策对话框,请点击 Save

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Stackdriver Monitoring
需要帮助?请访问我们的支持页面