根据异常检测创建 CloudWatch 告警 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

根据异常检测创建 CloudWatch 告警

您可以根据 CloudWatch 异常检测来创建告警,该异常检测可以分析过去的指标数据并创建预期值模型。预期值会考虑指标中的典型每小时、每日和每周模式。

您需要为异常检测阈值设置一个值,然后 CloudWatch 在模型中使用该阈值来确定指标值的“正常”范围。阈值越高,所产生的“正常”值的范围越大。

您可以选择当指标值高于预期值范围、低于预期值范围,或出现二者情况之一时是否触发告警。

您还可以针对单个指标和指标数学表达式的输出创建异常检测告警。您可以使用这些表达式来创建能可视化异常检测范围的图表。

不支持基于异常检测的跨账户或跨区域告警。

有关更多信息,请参阅 使用 CloudWatch 异常检测

注意

如果您出于可视化目的已在 Metrics(指标)控制台中对某个指标使用了异常检测,并针对该指标创建了异常检测告警,则您为该告警设置的阈值不会更改您为可视化设置的阈值。有关更多信息,请参阅 创建图表

根据异常检测创建告警

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 在导航窗格中,依次选择 Alarms(警报)All alarms(所有警报)

  3. 选择创建警报

  4. 选择 Select Metric(选择指标)

  5. 选择选择指标并执行以下操作之一:

    • 选择包含所需指标的服务命名空间。要缩小选择范围,请继续选择所显示的选项。在显示指标列表时,选中所需的指标旁边的复选框。

    • 在搜索框中,输入指标名称、维度或资源 ID,然后按 Enter。接下来,选择其中的一个结果并继续,直到显示指标列表。选中所需的指标旁边的复选框。

  6. 选择 Graphed metrics(绘制的指标)选项卡。

    1. Statistic(统计数据)下,选择其中的一个统计数据或预定义百分比值,或者指定一个自定义百分比值(例如 p95.45)。

    2. Period(时间段)下,选择告警的评估期。评估告警时,每个时间段都聚合到一个数据点。对于异常检测告警,该值必须是一分钟或更长时间。

      在创建告警时,您还可以选择是在左侧还是右侧显示 Y 轴图例。该首选项仅在创建告警时使用。

    3. 选择选择指标

      将显示 Specify metric and conditions(指定指标和条件)页面,其中显示一个图表以及有关您选择的指标和统计数据的其他信息。

  7. 条件下面,指定以下内容:

    1. 选择 Anomaly detection(异常检测)

      如果针对此指标和统计数据的模型已存在,则 CloudWatch 在屏幕顶部的示例图中显示异常检测范围。如果该模型尚不存在,则模型会在创建完告警后生成。模型生成的实际异常检测范围需要长达 15 分钟才能显示在图表中。在此之前,您看到的范围是异常检测范围的近似值。要在更长的时间范围内查看图表,请选择页面右上方的 Edit(编辑)

    2. 对于 Whenever metric is(每当指标为),指定何时触发告警。例如,每当指标大于、小于或超出范围(在任一方向)。

    3. 对于 Anomaly detection threshold(异常检测阈值),选择用于异常检测阈值的数字。较大的数会创建一个较大的“正常”值范围,这将更能容忍指标的变化;较小的数会创建一个较小的范围,它将以较小的指标偏差进入 ALARM(告警)状态。数字不一定是整数。

    4. 选择其他配置。对于触发警报的数据点数,指定必须有多少个评估期(数据点)处于 ALARM 状态才能触发警报。如果此处的两个值匹配,则会创建一个告警;如果多个连续评估期违例,该告警将变为 ALARM(告警)状态。

      要创建“M(最大为 N)”告警,为第一个值指定的数字应小于为第二个值指定的数字。有关更多信息,请参阅 评估告警

    5. 对于 Missing data treatment(缺失数据处理),选择在缺失某些数据点时的告警行为。有关更多信息,请参阅 配置 CloudWatch 告警处理缺失数据的方式

    6. 如果警报将百分比值作为监控的统计数据,将显示样本数少的百分比框。使用它来选择是评估还是忽略采样率低的案例。如果选择忽略 (保持警报状态),在样本大小太小时,将始终保持当前警报状态。有关更多信息,请参阅 基于百分位数的 CloudWatch 告警和小数据样本

  8. 选择 Next (下一步)

  9. 通知下面,选择一个在警报处于 ALARMOKINSUFFICIENT_DATA 状态时通知的 SNS 主题。

    要为相同告警状态或不同告警状态发送多个通知,请选择 Add notification(添加通知)。

    如果不想告警发送通知,请选择 Remove(移除)。

  10. 您可以将告警设置为在发生状态更改时执行 EC2 操作,或在进入告警状态时创建 Systems Manager OpsItem 或事件。为此,请选择相应的按钮,然后选择告警状态和要执行的操作。

    有关 Systems Manager 操作的更多信息,请参阅将 CloudWatch 配置为通过告警创建 OpsItems 事件创建

    注意

    要创建执行 SSM Incident Manager 操作的告警,您必须具有特定的权限。有关更多信息,请参阅 Amazon Systems Manager Incident Manager 的基于身份的策略示例

  11. 在完成后,选择下一步

  12. 输入警报的名称和说明。名称只能包含 ASCII 字符。然后选择下一步

  13. Preview and create(预览和创建)下,确认信息和条件符合您的要求,然后选择 Create alarm(创建告警)。

修改异常检测模型

创建告警后,可以调整异常检测模型。您可以排除某些时间段,不在创建模型时使用。从训练数据中排除系统中断、部署和假日等异常事件至关重要。您还可以指定是否针对夏令时更改调整模型。

针对告警调整异常检测模型

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 在导航窗格中,依次选择 Alarms(警报)All alarms(所有警报)

  3. 选择警报的名称。如有必要,请使用搜索框查找告警。

  4. 选择 View in metrics(查看指标)

  5. 在屏幕的下部分中,选择 Edit model(编辑模型)

  6. 要排除用于生成模型的时间段,请选择 Add another time range to exclude from training(添加要从训练中排除的另一个时间范围)。然后,选择或输入要从训练中排除的天数和时间,并选择 Apply(应用)。

  7. 如果指标需要区分夏令时更改,请在 Metric timezone(指标时区)框中选择相应的时区。

  8. 选择 Update(更新)

删除异常检测模型

对告警使用异常检测会产生 Amazon 费用。如果您不再需要某个告警的异常检测模型,则应依次删除告警和模型。如果您删除模型而不删除告警,则告警会自动重新创建模型。

删除警报

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 在导航窗格中,依次选择 Alarms(告警)和 All alarms(所有告警)。

  3. 选择警报的名称。

  4. 依次选择 Actions(操作)Delete(删除)

删除曾用于告警的异常检测模型

  1. 访问 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Metrics(指标)

  3. All metrics(所有指标)选项卡上的搜索字段中,输入搜索词(例如,指标名称或资源名称),然后按 Enter。

    例如,如果您搜索 CPUUtilization 指标,则将显示具有该指标的命名空间和维度。

  4. 在结果中,选择具有异常检测模型的指标。

  5. 选择 Graphed metrics(绘制的指标)选项卡。

  6. 在屏幕的下部分中,依次选择 Edit model(编辑模型)和 Delete model(删除模型)。