教程:使用指标数学函数抑制警报 - AWS 事件检测和响应用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

教程:使用指标数学函数抑制警报

以下教程将向您介绍如何使用公制数学来抑制 CloudWatch 警报。

示例方案

计划在即将到来的星期二世界标准时间凌晨 1:00 到 3:00 之间进行活动。您想要创建一个 CloudWatch 公制数学函数,该函数将这段时间内的实际数据点替换为 0(低于设定阈值的数据点)。

  1. 评估导致警报触发的标准。以下屏幕截图提供了警报条件的示例:

    CloudWatch 屏幕显示警报的详细信息。

    前面的屏幕截图中显示的警报监控 Appl UnHealthyHostCount ication Load Balancer 目标组的指标。当 5 个数据点中有 5 个的UnHealthyHostCount指标大于或等于 3 时,此警报进入ALARM状态。警报将丢失的数据视为不良数据(超过配置的阈值)。

  2. 创建指标数学函数。

    在此示例中,计划的活动发生在即将到来的星期二世界标准时间凌晨 1:00 到 3:00 之间。因此,创建一个 CloudWatch 公制数学函数,将这段时间内的实际数据点替换为 0(低于设定阈值的数据点)。

    请注意,您必须配置的替换数据点因警报配置而异。例如,如果您有一个用于监控 HTTP 成功率的警报,其阈值小于 98,则将计划活动期间的真实数据点替换为高于配置阈值 100 的值。以下是该场景的指标数学函数示例。

    IF((DAY(m1) == 2 && HOUR(m1) >= 1 && HOUR(m1) < 3), 0, m1)

    前面的公制数学函数包含以下元素:

    • 日 (m1) == 2:确保现在是星期二(星期一 = 1,星期日 = 7)。

    • 小时 (m1) >= 1 && HOUR (m1) < 3:指定从世界标准时间上午 1 点到凌晨 3 点的时间范围。

    • I@@ F(条件,value_if_true,value_if_false):如果条件为真,则函数将指标值替换为 0。否则,将返回原始值 (m1)。

    有关语法和可用函数的更多信息,请参阅 Amazon CloudWatch 用户指南中的指标数学语法和函数

  3. 登录 AWS Management Console 并打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

  4. 选择 Alarms,然后找到要向其添加指标数学函数的警

  5. 在量度数学部分中,选择编辑

  6. 选择添加数学从空表达式开始

  7. 输入您的数学表达式,然后选择 “应用”。

    警报监控的现有指标自动变为 m1,您的数学表达式为 e1,如以下示例所示:

    CloudWatch 屏幕显示公制数学表达式。
  8. (可选)编辑指标数学表达式的标签,以帮助其他人了解其功能及其创建原因,如以下示例所示:

    CloudWatch 屏幕显示了指标匹配表达式标签的编辑情况。
  9. 取消选择 m1,选择 e1,然后选择选择指标。这会将警报设置为监控数学表达式,而不是直接监控基础指标。

  10. 选择 “跳至预览并创建”

  11. 验证警报是否按预期配置,然后选择更新警报以保存更改

在前面的示例中,如果不应用度量数学函数,则实际UnHealthyHostCount指标将在计划活动期间报告。这将导致 CloudWatch 警报进入ALARM状态并启动 “事件检测和响应”,如以下示例所示:

CloudWatch 屏幕显示了通往警报状态的数据点。

使用指标数学函数后,在活动期间将实际数据点替换为 0,警报保持OK状态,从而抑制事件检测和响应参与。

CloudWatch 屏幕显示没有警报状态的数据点。