

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

# 警报
<a name="alerting"></a>

就您的 IT 基础设施和 IT 服务的安全性、可用性、性能和可靠性而言，提醒是最重要的信息来源之一。它们会通知 IT 团队有关持续存在的安全威胁、服务中断、性能问题或系统故障等情况。

信息技术基础设施库（ITIL），特别是 IT 服务管理（ITSM）实践，可将自动提醒设置为监控和活动管理及事件管理最佳实践的焦点。

事件提醒是指监控工具生成提醒，以通知您的团队和自动化工具（对于可自动操作的项目）有关 IT 环境中的更改、高风险操作或故障。IT 提醒是防止系统中断或更改演变成重大事件的第一道防线。通过自动监控系统并生成中断和风险更改提醒，IT 团队可以最大限度地减少停机时间并降低随之而来的高昂成本。

[作为最佳实践，Well-Architected Framework 规定[您可以使用监控来生成基于警报的通知，并主动进行监控和警](https://docs.aws.amazon.com/wellarchitected/latest/framework/perf_monitor_instances_post_launch_generate_alarms.html)报。 AWS](https://docs.aws.amazon.com/wellarchitected/latest/framework/perf_monitor_instances_post_launch_proactive.html)使用 CloudWatch 或第三方监控服务设置警报，以指示指标何时超出预期界限。

提醒管理的目的是建立高效、标准化的程序，通过日志记录、分类、操作定义和实施、关闭和事后审查活动来处理与 IT 相关的活动和事件。

**Sections**
+ [CloudWatch 警报](cloudwatch-alarms.md)
+ [EventBridge 规则](eventbridge-rules.md)
+ [指定操作、启用和禁用告警](enable-disable-alarms.md)

# CloudWatch 警报
<a name="cloudwatch-alarms"></a>

在操作 Amazon RDS 数据库实例时，您需要监控不同类型的指标、事件和跟踪并生成提醒。对于 MySQL 和 MariaDB 数据库，关键的信息来源是[数据库实例指标](db-instance-monitoring.md)、[操作系统指标](os-monitoring.md)、[事件、日志和审计跟踪记录](events-logs-audit.md)。我们建议您使用[CloudWatch 警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)来监视您指定的时间段内的单个指标。

以下示例说明如何设置告警，监视所有 Amazon RDS 数据库实例的 `CPUUtilization` 指标（CPU 利用率百分比）。您可以将告警配置为：任何数据库实例的 CPU 利用率在 5 分钟的评估期内超过 80% 时触发。

![\[为 CPUUtilization 指标设置警报\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/setting-alarm.png)


这意味着，如果您的任何数据库在 5 分钟或更长时间内出现高 CPU 利用率（超过 80%），告警就会进入 `ALARM` 状态。如果 CPU 在短时间内偶尔爆发增至 80% 以上的利用率，然后再次降至阈值以下，则告警将保持 `OK` 状态。下图说明了此逻辑。

![\[告警状态和阈值\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/thresholds.png)


CloudWatch 警报支持指标和复合警报。
+ *指标警报*监视单个 CloudWatch 指标，并且可以对该指标执行数学表达式。指标告警可以发送 Amazon SNS 消息，而 Amazon SNS 消息可以根据指标值相对于给定阈值在多个时间段内的值，执行一项或多项操作。
+ *复合告警*基于规则表达式，该表达式评估多个告警的状态，并且只有在满足规则的所有条件时才会进入 `ALARM` 状态。复合告警通常用于减少不必要的提醒数量。例如，您可能有一个复合告警，其中包含多个配置为从不执行操作的指标告警。当组合中的所有单个指标告警都已包含在 `ALARM` 中时，复合告警将发送提醒

CloudWatch 警报只能监视 CloudWatch 指标。如果要根据错误、慢速查询或一般日志创建警报，则必须从日志中创建 CloudWatch 指标。如前面的[操作系统监控](os-monitoring.md)和[事件、日志和审计跟踪记录](events-logs-audit.md)部分所述，您可以使用筛选条件[根据日志事件创建指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)，来实现这一点。同样，要对增强监控指标发出警报，必须在 “ CloudWatch 日志” CloudWatch 中创建指标筛选器。

# EventBridge 规则
<a name="eventbridge-rules"></a>

[Amazon RDS 事件](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)将传送到亚马逊 EventBridge，您可以使用[EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)对这些事件做出反应。例如，您可以创建 EventBridge 规则，以便在一个特定的数据库实例停止或启动时通知您并采取行动，如以下屏幕所示。

![\[EventBridge 数据库实例的停止和启动规则\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/eventbridge-rules.png)


检测 `The DB instance has been stopped` 事件的规则具有 Amazon RDS 事件 ID `RDS-EVENT-0087`，因此您可以将该规则的 `Event Pattern` 属性设置为：

```
{
  "source": ["aws.rds"],
  "detail-type": ["RDS DB Instance Event"],
  "detail": {
    "SourceArn": ["arn:aws:rds:eu-west-3:111122223333:db:database-3"],
    "EventID": ["RDS-EVENT-0087"]
  }
}
```

此规则仅监控数据库实例 `database-3`，并监视 `RDS-EVENT-0087` 事件。当 EventBridge 检测到该事件时，它会将事件发送到资源或终端节点（称为[目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)）。在这里，您可以指定在 Amazon RDS 实例关闭时要执行的操作。您可以将事件发送到许多可能的目标，包括 SNS 主题、亚马逊简单队列服务 (Amazon SQS) Simple Queue 队列、 AWS Lambda 函数、 AWS Systems Manager 自动化、作业、Amazon AWS Batch API Gateway 等。例如，您可以创建一个 SNS 主题来发送通知电子邮件和短信，并将该 SNS 主题指定为规则的 EventBridge 目标。如果 Amazon RDS 数据库实例`database-3`已停止，Amazon RDS 会`RDS-EVENT-0087`将事件传送到 EventBridge，然后在那里检测到该事件。 EventBridge 然后调用目标，即 SNS 话题。SNS 主题配置为发送电子邮件（如下图所示）和 SMS。

![\[SNS 主题配置\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/sns-notification.png)


# 指定操作、启用和禁用告警
<a name="enable-disable-alarms"></a>

您可以使用 CloudWatch 警报来指定警报在`OK``ALARM`、和`INSUFFICIENT_DATA`状态之间发生变化时应采取的操作。 CloudWatch 内置了与 SNS 主题和几个不适用于 Amazon RDS 指标的其他操作类别的集成，例如亚马逊弹性计算云 (Amazon EC2) 操作或 Amazon EC2 Auto Scaling 群组操作。 EventBridge 通常用于编写规则和定义在 Amazon RDS 指标触发警报时采取行动的目标。 CloudWatch EventBridge 每当 CloudWatch 警报改变其状态时，都会向发送事件。您可以使用这些警报状态更改事件来触发中的事件目标 EventBridge。有关更多信息，请参阅[警报事件和 EventBridge](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-and-eventbridge.html) CloudWatch 文档。

您可能还需要管理告警；例如，在计划的配置更改或测试期间自动禁用告警，然后在计划的操作结束后重新启用告警。例如，如果您有计划的、预定的数据库软件升级需要停机，并且您的警报将在数据库不可用时激活，则可以使用中的 API 操作和或[DisableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DisableAlarmActions.html)和[EnableAlarmActions[enable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/enable-alarm-actions.html)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_EnableAlarmActions.html)命令来禁用[disable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/disable-alarm-actions.html)和启用警报 AWS CLI。您也可以在 CloudWatch 控制台上查看警报的历史记录，也可以使用 [DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html)API 操作或中的[describe-alarm-history](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/describe-alarm-history.html)命令来查看警报的历史记录 AWS CLI。 CloudWatch 将警报历史记录保存两周。在 CloudWatch 主机上，您可以在导航窗格中选择 “**收藏夹和最近**” 菜单，以设置和访问您最喜欢的警报和最近访问的警报。