

# AWS 服务的最佳实践警报建议
<a name="Best-Practice-Alarms"></a>

CloudWatch 提供开箱即用的警报建议。我们建议您为其他 AWS 服务发布的指标创建此类 CloudWatch 警报。这些建议可以帮助您确定应为哪些指标设置警报，以遵循监控最佳实践。这些建议还建议了要设置的警报阈值。遵循这些建议可以帮助您避免错过对 AWS 基础设施的重要监控。

要查找警报建议，您可以使用 CloudWatch 控制台的“指标”部分，然后选择“警报建议”筛选开关。如果您在控制台中导航到“建议警报”，然后创建建议警报，CloudWatch 可以预先填充一些警报设置。对于某些建议警报，系统也会预先填充警报阈值。您还可以使用控制台下载建议警报的基础设施即代码警报定义，然后使用此代码在 AWS CloudFormation、AWS CLI 或 Terraform 中创建警报。

您还可以在 [建议的警报](Best_Practice_Recommended_Alarms_AWS_Services.md) 中查看推荐的警报列表。

您需要为自己创建的警报付费，费率与您在 CloudWatch 中创建的任何其他警报的费率相同。使用这些建议不会产生额外费用。有关更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)。

## 查找并创建建议警报
<a name="Best-Practice-Alarms-create"></a>

按照以下步骤查找 CloudWatch 建议您为其设置警报的指标，并可以选择创建其中一种警报。第一个过程说明了如何查找包含建议警报的指标，以及如何创建其中一种警报。

您还可以批量下载 AWS 命名空间中所有建议警报的基础设施即代码警报定义，例如 `AWS/Lambda` 或 `AWS/S3`。本主题的后续部分中包含了这些说明。

**查找包含建议警报的指标，并创建单个建议警报**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，依次选择 **Metrics**（指标）、**All metrics**（所有指标）。

1. 在**指标**表上方，选择**警报建议**。

   指标命名空间列表经过筛选，仅包含具有警报建议且您账户中的服务将发布的指标。

1. 为服务选择命名空间。

   此命名空间下的指标列表经过筛选，仅包括具有警报建议的指标。

1. 要查看指标的警报意图和建议阈值，请选择**查看详细信息**。

1. 要为其中一个指标创建警报，请执行以下操作之一：
   + 要使用控制台创建警报，请执行以下操作：

     1. 选中指标的复选框，然后选择**图形化指标**选项卡。

     1. 选择警报图标。  
![\[从指标的图表创建警报\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/metric_graph_alarm.png)

        随即出现警报创建向导，其中根据警报建议填入了指标名称、统计数据和时间段。如果建议包含特定阈值，则该值也会预先填充。

     1. 选择**下一步**。

     1. 在**通知**下面，选择当警报转换为 `ALARM`、`OK` 或 `INSUFFICIENT_DATA` 状态时要通知的 SNS 主题。

        要使告警为相同告警状态或不同告警状态发送多个通知，请选择**添加通知**。

        要让警报不发送通知，请选择**删除**。

     1. 要让警报执行 Auto Scaling 或 EC2 操作，请选择相应的按钮，然后选择警报状态和要执行的操作。

     1. 在完成后，选择**下一步**。

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

     1. 在 **Preview and create** 下面，确认具有所需的信息和条件，然后选择 **Create alarm**。
   + 要下载基础设施即代码警报定义以在 AWS CloudFormation、AWS CLI 或 Terraform 中使用，请选择**下载警报代码**并选择所需格式。下载的代码将包含指标名称、统计数据和阈值的建议设置。

**下载针对 AWS 服务的所有建议警报的基础设施即代码警报定义**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，依次选择 **Metrics**（指标）、**All metrics**（所有指标）。

1. 在**指标**表上方，选择**警报建议**。

   指标命名空间列表经过筛选，仅包含具有警报建议且您账户中的服务将发布的指标。

1. 为服务选择命名空间。

   此命名空间下的指标列表经过筛选，仅包括具有警报建议的指标。

1. **下载警报代码**会显示建议为该命名空间中的指标设置多少个警报。要下载所有建议警报的基础设施即代码警报定义，请选择**下载警报代码**，然后选择所需代码格式。

# 建议的警报
<a name="Best_Practice_Recommended_Alarms_AWS_Services"></a>

以下各节列出了我们建议您为其设置最佳实践警报的指标。对于每个指标，还会显示维度、警报意图、建议阈值、阈值理由、时间段长度和数据点数量。

某些指标可能会在列表中显示两次。当建议针对该指标的不同维度组合设置不同的警报时，就会发生这种情况。

**要发出警报的数据点数**是必须违例才能触发警报变为“ALARM”状态的数据点数量。**评估期**是评估警报时考虑的时期数量。如果这些数字相同，则只有在该连续时间段的数量超过阈值时，警报才会进入“ALARM”状态。如果**要发出警报的数据点数**低于**评估期**，则属于“M（最大为 N）”警报，并且警报将进入“ALARM”状态，前提是数据点的任何**评估期**集合内至少有**要发出警报的数据点数**个数据点违例。有关更多信息，请参阅 [告警评估](alarm-evaluation.md)。

**Topics**
+ [Amazon API Gateway](#ApiGateway)
+ [Amazon EC2 Auto Scaling](#AutoScaling)
+ [AWS Certificate Manager (ACM)](#CertificateManager)
+ [Amazon CloudFront](#CloudFront)
+ [Amazon Cognito](#Cognito)
+ [Amazon DynamoDB](#DynamoDB)
+ [Amazon EBS](#Recommended_EBS)
+ [Amazon EC2](#EC2)
+ [Amazon ElastiCache](#ElastiCache)
+ [Amazon ECS](#ECS)
+ [具有 Container Insights 的 Amazon ECS](#ECS-ContainerInsights)
+ [使用增强了可观测性的 Container Insights 的 Amazon ECS](#ECS-ContainerInsights_enhanced)
+ [Amazon EFS](#EFS)
+ [具有 Container Insights 的 Amazon EKS](#EKS-ContainerInsights)
+ [Amazon EventBridge 调度器](#Eventbridge-Scheduler)
+ [Amazon Kinesis Data Streams](#Kinesis)
+ [Lambda](#Lambda)
+ [Lambda Insights](#LambdaInsights)
+ [Amazon VPC (`AWS/NATGateway`)](#NATGateway)
+ [AWS 私有链接 (`AWS/PrivateLinkEndpoints`)](#PrivateLinkEndpoints)
+ [AWS 私有链接 (`AWS/PrivateLinkServices`)](#PrivateLinkServices)
+ [`Amazon RDS`](#RDS)
+ [`Amazon Route 53 Public Data Plane`](#Route53)
+ [`Amazon S3`](#S3)
+ [`S3ObjectLambda`](#S3ObjectLambda)
+ [Amazon SNS](#SNS)
+ [Amazon SQS](#SQS)
+ [Site-to-Site VPN](#VPN)

## Amazon API Gateway
<a name="ApiGateway"></a>

**4XXError**  
**维度：**ApiName、Stage  
**警报描述：**此警报会检测高客户端错误率。这可能表明授权或客户端请求参数存在问题。这也可能意味着资源已被删除，或者客户端正在请求一个不存在的资源。请考虑启用 CloudWatch Logs 并检查是否存在任何可能导致 4XX 错误的错误。此外，可以考虑启用详细的 CloudWatch 指标，以便按资源和方法查看此指标，并缩小错误来源的范围。超出配置的节流限制也可能导致错误。如果响应和日志报告的 429 错误率很高且出人意料，请按照[本指南](https://repost.aws/knowledge-center/api-gateway-429-limit)排查此问题。  
**意图：**此警报可以检测 API Gateway 请求的高客户端错误率。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**建议阈值会检测何时总请求数中超过 5% 的请求会收到 4XX 错误。但是，您可以调整阈值以适应请求的流量以及可接受的错误率。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。需要对经常发生的 4XX 错误发出警报。但是，将阈值设置得非常低可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**5XXError**  
**维度：**ApiName、Stage  
**警报描述：**此警报有助于检测高客户端错误率。这可能表明 API 后端、网络或 API 网关与后端 API 之间的集成存在问题。本[文档](https://repost.aws/knowledge-center/api-gateway-5xx-error)可以帮助您排查 5xx 错误的原因。  
**意图：**此警报可以检测 API Gateway 请求的高服务器端错误率。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**建议阈值会检测何时总请求数中超过 5% 的请求会收到 5XX 错误。但是，您可以调整阈值以适应请求流量和可接受的错误率。您也可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。需要对经常发生的 5XX 错误发出警报。但是，将阈值设置得非常低可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**计数**  
**维度：**ApiName、Stage  
**警报描述：**此警报有助于检测 REST API 阶段的低流量。这可能表示应用程序在调用 API 时存在问题，例如使用了错误的端点。这也可能表明 API 的配置或权限存在问题，导致客户端无法访问它。  
**意图：**此警报可检测 REST API 阶段的意外低流量。如果您的 API 在正常条件下收到数量可预测且一致的请求，我们建议您创建此告警。如果您已启用详细的 CloudWatch 指标，并且可以预测每个方法和资源的正常流量，我们建议您创建备用警报，以便对每种资源和方法的流量下降进行更精细的监控。对于预计流量不稳定的 API，不建议使用此告警。  
**统计数据：**SampleCount  
**建议阈值：**取决于您的情况  
**阈值理由：**根据历史数据分析设置阈值，以确定您的 API 的预期基准请求计数是多少。将阈值设置为非常高的值，可能会导致警报在正常流量和预期较低流量的时间段过于敏感。相反，将其设置为非常低的值可能会导致警报错过流量异常小的下降。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**计数**  
**维度：**ApiName、Stage、Resource、Method  
**警报描述：**此警报有助于检测阶段中 REST API 资源和方法的低流量。这可能表示应用程序在调用 API 时存在问题，例如使用了错误的端点。这也可能表明 API 的配置或权限存在问题，导致客户端无法访问它。  
**意图：**此警报可检测阶段中 REST API 资源和方法的意外低流量。如果您的 API 在正常条件下收到数量可预测且一致的请求，我们建议您创建此告警。对于预计流量不稳定的 API，不建议使用此告警。  
**统计数据：**SampleCount  
**建议阈值：**取决于您的情况  
**阈值理由：**根据历史数据分析设置阈值，以确定您的 API 的预期基准请求计数是多少。将阈值设置为非常高的值，可能会导致警报在正常流量和预期较低流量的时间段过于敏感。相反，将其设置为非常低的值可能会导致警报错过流量异常小的下降。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**计数**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报有助于检测 HTTP API 阶段的低流量。这可能表示应用程序在调用 API 时存在问题，例如使用了错误的端点。这也可能表明 API 的配置或权限存在问题，导致客户端无法访问它。  
**意图：**此警报可检测 HTTP API 阶段的意外低流量。如果您的 API 在正常条件下收到数量可预测且一致的请求，我们建议您创建此告警。如果您已启用详细的 CloudWatch 指标，并且可以预测每个路由的正常流量，我们建议您为此创建备用警报，以便对每个路由的流量下降进行更精细的监控。对于预计流量不稳定的 API，不建议使用此告警。  
**统计数据：**SampleCount  
**建议阈值：**取决于您的情况  
**阈值理由：**根据历史数据分析设置阈值，以确定您的 API 的预期基准请求计数是多少。将阈值设置为非常高的值，可能会导致警报在正常流量和预期较低流量的时间段过于敏感。相反，将其设置为非常低的值可能会导致警报错过流量异常小的下降。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**计数**  
**维度：**ApiId、Stage、Resource、Method  
**警报描述：**此警报有助于检测阶段中 HTTP API 路由的低流量。这可能表示应用程序在调用 API 时存在问题，例如使用了错误的端点。这也可能表明 API 的配置或权限存在问题，导致客户端无法访问它。  
**意图：**此警报可检测阶段中 HTTP API 路由的意外低流量。如果您的 API 在正常条件下收到数量可预测且一致的请求，我们建议您创建此告警。对于预计流量不稳定的 API，不建议使用此告警。  
**统计数据：**SampleCount  
**建议阈值：**取决于您的情况  
**阈值理由：**根据历史数据分析设置阈值，以确定您的 API 的预期基准请求计数是多少。将阈值设置为非常高的值，可能会导致警报在正常流量和预期较低流量的时间段过于敏感。相反，将其设置为非常低的值可能会导致警报错过流量异常小的下降。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**IntegrationLatency**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报有助于检测阶段中 API 请求是否存在高集成延迟。您可以将 `IntegrationLatency` 指标值与后端的相应延迟指标（例如 Lambda 集成的 `Duration` 指标）相关联。这有助于您确定 API 后端是否由于性能问题而花费更多时间来处理来自客户端的请求，或者初始化或冷启动是否存在其他开销。此外，请考虑为您的 API 启用 CloudWatch Logs，并检查日志中是否存在任何可能导致高延迟问题的错误。此外，可以考虑启用详细的 CloudWatch 指标来查看每个路由的此指标，从而帮助您缩小集成延迟来源的范围。  
**意图：**此警报可以检测阶段中的 API Gateway 请求何时具有高集成延迟。我们建议针对 WebSocket API 设置此警报，并且认为它对于 HTTP API 来说是可选的，因为后者已经具有针对延迟指标的单独警报建议。如果您已启用详细的 CloudWatch 指标，并且每个路由的集成延迟性能要求不同，我们建议您创建备用警报，以便对每个路由的集成延迟进行更精细的监控。  
**统计数据：**p90  
**建议阈值：**2000.0  
**阈值理由：**建议阈值并不适用于所有 API 工作负载。但是，您可以将其用作阈值的起点。然后，您可以根据工作负载以及 API 的可接受延迟、性能和 SLA 要求选择不同的阈值。如果 API 通常可以接受较高的延迟，则可以设置更高的阈值以降低警报的敏感度。但是，如果预计 API 能够提供近乎实时的响应，请设置较低的阈值。您还可以分析历史数据以确定应用程序工作负载的预期基准延迟，然后用其相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**IntegrationLatency**  
**维度：**Apild、Stage、Route  
**警报描述：**此警报有助于检测阶段中路由的 WebSocket API 请求是否存在高集成延迟。您可以将 `IntegrationLatency` 指标值与后端的相应延迟指标（例如 Lambda 集成的 `Duration` 指标）相关联。这有助于您确定 API 后端是否由于性能问题而花费更多时间来处理来自客户端的请求，或者初始化或冷启动是否存在其他开销。此外，请考虑为您的 API 启用 CloudWatch Logs，并检查日志中是否存在任何可能导致高延迟问题的错误。  
**意图：**此警报可以检测阶段中路由的 API Gateway 请求何时具有高集成延迟。  
**统计数据：**p90  
**建议阈值：**2000.0  
**阈值理由：**建议阈值并不适用于所有 API 工作负载。但是，您可以将其用作阈值的起点。然后，您可以根据工作负载以及 API 的可接受延迟、性能和 SLA 要求选择不同的阈值。如果 API 通常可以接受较高的延迟，则可以设置更高的阈值以降低告警的敏感度。但是，如果预计 API 能够提供近乎实时的响应，请设置较低的阈值。您还可以分析历史数据以确定应用程序工作负载的预期基准延迟，然后用其相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**延迟**  
**维度：**ApiName、Stage  
**警报描述：**此警报会检测阶段中的高延迟。确定 `IntegrationLatency` 指标值以检查 API 后端延迟。如果这两个指标基本一致，则 API 后端是导致延迟更高的来源，您应该调查其中是否存在问题。另外，请考虑启用 CloudWatch Logs 并检查是否存在可能导致高延迟的错误。此外，可以考虑启用详细的 CloudWatch 指标，以便按资源和方法查看此指标，并缩小延迟来源的范围。如果适用，请参阅[如何排查与 Lambda 集成的 API Gateway 请求中的高延迟问题？](https://repost.aws/knowledge-center/api-gateway-high-latency-with-lambda)或[如何在 API Gateway 中解决边缘优化的 API 端点中的延迟问题？](https://repost.aws/knowledge-center/source-latency-requests-api-gateway)指南。  
**意图：**此警报可以检测阶段中的 API Gateway 请求何时具有高延迟。如果您已启用详细的 CloudWatch 指标，并且每个方法和资源的延迟性能要求不同，我们建议您创建备用警报，以便对每个资源和方法的延迟进行更精细的监控。  
**统计数据：**p90  
**建议阈值：**2500.0  
**阈值理由：**建议阈值并不适用于所有 API 工作负载。但是，您可以将其用作阈值的起点。然后，您可以根据工作负载以及 API 的可接受延迟、性能和 SLA 要求选择不同的阈值。如果 API 通常可以接受较高的延迟，则可以设置更高的阈值以降低告警的敏感度。但是，如果预计 API 能够提供近乎实时的响应，请设置较低的阈值。您还可以分析历史数据以确定应用程序工作负载的预期基准延迟，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**延迟**  
**维度：**ApiName、Stage、Resource、Method  
**警报描述：**此警报会检测阶段中资源和方法的高延迟。确定 `IntegrationLatency` 指标值以检查 API 后端延迟。如果这两个指标基本一致，则 API 后端是导致延迟更高的来源，您应该调查其中是否存在性能问题。另外，请考虑启用 CloudWatch Logs 并检查是否存在任何可能导致高延迟的错误。如果适用，您也可以参阅[如何排查与 Lambda 集成的 API Gateway 请求中的高延迟问题？](https://repost.aws/knowledge-center/api-gateway-high-latency-with-lambda)或[如何在 API Gateway 中解决边缘优化的 API 端点中的延迟问题？](https://repost.aws/knowledge-center/source-latency-requests-api-gateway)指南。  
**意图：**此警报可以检测阶段中资源和方法的 API Gateway 请求何时具有高延迟。  
**统计数据：**p90  
**建议阈值：**2500.0  
**阈值理由：**建议阈值并不适用于所有 API 工作负载。但是，您可以将其用作阈值的起点。然后，您可以根据工作负载以及 API 的可接受延迟、性能和 SLA 要求选择不同的阈值。如果 API 通常可以接受较高的延迟，则可以设置更高的阈值以降低告警的敏感度。但是，如果预计 API 能够提供近乎实时的响应，请设置较低的阈值。您还可以分析历史数据以确定应用程序工作负载的预期基准延迟，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**延迟**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报会检测阶段中的高延迟。确定 `IntegrationLatency` 指标值以检查 API 后端延迟。如果这两个指标基本一致，则 API 后端是导致延迟更高的来源，您应该调查其中是否存在性能问题。另外，请考虑启用 CloudWatch Logs 并检查是否存在任何可能导致高延迟的错误。此外，可以考虑启用详细的 CloudWatch 指标，以便按路由查看此指标，并缩小延迟来源的范围。如果适用，您也可以参阅[如何排查与 Lambda 集成的 API Gateway 请求中的高延迟问题？](https://repost.aws/knowledge-center/api-gateway-high-latency-with-lambda)指南。  
**意图：**此警报可以检测阶段中的 API Gateway 请求何时具有高延迟。如果您已启用详细的 CloudWatch 指标，并且每个路由的延迟性能要求不同，我们建议您创建备用警报，以便对每个路由的延迟进行更精细的监控。  
**统计数据：**p90  
**建议阈值：**2500.0  
**阈值理由：**建议阈值并不适用于所有 API 工作负载。但是，您可以将其用作阈值的起点。然后，您可以根据工作负载以及 API 的可接受延迟、性能和 SLA 要求选择不同的阈值。如果 API 通常可以接受较高的延迟，则可以设置更高的阈值以降低其敏感度。但是，如果 API 预期会提供近乎实时的响应，请设置较低的阈值。您还可以分析历史数据以确定应用程序工作负载的预期基准延迟，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**延迟**  
**维度：**ApiId、Stage、Resource、Method  
**警报描述：**此警报会检测阶段中路由的高延迟。确定 `IntegrationLatency` 指标值以检查 API 后端延迟。如果这两个指标基本一致，则 API 后端是导致延迟更高的来源，您应该调查其中是否存在性能问题。另外，请考虑启用 CloudWatch Logs 并检查是否存在任何可能导致高延迟的错误。如果适用，您也可以参阅[如何排查与 Lambda 集成的 API Gateway 请求中的高延迟问题？](https://repost.aws/knowledge-center/api-gateway-high-latency-with-lambda)指南。  
**意图：**此警报用于检测阶段中路由的 API Gateway 请求何时具有高延迟。  
**统计数据：**p90  
**建议阈值：**2500.0  
**阈值理由：**建议阈值并不适用于所有 API 工作负载。但是，您可以将其用作阈值的起点。然后，您可以根据工作负载以及 API 的可接受延迟、性能和 SLA 要求选择不同的阈值。如果 API 通常可以接受较高的延迟，则可以设置更高的阈值以降低告警的敏感度。但是，如果预计 API 能够提供近乎实时的响应，请设置较低的阈值。您还可以分析历史数据以确定应用程序工作负载的预期基准延迟，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**4xx**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报会检测高客户端错误率。这可能表明授权或客户端请求参数存在问题。这也可能意味着路由已被删除，或者客户端正在请求一个 API 中不存在的资源。请考虑启用 CloudWatch Logs 并检查是否存在任何可能导致 4xx 错误的错误。此外，可以考虑启用详细的 CloudWatch 指标，以便按路由查看此指标，帮助您缩小错误来源的范围。超出配置的节流限制也可能导致错误。如果响应和日志报告的 429 错误率很高且出人意料，请按照[本指南](https://repost.aws/knowledge-center/api-gateway-429-limit)排查此问题。  
**意图：**此警报可以检测 API Gateway 请求的高客户端错误率。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**建议阈值会检测何时总请求数中超过 5% 的请求会收到 4xx 错误。但是，您可以调整阈值以适应请求的流量以及可接受的错误率。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。需要对经常发生的 4xx 错误发出警报。但是，将阈值设置得非常低可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**5xx**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报有助于检测高客户端错误率。这可能表明 API 后端、网络或 API 网关与后端 API 之间的集成存在问题。本[文档](https://repost.aws/knowledge-center/api-gateway-5xx-error)可以帮助您排查 5xx 错误的原因。  
**意图：**此警报可以检测 API Gateway 请求的高服务器端错误率。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**建议阈值会检测何时总请求数中超过 5% 的请求会收到 5xx 错误。但是，您可以调整阈值以适应请求的流量以及可接受的错误率。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。需要对经常发生的 5xx 错误发出警报。但是，将阈值设置得非常低可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**MessageCount**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报有助于检测 WebSocket API 阶段的低流量。这可能表示客户端调用 API 时存在问题（例如使用不正确的端点），或者后端向客户端发送消息时存在问题。这也可能表明 API 的配置或权限存在问题，导致客户端无法访问它。  
**意图：**此警报可检测 WebSocket API 阶段的意外低流量。如果您的 API 在正常条件下收到并发送数量可预测且一致的消息，我们建议您创建此警报。如果您已启用详细的 CloudWatch 指标，并且可以预测每个路由的正常流量，最好为此创建备用警报，以便对每个路由的流量下降进行更精细的监控。对于预计流量不稳定的 API，不建议使用此警报。  
**统计数据：**SampleCount  
**建议阈值：**取决于您的情况  
**阈值理由：**根据历史数据分析设置阈值，以确定您的 API 的预期基准消息计数是多少。将阈值设置为非常高的值，可能会导致警报在正常流量和预期较低流量的时间段过于敏感。相反，将其设置为非常低的值可能会导致警报错过流量异常小的下降。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**MessageCount**  
**维度：**Apild、Stage、Route  
**警报描述：**此警报有助于检测阶段中 WebSocket API 路由的低流量。这可能表示客户端调用 API 时存在问题（例如使用不正确的端点），或者后端向客户端发送消息时存在问题。这也可能表明 API 的配置或权限存在问题，导致客户端无法访问它。  
**意图：**此警报可检测阶段中 WebSocket API 路由的意外低流量。如果您的 API 在正常条件下收到并发送数量可预测且一致的消息，我们建议您创建此警报。对于预计流量不稳定的 API，不建议使用此警报。  
**统计数据：**SampleCount  
**建议阈值：**取决于您的情况  
**阈值理由：**根据历史数据分析设置阈值，以确定您的 API 的预期基准消息计数是多少。将阈值设置为非常高的值，可能会导致警报在正常流量和预期较低流量的时间段过于敏感。相反，将其设置为非常低的值可能会导致警报错过流量异常小的下降。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**ClientError**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报会检测高客户端错误率。这可能表示授权或消息参数存在问题。这也可能意味着路由已被删除，或者客户端正在请求一个 API 中不存在的资源。请考虑启用 CloudWatch Logs 并检查是否存在任何可能导致 4xx 错误的错误。此外，可以考虑启用详细的 CloudWatch 指标，以便按路由查看此指标，帮助您缩小错误来源的范围。超出配置的节流限制也可能导致错误。如果响应和日志报告的 429 错误率很高且出人意料，请按照[本指南](https://repost.aws/knowledge-center/api-gateway-429-limit)排查此问题。  
**意图：**此警报可以检测 WebSocket API Gateway 消息的高客户端错误率。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**建议阈值会检测何时总请求数中超过 5% 的请求会收到 4xx 错误。您可以调整阈值以适应请求的流量以及可接受的错误率。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。需要对经常发生的 4xx 错误发出警报。但是，将阈值设置得非常低可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ExecutionError**  
**尺寸：**ApilD、Stage  
**警报描述：**此警报有助于检测高执行错误率。这可能是由于您的集成出现 5xx 错误、权限问题或其他阻碍成功调用集成的因素（例如集成受限制或遭删除）所致。请考虑为您的 API 启用 CloudWatch Logs，并检查日志以了解错误的类型和原因。此外，可以考虑启用详细的 CloudWatch 指标，以便按路由查看此指标，帮助您缩小错误来源的范围。本[文档](https://repost.aws/knowledge-center/api-gateway-websocket-error)可以帮助您排查任何连接错误的原因。  
**意图：**此警报可以检测 WebSocket API Gateway 消息的高执行错误率。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**建议阈值会检测何时总请求数中超过 5% 的请求会收到执行错误。您可以调整阈值以适应请求的流量以及可接受的错误率。您可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。需要对经常发生的执行错误发出警报。但是，将阈值设置得非常低可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon EC2 Auto Scaling
<a name="AutoScaling"></a>

**GroupInServiceCapacity**  
**维度：**AutoScalingGroupName  
**警报描述：**此警报有助于检测组中的容量何时低于工作负载所需的容量。要排查问题，请检查您的扩展活动是否存在启动失败，并确认所需的容量配置是否正确。  
**意图：**此警报可以检测由于启动失败或暂停而导致的自动扩缩组中的低可用性。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**阈值应为运行工作负载所需的最低容量。在大多数情况下，您可以将其设置为与 GroupDesiredCapicity 指标相匹配。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

## AWS Certificate Manager (ACM)
<a name="CertificateManager"></a>

**DaysToExpiry**  
**维度：**CerticateArn  
**警报描述：**此警报有助于您检测由 ACM 管理或导入 ACM 的证书何时即将到期。它有助于防止证书意外到期从而导致服务中断的情况。当警报进入 ALARM 状态时，应立即采取措施续订或重新导入证书。对于 ACM 管理的证书，请参阅[证书续订流程](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-renewal.html)中的说明。对于导入 ACM 的证书，请参阅[重新导入流程](https://docs.aws.amazon.com/acm/latest/userguide/import-reimport.html)中的说明。  
**用途：**此警报可以主动提醒您哪些证书即将到期。它提供了足够提前的通知，以便进行人工干预，您能够在证书到期之前续订或更换证书。这有助于您维护启用了 TLS 的服务的安全性和可用性。它进入 ALARM 状态后，请立即调查证书状态并在必要时启动续订流程。  
**统计数据：**Minimum  
**建议阈值：**44.0  
**阈值理由：**44 天的阈值在过早预警和避免误报之间取得了平衡。如果自动续订失败，它留出了足够时间进行人工干预。根据证书续订流程和操作响应时间调整此值。  
**时间段：**86400  
**要发出警报的数据点数**：1  
**评估期：**1  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

## Amazon CloudFront
<a name="CloudFront"></a>

**5xxErrorRate**  
**维度：**DistributionId、Region=Global  
**警报描述：**此警报会监控来自您的原始服务器的 5xx 错误响应百分比，帮助您检测 CloudFront 服务是否存在问题。有关帮助您了解服务器问题的信息，请参阅[对来自源的错误响应进行故障排除](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/troubleshooting-response-errors.html)。此外，[开启其他指标](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional)可获取详细的错误指标。  
**意图：**此警报用于检测处理来自原始服务器的请求时出现的问题，或者 CloudFront 与原始服务器之间的通信问题。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于对 5xx 响应的容忍度。您可以分析历史数据和趋势，然后相应地设置阈值。由于 5xx 错误可能由暂时性问题引起，我们建议您将阈值设置为大于 0 的值，这样警报就不会过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**OriginLatency**  
**维度：**DistributionId、Region=Global  
**警报描述：**此警报有助于监控原始服务器的响应时间是否过长。如果服务器响应时间过长，则可能会导致超时。如果您持续遇到高 `OriginLatency` 值的问题，请参阅[查找并修复原始服务器上来自应用程序的延迟响应](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/http-504-gateway-timeout.html#http-504-gateway-timeout-slow-application)。  
**意图：**此警报用于检测原始服务器响应时间过长的问题。  
**统计数据：**p90  
**建议阈值：**取决于您的情况  
**阈值理由：**您应计算原始响应超时大约 80% 的值，并将结果用作阈值。如果此指标持续接近源响应超时值，则您可能会开始遇到 504 错误。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**FunctionValidationErrors**  
**维度：**DistributionId、FunctionName、Region=Global  
**警报描述：**此警报可帮助您监控 CloudFront Functions 中的验证错误，以便您可以采取措施解决它们。分析 CloudWatch 函数日志并查看函数代码，找出问题的根本原因并予以解决。要了解 CloudFront Functions 的常见配置错误，请参阅[边缘函数的限制](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/edge-functions-restrictions.html)。  
**意图：**此警报用于检测 CloudFront Functions 中的验证错误。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**值大于 0 表示验证错误。我们建议将阈值设置为 0，因为验证错误意味着 CloudFront Functions 交回给 CloudFront 时出现问题。例如，CloudFront 需要 HTTP 主机标头才能处理请求。没有什么可以阻止用户删除其 CloudFront Functions 代码中的主机标头。但是，当 CloudFront 返回响应并且主机标头丢失时，CloudFront 会引发验证错误。  
**时间段：**60  
**要发出警报的数据点数**：2  
**评估期：**2  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**FunctionExecutionErrors**  
**维度：**DistributionId、FunctionName、Region=Global  
**警报描述：**此警报可帮助您监控 CloudFront Functions 中的执行错误，以便您可以采取措施解决它们。分析 CloudWatch 函数日志并查看函数代码，找出问题的根本原因并予以解决。  
**意图：**此警报用于检测 CloudFront Functions 中的执行错误。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**我们建议将阈值设置为 0，因为执行错误表示运行时系统代码有问题。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**FunctionThrottles**  
**维度：**DistributionId、FunctionName、Region=Global  
**警报描述：**此警报可帮助您监控您的 CloudFront 函数是否受到限制。如果您的函数受到限制，则意味着其执行时间太长。为避免函数限制，请考虑优化函数代码。  
**意图：**此警报可以检测您的 CloudFront 函数何时会受到限制，以便您可以作出反应并解决问题，从而提供流畅的客户体验。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**我们建议将阈值设置为 0，以便更快地解决函数限制。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon Cognito
<a name="Cognito"></a>

**SignUpThrottles**  
**维度：**UserPool、UserPoolClient  
**警报描述：**此警报会监控受限请求的数量。如果用户持续受到限制，则应通过请求增加服务限额来提高限制。要了解如何请求增加限额，请参阅 [Amazon Cognito 中的限额](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html)。要主动执行操作，请考虑跟踪[使用限额](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html#track-quota-usage)。  
**意图：**此警报有助于监控受限注册请求的发生情况。这可以帮助您了解何时该执行操作来缓解注册体验的恶化。持续的限制请求会带来较差的用户注册体验。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**预置良好的用户群体不应遇到跨越多个数据点的任何限制。因此，预期工作负载的典型阈值应为 0。对于具有频繁突发的不规则工作负载，您可以分析历史数据以确定应用程序工作负载的可接受限制，然后可以相应地调整阈值。应重试受限请求，最大限度地减少对应用程序的影响。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**SignInThrottles**  
**维度：**UserPool、UserPoolClient  
**警报描述：**此警报会监控受限用户身份验证请求的计数。如果用户持续受到限制，您可能需要通过请求增加服务限额来提高限制。要了解如何请求增加限额，请参阅 [Amazon Cognito 中的限额](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html)。要主动执行操作，请考虑跟踪[使用限额](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html#track-quota-usage)。  
**意图：**此警报有助于监控受限登录请求的发生情况。这可以帮助您了解何时该执行操作来缓解登录体验的恶化。持续的限制请求会带来糟糕的用户身份验证体验。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**预置良好的用户群体不应遇到跨越多个数据点的任何限制。因此，预期工作负载的典型阈值应为 0。对于具有频繁突发的不规则工作负载，您可以分析历史数据以确定应用程序工作负载的可接受限制，然后可以相应地调整阈值。应重试受限请求，最大限度地减少对应用程序的影响。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TokenRefreshTrott**  
**维度：**UserPool、UserPoolClient  
**警报描述：**您可以设置阈值以适应请求的流量，并为令牌刷新请求匹配可接受限制。限制用于保护您的系统不会收到过多请求。但是，请务必监控您的正常流量是否也预置不足。您可以分析历史数据以确定应用程序工作负载的可接受限制，然后可以将警报阈值调整为高于可接受限制级别。受限请求应由应用程序/服务重试，因为它们是暂时性的。因此，非常低的阈值可能会导致警报过于敏感。  
**意图：**此警报有助于监控受限令牌刷新请求的发生情况。这可以帮助您了解何时该执行操作来缓解任何潜在问题，从而确保流畅的用户体验以及身份验证系统的正常运行和可靠性。持续的限制请求会带来糟糕的用户身份验证体验。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**也可以设置/调整阈值，以适应请求的流量以及令牌刷新请求的可接受限制。限制是为了保护您的系统不会收到过多请求，不过，请务必监控您的正常流量是否也预置不足，并查看是否此情况是否造成了影响。还可以分析历史数据以了解应用程序工作负载的可接受限制，然后可以将阈值调整为高于一般可接受限制级别。受限请求应由应用程序/服务重试，因为它们是暂时性的。因此，非常低的阈值可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**FederationThrottles**  
**维度：**UserPool、UserPoolClient、IdentityProvider  
**警报描述：**此警报会监控受限身份联合验证请求的计数。如果您持续受到限制，则表示您需要通过请求增加服务限额来提高限制。要了解如何请求增加限额，请参阅 [Amazon Cognito 中的限额](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html)。  
**意图：**此警报有助于监控受限身份联合验证请求的发生情况。这可以帮助您主动应对性能瓶颈或配置错误，并确保您的用户获得流畅的身份验证体验。持续的限制请求会带来糟糕的用户身份验证体验。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**您可以设置阈值以适应请求的流量，并为身份联合验证请求匹配可接受限制。限制用于保护您的系统不会收到过多请求。但是，请务必监控您的正常流量是否也预置不足。您可以分析历史数据以确定应用程序工作负载的可接受限制，然后将阈值调整为高于可接受限制级别的值。受限请求应由应用程序/服务重试，因为它们是暂时性的。因此，非常低的阈值可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon DynamoDB
<a name="DynamoDB"></a>

**AccountProvisionedReadCapacityUtilization**  
**维度：**None  
**警报描述：**此警报会检测账户的读取容量是否将达到其预置限制。如果发生这种情况，您可以提高读取容量利用率的账户限额。您可以使用[服务限额](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)查看读取容量单位的当前限额，并请求增加限额。  
**意图：**此警报可以检测账户的读取容量利用率是否接近其预置读取容量利用率。如果利用率达到最大限制，DynamoDB 会开始限制读取请求。  
**统计数据：**Maximum  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为 80%，这样就可以在阈值达到最大容量之前执行操作（例如提高账户限制），以避免限制。  
**时间段：**300  
**要发出警报的数据点数**：2  
**评估期：**2  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**AccountProvisionedWriteCapacityUtilization**  
**维度：**None  
**警报描述：**此警报会检测账户的写入容量是否将达到其预置限制。如果发生这种情况，您可以提高写入容量利用率的账户限额。您可以使用[服务限额](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)查看写入容量单位的当前限额，并请求增加限额。  
**意图：**此警报可以检测账户的写入容量利用率是否接近其预置写入容量利用率。如果利用率达到最大限制，DynamoDB 会开始限制写入请求。  
**统计数据：**Maximum  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为 80%，这样就可以在阈值达到最大容量之前执行操作（例如提高账户限制），以避免限制。  
**时间段：**300  
**要发出警报的数据点数**：2  
**评估期：**2  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**AgeOfOldestUnreplicatedRecord**  
**维度：**TableName、DelegatedOperation  
**警报描述：**此警报会检测复制到 Kinesis 数据流过程中的延迟。在正常运行情况下，`AgeOfOldestUnreplicatedRecord` 应该只有几毫秒。根据由客户控制的配置选项造成的失败复制尝试次数，此数量会增加。例如，可能导致复制尝试失败的客户控制配置包括：预置不足的 Kinesis 数据流容量导致过度限制，或者手动更新 Kinesis 数据流的访问策略会阻止 DynamoDB 向数据流添加数据。为将此指标保持在尽可能低的水平，您需要确保预置合适的 Kinesis 数据流容量，并确保未更改 DynamoDB 的权限。  
**意图：**此警报可以监控失败复制尝试次数，以及由此导致的复制到 Kinesis 数据流过程中的延迟。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据以毫秒为单位的所需复制延迟设置阈值。此值取决于您的工作负载要求和预期性能。  
**时间段：**300  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**FailedToReplicateRecordCount**  
**维度：**TableName、DelegatedOperation  
**警报描述：**此警报会检测 DynamoDB 无法复制到 Kinesis 数据流的记录数。某些大于 34KB 的项目可能会扩增，以更改大于 Kinesis Data Streams 1MB 项目大小限制的数据记录。当大于 34KB 的项目包含大量布尔值或空属性值时，就会出现此扩增现象。布尔值和空属性值在 DynamoDB 中存储为 1 个字节，但在使用标准 JSON 进行 Kinesis Data Streams 复制时，最多可扩展到 5 个字节。DynamoDB 无法将此类更改记录复制到 Kinesis 数据流中。DynamoDB 跳过这些更改数据记录，并自动继续复制后续记录。  
**意图：**此警报可以监控由于 Kinesis 数据流的项目大小限制，DynamoDB 无法复制到 Kinesis 数据流的记录数。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**将阈值设置为 0，可检测 DynamoDB 未能复制的任何记录。  
**时间段：**60  
**要发出警报的数据点数**：1  
**评估期：**1  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ReadThrottleEvents**  
**维度：**TableName  
**警报描述：**此警报可检测 DynamoDB 表是否有大量读取请求受到限制。要解决此问题，请参阅[解决 Amazon DynamoDB 中的限制问题](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TroubleshootingThrottling.html)。  
**意图：**此警报可以检测对 DynamoDB 表的读取请求的持续限制。持续限制读取请求会对您的工作负载读取操作产生负面影响，并降低系统的整体效率。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据 DynamoDB 表的预期读取流量设置阈值，同时考虑可接受的限制级别。请务必监控您的预置是否不足并且不会导致持续的限制。您还可以分析历史数据以确定应用程序工作负载的可接受限制级别，然后将警报阈值调整为高于一般限制级别。受限请求应由应用程序/服务重试，因为它们是暂时性的。因此，阈值过低可能会导致警报过于敏感，从而导致不必要的状态转换。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ReadThrottleEvents**  
**维度**：TableName、GlobalSecondaryIndexName  
**警报描述：**此警报可检测 DynamoDB 表的全局二级索引是否有大量读取请求受到限制。要解决此问题，请参阅[解决 Amazon DynamoDB 中的限制问题](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TroubleshootingThrottling.html)。  
**意图：**此警报可以检测对 DynamoDB 表的全局二级索引读取请求的持续限制。持续限制读取请求会对您的工作负载读取操作产生负面影响，并降低系统的整体效率。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据 DynamoDB 表的预期读取流量设置阈值，同时考虑可接受的限制级别。请务必监控您的预置是否不足并且不会导致持续的限制。您还可以分析历史数据以确定应用程序工作负载的可接受限制级别，然后将阈值调整为高于一般可接受限制级别。受限请求应由应用程序/服务重试，因为它们是暂时性的。因此，阈值过低可能会导致警报过于敏感，从而导致不必要的状态转换。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ReplicationLatency**  
**维度：**TableName、ReceivingRegion  
**警报描述：**此警报会检测全局表某个区域中的副本是否滞后于源区域。如果 AWS 区域降级，并且您在该区域有一个副本表，则延迟可能会增加。在这种情况下，可以临时将应用程序的读取和写入活动重定向到不同的 AWS 区域。如果您使用的是 2017.11.29（旧版）的全局表，则应验证每个副本表的写入容量单位（WCU）是否相同。您也可以确保遵循 [Best practices and requirements for managing capacity](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_reqs_bestpractices.html#globaltables_reqs_bestpractices.tables) 中的建议。  
**意图：**此警报可以检测一个区域中的副本表是否落后于从另一个区域复制更改。这可能会导致您的副本与其他副本不同。了解每个 AWS 区域的复制延迟，并在该复制延迟持续增加时发出提醒会很有帮助。表的复制仅适用于全局表。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于您的用例。超过 3 分钟的复制延迟通常都需要调查。查看复制延迟的临界程度和要求并分析历史趋势，然后相应地选择阈值。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**SuccessfulRequestLatency**  
**维度：**TableName、Operation  
**警报描述：**此警报会检测 DynamoDB 表操作的高延迟（由警报中 `Operation` 的维度值表示）。请参阅[此问题排查文档](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TroubleshootingLatency.html)，了解如何排查 Amazon DynamoDB 中的延迟问题。  
**意图：**此警报可以检测 DynamoDB 表操作的高延迟。操作的较高延迟会对系统的整体效率产生负面影响。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**DynamoDB 会为单例操作（例如 getItem、PutiTem 等）提供平均个位数毫秒延迟。但是，您可以根据工作负载中涉及的操作类型和表的可接受延迟容差来设置阈值。您可以分析此指标的历史数据以确定表操作的一般延迟，然后将阈值设置为代表操作的临界延迟的数字。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**SystemErrors**  
**维度：**TableName  
**警报描述：**此警报会检测 DynamoDB 表请求的持续大量系统错误。如果您持续收到 5xx 错误，请打开 [AWS 服务运行状况控制面板](https://status.aws.amazon.com/)，以检查服务是否存在操作问题。如果 DynamoDB 持续存在内部服务问题，您可以使用此警报来获取通知，它可以帮助您弄清楚您的客户端应用程序面临的问题。有关更多信息，请参阅 [DynamoDB 错误处理](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.MessagesAndCodes.http5xx)。  
**意图：**此警报可以检测 DynamoDB 表请求的持续系统错误。系统错误表示 DynamoDB 中的内部服务错误，有助于您弄清楚客户端遇到的问题。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据预期流量设置阈值，同时考虑系统错误的可接受级别。您还可以分析历史数据以确定应用程序工作负载的可接受错误计数，然后相应地调整阈值。系统错误应由应用程序/服务重试，因为它们是暂时性的。因此，阈值过低可能会导致警报过于敏感，从而导致不必要的状态转换。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ThrottledPutRecordCount**  
**维度：**TableName、DelegatedOperation  
**警报描述：**此警报会检测在将更改数据捕获复制到 Kinesis 的过程中，您的 Kinesis 数据流限制的记录。出现此限制的原因是 Kinesis 数据流容量不足。如果遇到过多和定期的限制，则可能需要按照观察到的表写入吞吐量成比例增加 Kinesis 流分片数量。要了解有关如何确定 Kinesis 数据流的大小的详细信息，请参阅[确定 Kinesis Data Streams 的初始大小](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-streams.html#how-do-i-size-a-stream)。  
**意图：**此警报可以监控由于 Kinesis 数据流容量不足而受到 Kinesis 数据流限制的记录数量。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**异常使用高峰期间可能会遇到一些限制，但受限记录应保持在尽可能低的水平，以避免较高的复制延迟（DynamoDB 重试将受限记录发送到 Kinesis 数据流）。将阈值设置为一个数字，这样可以帮助您发现常规过度限制。您还可以分析此指标的历史数据，以确定应用程序工作负载的可接受限制速率。根据您的用例将阈值调整为应用程序可以容忍的值。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**UserErrors**  
**维度：**None  
**警报描述：**此警报会检测 DynamoDB 表请求的持续大量用户错误。您可以在问题时间范围内查看客户端应用程序日志，了解请求无效的原因。您可以检查 [HTTP 状态码 400](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.MessagesAndCodes.http400)，查看您收到的错误类型并执行相应操作。您可能必须修复应用程序逻辑才能创建有效的请求。  
**意图：**此警报可以检测 DynamoDB 表请求的持续用户错误。所请求操作的用户错误表示客户端在生成无效请求并且正在失败。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**将阈值设置为 0 可检测任何客户端错误。或者，如果要避免因错误数量非常少而触发警报，可以将其设置为更高的值。基于您的用例和请求的流量来决定。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**WriteThrottleEvents**  
**维度：**TableName  
**警报描述：**此警报可检测 DynamoDB 表是否有大量写入请求受到限制。要解决此问题，请参阅[解决 Amazon DynamoDB 中的限制问题](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TroubleshootingThrottling.html)。  
**意图：**此警报可以检测 DynamoDB 表的写入请求的持续限制。持续限制写入请求会对您的工作负载写入操作产生负面影响，并降低系统的整体效率。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据 DynamoDB 表的预期写入流量设置阈值，同时考虑可接受的限制级别。请务必监控您的预置是否不足并且不会导致持续的限制。您还可以分析历史数据以确定应用程序工作负载的可接受限制级别，然后将阈值调整为高于一般可接受限制级别的值。受限请求应由应用程序/服务重试，因为它们是暂时性的。因此，阈值过低可能会导致警报过于敏感，从而导致不必要的状态转换。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**WriteThrottleEvents**  
**维度**：TableName、GlobalSecondaryIndexName  
**警报描述：**此警报可检测 DynamoDB 表的全局二级索引是否有大量写入请求受到限制。要解决此问题，请参阅[解决 Amazon DynamoDB 中的限制问题](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TroubleshootingThrottling.html)。  
**意图：**此警报可以检测对 DynamoDB 表全局二级索引的写入请求的持续限制。持续限制写入请求会对您的工作负载写入操作产生负面影响，并降低系统的整体效率。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据 DynamoDB 表的预期写入流量设置阈值，同时考虑可接受的限制级别。请务必监控您的预置是否不足并且不会导致持续的限制。您还可以分析历史数据以确定应用程序工作负载的可接受限制级别，然后将阈值调整为高于一般可接受限制级别的值。受限请求应由应用程序/服务重试，因为它们是暂时性的。因此，值过低可能会导致警报过于敏感，从而导致不必要的状态转换。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon EBS
<a name="Recommended_EBS"></a>

**VolumeStalledIOCheck**  
**维度：**VolumeId, InstanceId  
**警报描述：**此警报有助于监控 Amazon EBS 卷的 IO 性能。此检查可检测 Amazon EBS 基础设施的潜在问题，例如 Amazon EBS 卷所基于的存储子系统硬件或软件问题、影响从 Amazon EC2 实例访问 Amazon EBS 卷的物理主机硬件问题，还可以检测实例与 Amazon EBS 卷之间的连接问题。如果“停滞 IO 检查”失败，您可以等待 AWS 解决问题，也可以自行采取措施，例如替换受影响的卷或停止并重启挂载了该卷的实例。在大多数情况下，当该指标失败时，Amazon EBS 将在几分钟内自动诊断并恢复您的卷。  
**意图：**此警报可以检测 Amazon EBS 卷的状态，以确定这些卷何时受损且无法完成 I/O 操作。  
**统计数据：**Maximum  
**建议阈值：**1.0  
**阈值理由：**当状态检查失败时，此指标的值为 1。设置阈值后，每当状态检查失败时，警报都将处于“ALARM”状态。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

## Amazon EC2
<a name="EC2"></a>

**CPU 利用率**  
**维度：**InstanceId  
**警报描述：**此警报有助于监控 EC2 实例的 CPU 利用率。根据应用程序的不同，持续的高利用率级别可能是正常的。但是，如果性能下降，并且应用程序不受磁盘 I/O、内存或网络资源的限制，则达到极限的 CPU 可能表示存在资源瓶颈或应用程序性能问题。高 CPU 利用率可能表示需要升级到 CPU 密集型实例。如果启用了详细监控，则可以将时间段更改为 60 秒而不是 300 秒。有关更多信息，请参阅[对实例启用或禁用详细监控](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html)。  
**意图：**此警报用于检测高 CPU 利用率。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**通常，您可以将 CPU 利用率的阈值设置为 70-80%。但是，您可以根据可接受性能级别和工作负载特征来调整此值。对于某些系统，持续的高 CPU 利用率可能是正常现象，并不表示存在问题，而对于某些系统，此情况应引起注意。分析历史 CPU 利用率数据以确定使用情况，弄清您系统的可接受 CPU 利用率，并相应地设置阈值。  
**时间段：**300  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**StatusCheckFailed**  
**维度：**InstanceId  
**警报描述：**此警报有助于监控系统状态检查和实例状态检查。如果任一类型的状态检查失败，则此警报应处于“ALARM”状态。  
**意图：**此警报用于检测实例的根本问题，包括系统状态检查失败和实例状态检查失败。  
**统计数据：**Maximum  
**建议阈值：**1.0  
**阈值理由：**当状态检查失败时，此指标的值为 1。设置阈值后，每当状态检查失败时，警报都将处于“ALARM”状态。  
**时间段：**300  
**要发出警报的数据点数**：2  
**评估期：**2  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**StatusCheckFailed\$1AttachedEBS**  
**维度：**InstanceId  
**警报描述：**此警报可帮助您监控附加到实例的 Amazon EBS 卷是否可以访问并能够完成 I/O 操作。此状态检查可检测计算或 Amazon EBS 基础设施存在的底层问题，如下所示：  
+ Amazon EBS 卷底层的存储子系统的硬件或软件问题
+ 物理主机上的硬件问题，该问题会影响 Amazon EBS 卷的可访问性
+ 实例和 Amazon EBS 卷之间的连接问题
当附加的 EBS 状态检查失败时，您可以等待 Amazon 解决问题，也可以自行采取措施，例如更换受影响的卷或停止并重启实例。  
**意图：**此警报用于检测附加到实例的哪些 Amazon EBS 卷无法访问。这些会导致 I/O 操作失败。  
**统计数据：**Maximum  
**建议阈值：**1.0  
**阈值理由：**当状态检查失败时，此指标的值为 1。设置阈值后，每当状态检查失败时，警报都将处于“ALARM”状态。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

## Amazon ElastiCache
<a name="ElastiCache"></a>

**CPU 利用率**  
**维度：**CacheClusterId、CacheNodeId  
**警报描述：**此警报有助于监控整个 ElastiCache 实例的 CPU 利用率，包括数据库引擎进程和实例上运行的其他进程。AWSElasticache 支持两种引擎类型：Memcached 和 Redis OSS。当您在 Memcached 节点上达到高 CPU 利用率时，应考虑纵向扩展实例类型或添加新的缓存节点。对于 Redis OSS，如果您的主要工作负载来自读取请求，则应考虑向缓存集群添加更多只读副本。如果您的主要工作负载来自写入请求，则要在集群模式下运行时，应考虑添加更多分片以将工作负载分配到更多主节点；而要非集群模式下运行 Redis OSS 时，应考虑纵向扩展实例类型。  
**意图：**此警报用于检测 ElastiCache 主机的高 CPU 利用率。这对全面了解整个实例（包括非引擎进程）的 CPU 使用情况很有用。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**将阈值设置为反映应用程序的临界 CPU 利用率级别的百分比。对于 Memcached，引擎最多可以使用 num\$1threads 个核心。对于 Redis OSS，引擎主要是单线程的，但如果有额外的核心，也可以使用它们来加速 I/O。在大多数情况下，您可以将阈值设置为可用 CPU 的 90% 左右。因为 Redis OSS 是单线程的，实际阈值应计算为节点总容量的一小部分。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**CurrConnections**  
**维度：**CacheClusterId、CacheNodeId  
**警报描述：**此警报可检测高连接计数，这可能表示负载过重或存在性能问题。`CurrConnections` 的持续增加可能会导致 65000 个可用连接耗尽。这可能表明应用程序端的连接关闭不当，并且在服务器端未断开。您应该考虑使用连接池或空闲连接超时来限制与集群建立的连接数量，或者对于 Redis OSS，可以考虑在集群上调整 [tcp-keepalive](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html)，以检测和终止潜在失效对端。  
**意图：**此警报有助于您识别可能影响 ElastiCache 集群性能和稳定性的高连接计数。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于集群的可接受连接范围。查看 ElastiCache 集群的容量和预期工作负载，分析常规使用期间的历史连接计数以建立基准，然后相应地选择阈值。请记住，每个节点最多可以支持 65000 个并发连接。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**DatabaseMemoryUsagePercentage**  
**维度：**CacheClusterId  
**警报描述：**此警报有助于监控集群的内存利用率。当 `DatabaseMemoryUsagePercentage` 达到 100% 时，将触发 Redis OSS maxmemory 策略，并且可能会根据所选策略进行驱逐。如果缓存中没有符合驱逐策略的对象，则写入操作将失败。有些工作负载期望或依赖驱逐，如果不是这样，您需要增加集群的内存容量。您可以通过添加更多主节点来横向扩展集群，也可以使用更大的节点类型对其纵向扩展。有关详细信息，请参阅 [Scaling ElastiCache for Redis OSS clusters](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Scaling.html)。  
**意图：**此警报用于检测集群的高内存利用率，以便在写入集群时避免失败。如果您的应用程序预计不会遭遇驱逐，则了解何时需要纵向扩展集群会很有用。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**根据应用程序的内存要求和 ElastiCache 集群的内存容量，您应将阈值设置为反映集群内存使用量临界水平的百分比。您可以使用历史内存使用数据，作为可接受内存使用量阈值的参考。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**EngineCPUUtilization**  
**维度：**CacheClusterId  
**警报描述：**此警报有助于监控 ElastiCache 实例中 Redis OSS 引擎线程的 CPU 利用率。引擎 CPU 占用率高的常见原因包括：消耗高 CPU 的长时间运行的命令、大量请求、短时间内新的客户端连接请求增加，以及缓存没有足够的内存来容纳新数据时的高驱逐率。您应该考虑通过添加更多节点或纵向扩展实例类型来实现 [ElastiCache for Redis OSS 集群的扩缩](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Scaling.html)。  
**意图：**此警报用于检测 Redis OSS 引擎线程的高 CPU 利用率。它在要监控数据库引擎本身的 CPU 利用率时很有用。  
**统计数据：**平均值  
**建议阈值：**90.0  
**阈值理由：**将阈值设置为反映应用程序的临界引擎 CPU 利用率级别的百分比。您可以使用应用程序和预期工作负载对集群进行基准测试，关联 EngineCPUUtilization 和性能作为参考，然后相应地设置阈值。在大多数情况下，您可以将阈值设置为可用 CPU 的 90% 左右。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ReplicationLag**  
**维度：**CacheClusterId  
**警报描述：**此警报有助于监控您的 ElastiCache 集群的复制运行状况。高复制滞后意味着主节点或副本无法跟上复制的步伐。如果您的写入活动过高，可以考虑通过添加更多主节点来横向扩展集群，或者使用更大的节点类型纵向扩展集群。有关详细信息，请参阅 [Scaling ElastiCache for Redis OSS clusters](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Scaling.html)。如果您的只读副本因读取请求的数量而过载，可以考虑添加更多只读副本。  
**意图：**此警报用于检测主节点上的数据更新与其同步到副本节点之间的延迟。它有助于确保只读副本集群节点的数据一致性。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**根据应用程序的要求和复制滞后的潜在影响来设置阈值。您应该考虑应用程序的预期写入速率和网络条件，以确定可接受的复制滞后。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon ECS
<a name="ECS"></a>

以下是针对 Amazon ECS 的推荐警报。

**CPUReservation**  
**维度：**ClusterName  
**警报描述：**此警报有助于您检测 ECS 集群的高 CPU 预留。高 CPU 预留可能表示集群将耗尽为任务注册的 CPU。要排查问题，您可以添加更多容量、扩展集群，也可以设置自动扩缩。  
**意图：**该警报用于检测集群上任务预留的 CPU 单元总数是否达到为集群注册的 CPU 单位总数。这有助于您了解何时纵向扩展集群。达到集群的 CPU 单位总数可能会导致任务的 CPU 耗尽。如果您开启了 EC2 容量提供商托管式扩展，或者您已将 Fargate 关联到容量提供商，则不建议设置此警报。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将 CPU 预留阈值设置为 80%。或者，您可以基于集群特征选择较小的值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**CPU 利用率**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测 ECS 服务的高 CPU 利用率。如果没有正在进行的 ECS 部署，则达到极限的 CPU 利用率可能表示存在资源瓶颈或应用程序性能问题。要排查问题，可以提高 CPU 限制。  
**意图：**此警报用于检测 Amazon ECS 服务的高 CPU 利用率。持续的高 CPU 利用率可能表示存在资源瓶颈或应用程序性能问题。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**CPU 利用率的服务指标可能超过 100% 的利用率。但是，我们建议您监控高 CPU 利用率的指标，避免影响其他服务。将阈值设置为大约 80-85% 左右。我们建议您更新任务定义以反映实际使用量，以防其他服务将来出现问题。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**EBSFilesystemUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测挂载到 Amazon ECS 任务的 Amazon EBS 卷的存储利用率是否较高。如果 Amazon EBS 卷的利用率持续较高，则可以检查使用情况并针对新任务增加卷大小。  
**用途：**此警报用于检测挂载到 Amazon ECS 任务的 Amazon EBS 卷的存储利用率是否较高。存储利用率持续较高可能表明 Amazon EBS 卷已满，这可能导致容器出现故障。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**可以将 Amazon EBS 文件系统的利用率阈值设置为 80% 左右。您可以根据可接受的存储利用率调整此值。对于只读快照卷，利用率较高可能表明该卷的大小合适。对于活动数据卷，存储利用率较高可能表示应用程序正在写入大量数据，此时容量不足可能会导致容器出现故障。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**MemoryReservation**  
**维度：**ClusterName  
**警报描述：**此警报有助于检测 Amazon ECS 集群的高内存预留。高内存预留可能表示集群存在资源瓶颈。要排查问题，请分析服务任务的性能，查看是否可以优化任务的内存利用率。此外，您可以注册更多内存或设置自动扩缩。  
**意图：**该警报用于检测集群上任务预留的存储单元总数是否达到为集群注册的存储单元总数。这有助于您了解何时纵向扩展集群。达到集群的存储单元总数可能会导致集群无法启动新任务。如果您开启了 EC2 容量提供商托管式扩展，或者您已将 Fargate 关联到容量提供商，则不建议设置此警报。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将内存预留阈值设置为 80%。您可以基于集群特征将其调整为较小的值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**MemoryUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测 Amazon ECS 服务内存利用率较高的情况。如果没有正在进行的 Amazon ECS 部署，则达到极限的内存利用率可能表示存在资源瓶颈或应用程序性能问题。要排查问题，您可以提高内存限制。  
**意图：**此警报用于检测 Amazon ECS 服务内存利用率较高的情况。持续的高内存利用率可能表明存在资源瓶颈或应用程序性能问题。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**内存利用率的服务指标可能超过 100% 的利用率。但是，我们建议您监控高内存利用率的指标，避免影响其他服务。将阈值设置为大约 80%。我们建议您更新任务定义以反映实际使用量，以防其他服务将来出现问题。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**HTTPCode\$1Target\$15XX\$1Count**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测 ECS 服务的服务器端高错误计数。这可能表示存在导致服务器无法处理请求的错误。要排查问题，请检查您的应用程序日志。  
**意图：**此警报用于检测 ECS 服务的服务器端高错误计数。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**计算约占平均流量的 5％ 的值，并使用该值作为阈值的起点。您可以使用 `RequestCount` 指标确定平均流量。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。需要对经常发生的 5XX 错误发出警报。但是，将阈值设置得非常低可能会导致警报过于敏感。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TargetResponseTime**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测 ECS 服务请求的长目标响应时间。这可能表示存在导致服务无法及时处理请求的错误。要排查问题，请检查 CPUUtilization 指标以查看服务是否耗尽了 CPU，或者检查您的服务所依赖的其他下游服务的 CPU 利用率。  
**意图：**此警报用于检测 ECS 服务请求的长目标响应时间。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于您的用例。查看服务的目标响应时间的临界程度和要求，并分析此指标的历史行为以确定合理的阈值级别。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## 具有 Container Insights 的 Amazon ECS
<a name="ECS-ContainerInsights"></a>

以下是针对使用 Container Insights 的 Amazon ECS 推荐警报。

**EphemeralStorageUtilized**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测 Fargate 集群的临时存储空间利用率较高的情况。如果临时存储空间利用率持续较高，则可以检查临时存储空间使用情况并增加临时存储空间。  
**意图：**此警报用于检测 Fargate 集群的临时存储空间利用率较高的情况。如果临时存储空间利用率持续较高，则可能表明磁盘已满，并可能导致容器出现故障。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**将阈值设置为临时存储空间大小的 90% 左右。您可以根据您的 Fargate 集群可接受的临时存储空间利用率调整此值。对于某些系统，临时存储空间利用率持续较高可能是正常的，而对于另一些系统，则可能会导致容器出现故障。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**RunningTaskCount**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测 Amazon ECS 服务运行任务数不足的情况。如果正在运行的任务数太少，则可能表明应用程序无法处理服务负载，并可能导致性能问题。如果没有正在运行的任务，Amazon ECS 服务可能不可用或者可能存在部署问题。  
**意图：**此警报用于检测正在运行的任务数是否过少。持续较少的运行任务数可能表明 Amazon ECS 服务部署或性能存在问题。  
**统计数据：**平均值  
**建议阈值：**0.0  
**阈值调整：**您可以根据 Amazon ECS 服务的最小运行任务数来调整阈值。如果正在运行的任务数为 0，则 Amazon ECS 服务将不可用。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**TaskCpuUtilization**  
**维度：**ClusterName  
**警报描述：**此警报有助于您检测 Amazon ECS 集群中任务 CPU 利用率较高的情况。如果任务 CPU 利用率持续较高，则可能需要优化任务或增加其 CPU 预留。  
**意图：**此警报用于检测 Amazon ECS 集群中任务 CPU 利用率较高的情况。持续的高 CPU 利用率可能表明任务承受压力，可能需要更多的 CPU 资源或优化才能维持性能。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为任务 CPU 预留的 80% 左右。您可以根据可接受的任务 CPU 利用率来调整此值。对于某些工作负载，CPU 利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明存在性能问题或需要更多资源。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TaskCpuUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测属于 Amazon ECS 服务的任务 CPU 利用率较高的情况。如果任务 CPU 利用率持续较高，则可能需要优化任务或增加其 CPU 预留。  
**意图：**此警报用于检测属于 Amazon ECS 服务的任务 CPU 利用率较高的情况。持续的高 CPU 利用率可能表明任务承受压力，可能需要更多的 CPU 资源或优化才能维持性能。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为任务 CPU 预留的 80% 左右。您可以根据可接受的任务 CPU 利用率来调整此值。对于某些工作负载，CPU 利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明存在性能问题或需要更多资源。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ContainerCpuUtilization**  
**维度：**ClusterName  
**警报描述：**此警报可监控 Amazon ECS 集群中容器使用的 CPU 单元占其预留 CPU 的百分比。此警报有助于根据 ContainerCpuUtilized/ContainerCpuReserved 比率检测容器何时接近其 CPU 限制。  
**意图：**此警报可检测 Amazon ECS 集群中的容器何时占用其预留 CPU 容量的百分比较高，其计算方法为 `ContainerCpuUtilized/ContainerCpuReserved`。持续的高值表示容器运行接近其 CPU 限制，可能需要调整容量。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为容器 CPU 利用率的 80% 左右。这样做可以在容器接近其 CPU 容量限制时提供预警，同时允许 CPU 利用率出现正常波动。可以根据您的工作负载特征和性能要求来调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ContainerCpuUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报可监控属于 Amazon ECS 服务的容器使用的 CPU 单元占其预留 CPU 的百分比。此警报有助于根据 ContainerCpuUtilized/ContainerCpuReserved 比率检测容器何时接近其 CPU 限制。  
**意图：**此警报可检测属于 Amazon ECS 服务的容器何时占用其预留 CPU 容量的百分比较高，其计算方法为 ContainerCpuUtilized/ContainerCpuReserved。持续的高值表示容器运行接近其 CPU 限制，可能需要调整容量。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为容器 CPU 利用率的 80% 左右。这样做可以在容器接近其 CPU 容量限制时提供预警，同时允许 CPU 利用率出现正常波动。可以根据您的工作负载特征和性能要求来调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TaskEphemeralStorageUtilization**  
**维度：**ClusterName  
**警报描述：**此警报有助于您检测 Amazon ECS 集群中任务的临时存储利用率较高的情况。如果存储利用率持续较高，则可能需要优化存储使用量或增加存储预留。  
**意图：**此警报用于检测 Amazon ECS 集群中任务的临时存储利用率较高的情况。持续的高存储利用率可能表明任务的磁盘空间不足，可能需要更多的存储资源或优化才能维持正常运行。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为任务临时存储预留的 80% 左右。您可以根据可接受的任务临时存储利用率来调整此值。对于某些工作负载，存储利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明磁盘空间存在潜在问题或需要更多存储空间。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TaskEphemeralStorageUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测属于 Amazon ECS 服务的任务临时存储利用率较高的情况。如果存储利用率持续较高，则可能需要优化存储使用量或增加存储预留。  
**意图：**此警报用于检测属于 Amazon ECS 服务的任务临时存储利用率较高的情况。持续的高存储利用率可能表明任务的磁盘空间不足，可能需要更多的存储资源或优化才能维持正常运行。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为任务临时存储预留的 80% 左右。您可以根据可接受的任务临时存储利用率来调整此值。对于某些工作负载，存储利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明磁盘空间存在潜在问题或需要更多存储空间。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TaskMemoryUtilization**  
**维度：**ClusterName  
**警报描述：**此警报有助于您检测 Amazon ECS 集群中任务内存利用率较高的情况。如果内存利用率持续较高，则可能需要优化任务或增加内存预留。  
**意图：**此警报用于检测 Amazon ECS 集群中任务内存利用率较高的情况。持续的高内存利用率可能表明任务承受内存压力，可能需要更多的内存资源或优化才能维持稳定性。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为任务内存预留的 80% 左右。您可以根据可接受的任务内存利用率来调整此值。对于某些工作负载，内存利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明存在内存压力或需要更多资源。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TaskMemoryUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测属于 Amazon ECS 服务的任务内存利用率较高的情况。如果内存利用率持续较高，则可能需要优化任务或增加内存预留。  
**意图：**此警报用于检测属于 Amazon ECS 服务的任务内存利用率较高的情况。持续的高内存利用率可能表明任务承受内存压力，可能需要更多的内存资源或优化才能维持稳定性。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为任务内存预留的 80% 左右。您可以根据可接受的任务内存利用率来调整此值。对于某些工作负载，内存利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明存在内存压力或需要更多资源。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ContainerMemoryUtilization**  
**维度：**ClusterName  
**警报描述：**此警报有助于您检测 Amazon ECS 集群中容器内存利用率较高的情况。如果内存利用率持续较高，则可能需要优化容器或增加内存预留。  
**意图：**此警报用于检测 Amazon ECS 集群中容器内存利用率较高的情况。持续的高内存利用率可能表明容器承受内存压力，可能需要更多的内存资源或优化才能维持稳定性。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为容器内存预留的 80% 左右。您可以根据可接受的容器内存利用率来调整此值。对于某些工作负载，内存利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明存在内存压力或需要更多资源。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ContainerMemoryUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于您检测属于 Amazon ECS 服务的容器内存利用率较高的情况。如果内存利用率持续较高，则可能需要优化容器或增加内存预留。  
**意图：**此警报用于检测属于 Amazon ECS 服务的容器内存利用率较高的情况。持续的高内存利用率可能表明容器承受内存压力，可能需要更多的内存资源或优化才能维持稳定性。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将阈值设置为容器内存预留的 80% 左右。您可以根据可接受的容器内存利用率来调整此值。对于某些工作负载，内存利用率持续较高可能是正常的，而对于另一些工作负载，则可能表明存在内存压力或需要更多资源。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**instance\$1filesystem\$1utilization**  
**维度：**InstanceId、ContainerInstanceId、ClusterName  
**警报描述：**此警报有助于您检测 Amazon ECS 集群的文件系统利用率较高的情况。如果文件系统利用率持续较高，请检查磁盘利用率。  
**意图：**此警报用于检测 Amazon ECS 集群的文件系统利用率较高的情况。文件系统利用率持续较高可能表示存在资源瓶颈或应用程序性能问题，并且可能会阻碍新任务的运行。  
**统计数据：**平均值  
**建议阈值：**90.0  
**阈值调整：**您可以将文件系统利用率的阈值设置为 90-95%。您可以根据 Amazon ECS 集群可接受的文件系统容量级别调整此值。对于某些系统，文件系统利用率持续较高可能是正常现象，并不表示存在问题；而对于另一些系统，这可能令人担忧，并可能导致性能问题并阻碍新任务的运行。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## 使用增强了可观测性的 Container Insights 的 Amazon ECS
<a name="ECS-ContainerInsights_enhanced"></a>

以下是针对使用增强了可观测性的 Container Insights 的 Amazon ECS 推荐警报。

**TaskCpuUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于检测任务正在使用的 CPU 单位的总百分比。  
**意图：**此警报用于检测高任务 CPU 利用率。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**通常，可以将 CPU 利用率的阈值设置为 80%。但是，您可以根据可接受性能级别和工作负载特征来调整此值。对于某些任务而言，持续的高 CPU 利用率可能是正常现象，并不表示存在问题，而对于其他任务而言，此情况应引起注意。分析历史 CPU 利用率数据来确定使用情况，弄清任务的可接受 CPU 利用率，并相应地设置阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TaskMemoryUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于检测任务正在使用的内存的总百分比。  
**意图：**此警报用于检测高内存利用率。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**通常，可以将内存利用率的阈值设置为 80%。但是，您可以根据可接受性能级别和工作负载特征来调整此值。对于某些任务而言，持续的高内存利用率可能是正常现象，并不表示存在问题，而对于其他任务而言，此情况应引起注意。分析历史内存利用率数据来确定使用情况，弄清任务的可接受内存利用率，并相应地设置阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**ContainerCPUUtilization**  
**维度：**ContainerName、ClusterName、ServiceName  
**警报描述：**此警报有助于检测容器正在使用的 CPU 单位的总百分比。  
**意图：**此警报用于检测高任务 CPU 利用率。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**通常，可以将 CPU 利用率的阈值设置为 80%。但是，您可以根据可接受性能级别和工作负载特征来调整此值。对于某些容器而言，持续的高 CPU 利用率可能是正常现象，并不表示存在问题，而对于其他容器而言，此情况应引起注意。分析历史 CPU 利用率数据来确定使用情况，弄清容器的可接受 CPU 利用率，并相应地设置阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ContainerMemoryUtilization**  
**维度：**ContainerName、ClusterName、ServiceName  
**警报描述：**此警报有助于检测容器正在使用的内存单位的总百分比。  
**意图：**此警报用于检测高任务内存利用率。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**通常，可以将内存利用率的阈值设置为 80%。但是，您可以根据可接受性能级别和工作负载特征来调整此值。对于某些容器而言，持续的高内存利用率可能是正常现象，并不表示存在问题，而对于其他容器而言，此情况应引起注意。分析历史内存利用率数据来确定使用情况，弄清任务的可接受内存利用率，并相应地设置阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**TaskEBSfilesystemUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于检测任务正在使用的临时存储的总百分比。  
**意图：**此警报用于检测任务的高 Amazon EBS 文件系统使用率。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值理由：**将 Amazon EBS 文件系统的大小阈值设置为 80% 左右。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**TaskEphemeralStorageUtilization**  
**维度：**ClusterName、ServiceName  
**警报描述：**此警报有助于检测任务正在使用的临时存储的总百分比。  
**意图：**此警报用于检测任务的高临时存储使用率。如果临时存储空间利用率持续较高，则可能表明磁盘已满，并可能导致任务失败。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值调整：**将临时存储空间大小的阈值设置为 80% 左右。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon EFS
<a name="EFS"></a>

**PercentIOLimit**  
**维度：**FileSystemId  
**警报描述：**此警报有助于确保工作负载保持在文件系统可用的 I/O 限制范围内。如果指标持续达到其 I/O 限制，可以考虑将应用程序移至使用最大 I/O 性能作为模式的文件系统。要排查问题，请检查连接到文件系统的客户端和限制文件系统之客户端的应用程序。  
**意图：**此警报用于检测文件系统接近通用性能模式的 I/O 限制的情况。持续的高 I/O 百分比可能表明文件系统无法在 I/O 请求方面进行足够的扩展，并且文件系统可能成为使用该文件系统之应用程序的资源瓶颈。  
**统计数据：**平均值  
**建议阈值：**100.0  
**阈值理由：**当文件系统达到其 I/O 限制时，它对读取和写入请求的响应速度可能会变慢。因此，建议监控该指标，以免影响使用文件系统的应用程序。阈值可以设置为 100% 左右。但是，可根据文件系统特征将此值调整为较低的值。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**BurstCreditBalance**  
**维度：**FileSystemId  
**警报描述：**此警报有助于确保文件系统使用量有可用的突增积分余额。当没有可用的突增积分时，由于吞吐量低，应用程序对文件系统的访问将受到限制。如果指标持续降至 0，可以考虑将吞吐量模式更改为 [Elastic 或预置吞吐量模式](https://docs.aws.amazon.com/efs/latest/ug/performance.html#throughput-modes)。  
**意图：**此警报用于检测文件系统的低突增积分余额。持续的低突增积分余额可能表明吞吐量降低和 I/O 延迟增加。  
**统计数据：**平均值  
**建议阈值：**0.0  
**阈值理由：**当文件系统耗尽突增积分时，即使基准吞吐率较低，EFS 仍会继续向所有文件系统提供 1MiBps 的计量吞吐量。但是，建议监控指标是否存在低突增积分余额，避免文件系统成为应用程序的资源瓶颈。阈值可以设置为 0 字节左右。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

## 具有 Container Insights 的 Amazon EKS
<a name="EKS-ContainerInsights"></a>

**node\$1cpu\$1utilization**  
**维度：**ClusterName  
**警报描述：**此警报有助于检测 EKS 集群的 Worker 节点中的高 CPU 利用率。如果利用率一直很高，则可能表明需要将 Worker 节点替换为具有更高 CPU 的实例，或者需要横向扩展系统。  
**意图：**此警报有助于监控 EKS 集群中 Worker 节点的 CPU 利用率，这样系统性能就不会降低。  
**统计数据：**Maximum  
**建议阈值：**80.0  
**阈值理由：**建议将阈值设置为小于或等于 80%，以便有足够的时间在系统开始受到影响之前调试问题。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**node\$1filesystem\$1utilization**  
**维度：**ClusterName  
**警报描述：**此警报有助于检测 EKS 集群的 Worker 节点中的高文件系统利用率。如果利用率一直很高，则可能需要更新 Worker 节点以拥有更大的磁盘卷，或者可能需要横向扩展。  
**意图：**此警报有助于监控 EKS 集群中 Worker 节点的文件系统利用率。如果利用率达到 100%，则可能导致应用程序故障、磁盘 I/O 瓶颈、容器组（pod）驱逐或节点完全无响应。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**如果有足够的磁盘压力（这意味着磁盘将满），则节点将被标记为运行状况不佳，容器组（pod）将被驱逐出节点。当可用文件系统低于 kubelet 上设置的驱逐阈值时，有磁盘压力的节点上的容器组（pod）将被驱逐。设置警报阈值，以便您在节点被驱逐出集群之前有足够的时间作出反应。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**node\$1memory\$1utilization**  
**维度：**ClusterName  
**警报描述：**此警报有助于检测 EKS 集群的 Worker 节点中的高内存利用率。如果利用率一直很高，则可能表明需要扩展容器组（pod）副本的数量或优化您的应用程序。  
**意图：**此警报有助于监控 EKS 集群中 Worker 节点的内存利用率，这样系统性能就不会降低。  
**统计数据：**Maximum  
**建议阈值：**80.0  
**阈值理由：**建议将阈值设置为小于或等于 80%，以便有足够的时间在系统开始受到影响之前调试问题。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**pod\$1cpu\$1utilization\$1over\$1pod\$1limit**  
**维度：**ClusterName、Namespace、Service  
**警报描述：**此警报有助于检测 EKS 集群的容器组（pod）中的高 CPU 利用率。如果利用率一直很高，则可能表明需要增加受影响容器组（pod）的 CPU 限制。  
**意图：**此警报有助于监控 EKS 集群中属于 Kubernetes 服务的容器组（pod）的 CPU 利用率，以便您可以快速识别服务的容器组（pod）占用的 CPU 是否高于预期。  
**统计数据：**Maximum  
**建议阈值：**80.0  
**阈值理由：**建议将阈值设置为小于或等于 80%，以便有足够的时间在系统开始受到影响之前调试问题。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**pod\$1memory\$1utilization\$1over\$1pod\$1limit**  
**维度：**ClusterName、Namespace、Service  
**警报描述：**此警报有助于检测 EKS 集群的容器组（pod）中的高内存利用率。如果利用率一直很高，则可能表明需要增加受影响容器组（pod）的内存限制。  
**意图：**此警报有助于监控 EKS 集群中容器组（pod）的内存利用率，这样系统性能就不会降低。  
**统计数据：**Maximum  
**建议阈值：**80.0  
**阈值理由：**建议将阈值设置为小于或等于 80%，以便有足够的时间在系统开始受到影响之前调试问题。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon EventBridge 调度器
<a name="Eventbridge-Scheduler"></a>

**TargetErrorThrottledCount**  
**维度：**None  
**警报描述：**此警报有助于您识别目标节流的情况。为避免目标节流错误，请考虑[配置灵活的时间窗口](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-flexible-time-windows.html)，以分散调用负载或提高目标服务的限制。  
**用途：**此警报用于检测可能导致计划延迟的目标节流错误。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**如果目标节流错误的数量持续大于 0，则计划交付会延迟。对于某些系统，短时间内存在目标节流错误可能是正常，而对于另一些系统，这可能是问题隐患。相应地设置此警报的阈值、`datapointsToAlarm` 和 `evaluationPeriods`。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**InvocationThrottleCount**  
**维度：**None  
**警报描述：**此警报有助于您识别 Amazon EventBridge 调度器 的调用节流的情况。为避免调用节流错误，请考虑[配置灵活的时间窗口](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-flexible-time-windows.html)，以分散调用负载或[提高调用节流限制](https://docs.aws.amazon.com/scheduler/latest/UserGuide/scheduler-quotas.html)。  
**用途：**此警报用于检测可能导致计划延迟的 Amazon EventBridge 调度器 调用节流错误。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**如果调用节流的数量持续大于 0，则计划交付会延迟。对于某些系统，短时间内存在调用节流错误可能是正常，而对于另一些系统，这可能是问题隐患。相应地设置此警报的阈值、`datapointsToAlarm` 和 `evaluationPeriods`。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**InvocationDroppedCount**  
**维度：**None  
**警报描述：**此警报有助于您识别 Amazon EventBridge 调度器 丢弃的调用。考虑通过为计划[配置 DLQ](https://docs.aws.amazon.com/scheduler/latest/UserGuide/configuring-schedule-dlq.html) 来进行调查。  
**用途：**此警报用于检测 Amazon EventBridge 调度器 丢弃的调用。如果您已在所有计划中正确配置了 DLQ，则丢弃的调用将出现在 DLQ 中，您可以跳过此警报的设置。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**将阈值设置为 0，以检测丢弃的调用。  
**时间段：**60  
**要发出警报的数据点数**：1  
**评估期：**1  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**InvocationsFailedToBeSentToDeadLetterCount**  
**维度：**None  
**警报描述：**此警报有助于您识别 Amazon EventBridge 调度器 未能发送到配置后的 DLQ 的调用。如果该指标持续大于 0，请修改 DLQ 配置以解决问题。使用 `InvocationsFailedToBeSentToDeadLetterCount`\$1metrics 来确定问题。  
**用途：**此警报用于检测 Amazon EventBridge 调度器 未能发送到配置后的 DLQ 的调用。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**将阈值设置为 0，以检测任何未能发送到配置后的 DLQ 的调用。此指标中还会显示可重试错误，因此此警报的 `datapointsToAlarm` 已设置为 15。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon Kinesis Data Streams
<a name="Kinesis"></a>

**GetRecords.IteratorAgeMilliseconds**  
**维度**：StreamName  
**警报描述：**此警报可以检测迭代器的最大寿命是否过高。对于实时数据处理应用程序，可以根据延迟容差配置数据留存。这通常只需几分钟就能完成。对于处理历史数据的应用程序，可以使用此指标来监控追赶速度。阻止数据丢失的快速解决方案是在排查问题时延长保留期。您还可以增加在消费端应用程序中处理记录的工作程序数量。逐渐增长迭代器寿命最常见的原因是没有足够的物理资源，或者记录处理逻辑没有随着流吞吐量的增大而相应扩展。有关更多详细信息，请参阅[链接](https://repost.aws/knowledge-center/kinesis-data-streams-iteratorage-metric)。  
**意图：**此警报用于检测流中的数据是否会因为保存时间过长或记录处理速度太慢而过期。它可以帮助您在达到 100% 的流保留时间后避免数据丢失。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于流的保留期以及记录的处理延迟容差。查看您的需求并分析历史趋势，然后将阈值设置为表示临界处理延迟的毫秒数。如果迭代器的寿命超过了保留期的 50%（默认值为 24 小时，可配置为最高 365 天），则存在由于记录过期造成数据丢失的风险。您可以监控该指标，确保您的任何分片都不会达到此限制。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**GetRecords.Success**  
**维度**：StreamName  
**警报描述：**每当您的消费端成功从您的流中读取数据时，此指标就会增加。当它引发异常时，`GetRecords` 不会返回任何数据。最常见的例外情况是 `ProvisionedThroughputExceededException`，由于流的请求速率太高，或者因为给定秒钟的可用吞吐量已经得到满足。降低请求的频率或大小。有关更多信息，请参阅《Amazon Kinesis Data Streams 开发人员指南》中的 [Streams Limits](https://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html) 和 [Error Retries and Exponential Backoff in AWS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html)。  
**意图：**此警报可以检测消费端从流中检索记录是否失败。通过为此指标设置警报，您可以主动检测数据消耗方面的任何问题，例如错误率增加或检索成功率下降。这让您可以及时执行操作来解决潜在问题，并保持数据处理管道的顺畅运行。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**根据从流中检索记录的重要性，基于应用程序对失败记录的容忍度来设置阈值。阈值应为成功操作的相应百分比。您可以使用历史 GetRecords 指标数据作为可接受失败率的参考。设置阈值时还应考虑重试，因为可以重试失败记录。这有助于防止暂时性峰值触发不必要的提醒。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**PutRecord.Success**  
**维度**：StreamName  
**警报描述：**此警报会检测失败的 `PutRecord` 操作的数量何时超过阈值。调查数据生成器日志，弄清楚失败的根本原因。最常见的原因是导致 `ProvisionedThroughputExceededException` 的分片的预置吞吐量不足。之所以发生这种情况，是因为流的请求速率太高，或者尝试摄取到分片中的吞吐量太高。降低请求的频率或大小。有关更多信息，请参阅 [Streams Limits](https://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html) 和 [Error Retries and Exponential Backoff in AWS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html)。  
**意图：**此警报可以检测向流中摄取记录是否失败。它有助于您识别向流写入数据时存在的问题。通过为此指标设置警报，您可以主动检测生成器在向流发布数据时存在的任何问题，例如错误率增加或成功发布的记录减少。这让您可以及时执行操作来解决潜在问题，并保持数据摄取过程的可靠运行。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**根据对服务进行数据摄取和处理的重要性，基于应用程序对失败记录的容忍度来设置阈值。阈值应为成功操作的相应百分比。您可以使用历史 PutRecord 指标数据作为可接受失败率的参考。设置阈值时还应考虑重试，因为可以重试失败记录。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**PutRecords.FailedRecords**  
**维度**：StreamName  
**警报描述：**此警报会检测失败的 `PutRecords` 的数量何时超过阈值。Kinesis Data Streams 会尝试处理每个 `PutRecords` 请求中的所有记录，但是单个记录失败并不会停止对后续记录的处理。这些失败的主要原因是超过了流或单个分片的吞吐量。常见的原因是流量激增和网络延迟，这会导致记录不均匀地到达流。您必须检测处理不成功的记录并在后续调用中重试它们。有关更多详细信息，请参阅 [Handling Failures When Using PutRecords](https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-sdk.html)。  
**意图：**当使用批处理操作将记录放入流时，此警报可以检测持续失败。通过为此指标设置警报，您可以主动检测失败记录的增加，从而能够及时执行操作来解决潜在问题，并确保数据摄取过程顺畅可靠。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**将阈值设置为失败记录数，以反映应用程序对失败记录的容忍度。您可以使用历史数据作为可接受失败值的参考。设置阈值时还应考虑重试，因为可以在后续 PutRecords 调用中重试失败记录。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ReadProvisionedThroughputExceeded**  
**维度**：StreamName  
**警报描述：**此警报会跟踪导致读取吞吐能力限制的记录数。如果您发现自己持续受到限制，则应考虑向流中添加更多分片以增加预置读取吞吐量。如果有多个消费端应用程序在流中运行，并且它们共享 `GetRecords` 限制，我们建议您通过增强型扇出功能注册新的消费端应用程序。如果添加更多分片不会降低限制的数量，则可能有一个“热”分片被读取的次数超过了其他分片。启用增强监控，确定“热”分片，然后将其拆分。  
**意图：**此警报可以检测消费端在超过预置的读取吞吐量（由您拥有的分片数量决定）时是否受到限制。在这种情况下，您将无法从流中读取内容，并且流可以开始备份。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**通常可以重试受限请求，因此将阈值设置为 0 会使警报过于敏感。但是，持续的限制可能会影响从流中进行读取，因此应该会触发警报。根据应用程序的限制请求和重试配置，将阈值设置为百分比。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**SubscribeToShardEvent.MillisBehindLatest**  
**维度：**StreamName、ConsumerName  
**警报描述：**此警报会检测应用程序中的记录处理延迟何时超过阈值。诸如对下游应用程序的 API 操作失败之类的暂时性问题可能会导致指标突然增加。您应该调查它们是否持续发生。一个常见的原因是，由于物理资源不足，或者记录处理逻辑没有随着流吞吐量的增加而扩展，导致消费端处理记录的速度不够快。在关键路径中阻止调用通常是导致记录处理速度减慢的原因。您可以通过增加分片的数量来提高并行度。您还应确认底层处理节点在需求高峰期间有足够的物理资源。  
**意图：**此警报可以检测流分片事件订阅的延迟。这表明存在处理延迟，可以帮助识别消费端应用程序性能或流的整体运行状况的潜在问题。当处理延迟变得严重时，您应该调查并解决任何瓶颈或消费端应用程序效率低下的问题，以确保实时数据处理并最大限度地减少数据积压。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于您的应用程序可以容忍的延迟。查看应用程序的要求并分析历史趋势，然后相应地选择阈值。当 SubscribeToShard 调用成功后，您的消费端将开始通过持续连接接收 SubscribeToShardEvent 事件，最长可持续 5 分钟，之后如果您想继续接收记录，需要再次调用 SubscribetoShard 来续订订阅。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**WriteProvisionedThroughputExceeded**  
**维度**：StreamName  
**警报描述：**此警报会检测导致写入吞吐能力限制的记录数何时达到阈值。当您的生成器超过预置写入吞吐量（由您拥有的分片数量决定）时，它们就会受到限制，您将无法将记录放入流中。为了解决持续限制的问题，您应该考虑向流中添加分片。这会提高您的预置写入吞吐量并防止未来发生限制。在摄取记录时，还应考虑分区键的选择。首选随机分区键，因为它会尽可能将记录均匀地分布在流的分片上。  
**意图：**此警报可以检测您的生成器是否因为流或分片的限制而在写入记录时被拒。如果您的数据流处于预置模式，则设置此警报有助于您在数据流达到限制时主动执行操作，让您可以优化预置容量或执行相应扩展操作，以免数据丢失并保持数据处理的顺畅运行。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**通常可以重试受限请求，因此将阈值设置为 0 会使警报过于敏感。但是，持续的限制可能会影响写入流的操作，因此您应该设置警报阈值来检测此类限制。根据应用程序的限制请求和重试配置，将阈值设置为百分比。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Lambda
<a name="Lambda"></a>

**ClaimedAccountConcurrency**  
**维度：**None  
**警报描述：**此警报有助于监控 Lambda 函数的并发是否接近账户的区域级并发限制。如果函数达到并发限制，它就会开始受到限制。您可以执行下列操作来避免限制。  

1. 在此区域[请求增加并发](https://repost.aws/knowledge-center/lambda-concurrency-limit-increase)。

1. 识别并减少任何未使用的预留并发或预配置的并发。

1. 确定函数中的性能问题，以提高处理速度，从而提高吞吐量。

1. 增加函数的批处理大小，以便每次函数调用都能处理更多消息。
**意图：**此警报可以主动检测 Lambda 函数的并发是否接近账户的区域级并发限额，以便您可以视情况采取行动。如果 `ClaimedAccountConcurrency` 达到账户的区域级并发限额，则该函数将受到节流。如果您使用的是预留并发（RC）或预调配并发 （PC），则与 `ConcurrentExecutions` 上的警报相比，此警报可让您更清楚地了解并发利用率。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**您应该计算账户在该地区设置的并发配额大约 90% 的值，并将结果用作阈值。默认情况下，您的账户针对区域内所有函数的并发限额为 1000。但是，您应该从“服务配额”控制面板中查看账户的配额。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**错误**  
**维度：**FunctionName  
**警报描述：**此警报会检测高错误计数。错误包括代码引发的异常和 Lambda 运行时系统引发的异常。您可以检查与函数相关的日志来诊断问题。  
**意图：**此警报有助于检测函数调用中的高错误计数。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**将阈值设置为大于 0 的数字。确切的值可取决于对您应用程序中的错误的容忍度。了解函数正在处理之调用的临界程度。对于某些应用程序，任何错误都可能是不可接受的，而某些应用程序可能允许一定的错误幅度。  
**时间段：**60  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**限制**  
**维度：**FunctionName  
**警报描述：**此警报会检测大量受限调用请求。限制在无并发可用于纵向扩展时发生。有多种方法可解决此问题。1) 向此区域的 AWS Support 请求增加并发。2) 确定函数中的性能问题，以提高处理速度，从而提高吞吐量。3) 增加函数的批处理大小，以便每次函数调用都能处理更多消息。  
**意图：**此警报有助于检测针对 Lambda 函数的大量受限调用请求。请务必了解请求是否由于限制而持续被拒，以及您是否需要提高 Lambda 函数性能或并发能力以避免持续的限制。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**将阈值设置为大于 0 的数字。阈值的确切值可取决于应用程序的容忍度。根据函数的使用和扩展要求设置阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**Duration**  
**维度：**FunctionName  
**警报描述：**此警报会检测 Lambda 函数处理事件的长持续时间。持续时间长可能是因为函数代码的变化使函数的执行时间更长，或者函数的依赖项需要更长的时间。  
**意图：**此警报可以检测 Lambda 函数的长运行持续时间。运行时系统持续时间长表示函数的调用时间较长，如果 Lambda 处理的事件数量更多，还会影响调用的并发能力。请务必了解 Lambda 函数的执行时间是否持续比预期的要长。  
**统计数据：**p90  
**建议阈值：**取决于您的情况  
**阈值理由：**持续时间阈值取决于您的应用程序和工作负载以及您的性能要求。对于高性能要求，可以将阈值设置为更短的时间，以查看函数是否符合预期。您还可以分析持续时间指标的历史数据，查看所花费的时间是否与函数的预期性能相符，然后将阈值设置为比历史平均值更长的时间。确保将阈值设置为低于配置的函数超时。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ConcurrentExecutions**  
**维度：**FunctionName  
**警报描述：**此警报有助于监控函数的并发是否接近账户的区域级并发限制。如果函数达到并发限制，它就会开始受到限制。您可以执行下列操作来避免限制。  

1. 在此区域请求增加并发。

1. 确定函数中的性能问题，以提高处理速度，从而提高吞吐量。

1. 增加函数的批处理大小，以便每次函数调用都能处理更多消息。
为了更好地了解预留并发和预调配的并发利用率，请改为对新指标 `ClaimedAccountConcurrency` 设置警报。  
**意图：**此警报可以主动检测函数的并发是否接近账户的区域级并发限额，以便您可以视情况采取行动。如果函数达到账户的区域级并发限额，则该函数将受到限制。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**将阈值设置成为区域中账户设置的并发限额的 90% 左右。默认情况下，您的账户针对区域内所有函数的并发限额为 1000。不过，您可以查看账户的限额，因为可以联系 AWS Support 来增加限额。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Lambda Insights
<a name="LambdaInsights"></a>

我们建议为以下 Lambda Insights 指标设置最佳实践警报。

**memory\$1utilization**  
**维度：**function\$1name  
**警报描述：**此警报用于检测 Lambda 函数的内存利用率是否接近配置的限制。要排查问题，您可以尝试 1) 优化您的代码。2) 通过准确估算内存需求来正确调整内存分配的大小。您可以参考 [Lambda Power Tuning](https://docs.aws.amazon.com/lambda/latest/operatorguide/profile-functions.html) 了解相同内容。3) 使用连接池。有关 RDS 数据库的连接池的信息，请参阅 [Using Amazon RDS Proxy with Lambda](https://aws.amazon.com/blogs/compute/using-amazon-rds-proxy-with-aws-lambda/)。4) 您也可以考虑设计函数，以免两次调用之间在内存中存储大量数据。  
**意图：**此警报用于检测 Lambda 函数的内存利用率是否接近配置的限制。  
**统计数据：**平均值  
**阈值建议：**90.0  
**阈值理由：**将阈值设置为 90%，以便在内存利用率超过分配内存的 90% 时收到提醒。如果您担心工作负载的内存利用率，则可以将此阈值调整为较低的值。您也可以查看此指标的历史数据并相应地设置阈值。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon VPC (`AWS/NATGateway`)
<a name="NATGateway"></a>

**ErrorPortAllocation**  
**维度：**NatGatewayId  
**警报描述：**此警报有助于检测 NAT 网关何时无法为新连接分配端口。要解决此问题，请参阅[解决 NAT 网关上的端口分配错误](https://repost.aws/knowledge-center/vpc-resolve-port-allocation-errors)。  
**意图：**此警报用于检测 NAT 网关是否无法分配源端口。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**如果 ErrorPortAllocation 的值大于 0，则意味着通过 NatGateway 打开了太多与单个热门目标的并发连接。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**PacketsDropCount**  
**维度：**NatGatewayId  
**警报描述：**此警报有助于检测 NAT 网关何时丢弃数据包。这可能是因为 NAT 网关存在问题，因此请检查 [AWS 服务运行状况控制面板](https://health.aws.amazon.com/health/status)，了解区域中的 AWS NAT 网关的状态。这可以帮助您弄清楚与使用 NAT 网关的流量相关的网络问题。  
**意图：**此警报用于检测 NAT 网关是否正丢弃数据包。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**您应计算 NAT 网关上总流量 0.01% 的值，并将该结果用作阈值。使用 NAT 网关上流量的历史数据来确定阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## AWS 私有链接 (`AWS/PrivateLinkEndpoints`)
<a name="PrivateLinkEndpoints"></a>

**PacketsDropped**  
**维度：**VPC Id、VPC Endpoint Id、Endpoint Type、Subnet Id、Service Name  
**警报描述：**此警报通过监控端点丢弃的数据包数量，帮助检测端点或端点服务是否运行状况不佳。请注意，到达 VPC 端点的大小超过 8500 字节的数据包将被丢弃。要进行问题排查，请参阅[接口 VPC 端点和端点服务之间的连接问题](https://repost.aws/knowledge-center/connect-endpoint-service-vpc)。  
**意图：**此警报用于检测端点或端点服务是否运行状况不佳。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据用例设置阈值。如果您想了解端点或端点服务的运行状况不佳状态，应将阈值设置得较低，以便有机会在出现大量数据丢失之前修复问题。您可以使用历史数据来了解对丢弃数据包的容忍度，并相应地设置阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## AWS 私有链接 (`AWS/PrivateLinkServices`)
<a name="PrivateLinkServices"></a>

**RstPacketsSent**  
**维度：**Service Id、Load Balancer Arn、Az  
**警报描述：**此警报有助于您根据发送到端点之重置数据包的数量来检测端点服务的运行状况不佳目标。当您使用服务的消费端调试连接错误时，可以验证服务是否正在使用 rstPacketsSent 指标重置连接，或者网络路径上是否有其他操作会失败。  
**意图：**此警报用于检测端点服务运行状况不佳的目标。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**该阈值取决于用例。如果您的用例可以容忍运行状况不佳目标，则可以将阈值设置得较高。如果用例无法容忍运行状况不佳目标，则可以将阈值设置得非常低。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## `Amazon RDS`
<a name="RDS"></a>

**CPU 利用率**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控 CPU 利用率持续较高的情况。CPU 利用率衡量非空闲时间。考虑使用[增强监控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html)或 [Performance Insights](https://aws.amazon.com/rds/performance-insights/) 来查看对于 MariaDB、MySQL、Oracle 和 PostgreSQL，哪些[等待时间](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring-Available-OS-Metrics.html)消耗的 CPU 时间最多（`guest`、`irq`、`wait`、`nice` 等）。然后评估哪些查询消耗的 CPU 量最高。如果您无法调整工作负载，可以考虑改用更大的数据库实例类。  
**意图：**此警报用于检测 CPU 利用率持续较高的情况，以防响应时间过长和超时。如果要检查 CPU 利用率的微爆，可以设置较短的警报评估时间。  
**统计数据：**平均值  
**建议阈值：**90.0  
**阈值调整：**CPU 消耗的随机峰值可能不会影响数据库性能，但是 CPU 利用率持续较高可能会阻碍即将到来的数据库请求。根据数据库的总体工作负载，您的 RDS/Aurora 实例的 CPU 利用率较高可能会降低整体性能。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**DatabaseConnections**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报可以检测大量连接。检查现有连接并终止任何处于“休眠”状态或未正确关闭的连接。考虑使用连接池来限制新连接的数量。或者，增加数据库实例大小以使用具有更多内存的类，由此增加“max\$1connections”的默认值，或者如果当前类可以支持您的工作负载，则增加 [RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html)、Aurora [MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Performance.html) 和 [PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Managing.html) 中的“max\$1connections”值。  
**意图：**当达到最大数据库连接数时，此警报用于帮助防止连接被拒绝。如果您经常更改数据库实例类，则不建议使用此警报，因为这样做会更改内存和默认的最大连接数。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**允许的连接数取决于数据库实例类的大小以及与进程/连接相关的数据库引擎特定参数。您应计算一个介于数据库最大连接数的 90-95% 之间的值，并将该结果用作阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**EBSByteBalance%**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控剩余吞吐量积分的低百分比。要进行问题排查，请查看 [RDS 中的延迟问题](https://repost.aws/knowledge-center/rds-latency-ebs-iops-bottleneck)。  
**意图：**此警报用于检测突增存储桶中剩余的低百分比吞吐量积分。低字节余额百分比可能会导致吞吐量瓶颈问题。不建议对 Aurora PostgreSQL 实例使用此警报。  
**统计数据：**平均值  
**建议阈值：**10.0  
**阈值调整：**吞吐量积分余额低于 10% 被视为较差，您应相应地设置阈值。如果您的应用程序可以容忍较低的工作负载吞吐量，也可以设置较低的阈值。  
**时间段：**60  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**EBSIOBalance%**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控剩余的 IOPS 积分的低百分比。要进行问题排查，请参阅 [RDS 中的延迟问题](https://repost.aws/knowledge-center/rds-latency-ebs-iops-bottleneck)。  
**意图：**此警报用于检测突增存储桶中剩余的低百分比 I/O 积分。低 IOPS 余额百分比可能会导致 IOPS 瓶颈问题。建议不要对 Aurora 实例使用此警报。  
**统计数据：**平均值  
**建议阈值：**10.0  
**阈值调整：**IOPS 积分余额低于 10% 被视为较差，您可以相应地设置阈值。如果您的应用程序可以容忍较低的工作负载 IOPS，也可以设置较低的阈值。  
**时间段：**60  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**FreeableMemory**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控可用内存不足的情况，这可能意味着数据库连接出现峰值或您的实例可能承受较高的内存压力。除了 `FreeableMemory` 之外，还可以通过监控 `SwapUsage` 的 CloudWatch 指标来检查内存压力。如果实例内存消耗频繁过高，这表示您应检查您的工作负载或升级您的实例类。对于 Aurora 读取器数据库实例，请考虑向集群添加额外的读取器数据库实例。有关 Aurora 问题排查的更多信息，请参阅[可用内存问题](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Troubleshooting.html#Troubleshooting.FreeableMemory)。  
**意图：**此警报有利于防止内存不足的问题，此问题会导致连接被拒绝。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**根据工作负载和实例类，可能适合使用不同的阈值。理想情况下，可用内存不应长时间低于总内存的 25%。对于 Aurora，您可以将阈值设置为接近 5%，因为指标接近 0 意味着数据库实例已经尽可能地扩展。您可以分析该指标的历史行为以确定合理的阈值级别。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**FreeLocalStorage**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控本地可用存储空间不足的问题。Aurora PostgreSQL 兼容版使用本地存储空间来存储错误日志和临时文件。Aurora MySQL 使用本地存储来存储错误日志、一般日志、慢速查询日志、审核日志和非 InnoDB 临时表。这些本地存储卷由 Amazon EBS Store 提供支持，并可以通过使用更大的数据库实例类来进行扩展。要进行问题排查，请查看 Aurora [PostgreSQL 兼容版](https://repost.aws/knowledge-center/postgresql-aurora-storage-issue)和 [MySQL 兼容版](https://repost.aws/knowledge-center/aurora-mysql-local-storage)。  
**意图：**此警报用于检测如果您未使用 Aurora Serverless v2 或更高版本，Aurora 数据库实例与本地存储空间限制之间的差距。当您在本地存储空间中存储非永久性数据（例如临时表和日志文件）时，本地存储空间可能会达到容量上限。此警报可以防止在数据库实例用尽本地存储空间时，发生空间不足的错误。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**您应根据卷的使用速度和趋势计算可用存储量的约 10%-20%，然后使用该结果作为阈值，在卷达到限制之前主动采取行动。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**FreeStorageSpace**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报可以监控可用存储空间不足的问题。如果您经常接近存储空间容量限制，请考虑纵向扩展数据库存储。包含一些缓冲区，以适应不可预见的应用程序需求增加。或者，可以考虑启用 RDS 存储空间自动扩缩。此外，可以考虑通过删除未使用或过时的数据和日志来释放更多空间。有关更多信息，请查看 [RDS 用尽存储空间文档](https://repost.aws/knowledge-center/rds-out-of-storage)和 [PostgreSQL 存储空间问题文档](https://repost.aws/knowledge-center/diskfull-error-rds-postgresql)。  
**意图：**此警报有助于防止存储空间已满的问题。这可以防止数据库实例用尽存储空间时出现停机。如果您启用了存储空间自动扩缩，或者您经常更改数据库实例的存储容量，我们不建议使用此警报。  
**统计数据：**Minimum  
**建议阈值：**取决于您的情况  
**阈值调整：**阈值将取决于当前分配的存储空间。通常，您应计算已分配存储空间的 10% 的值，并将该结果用作阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**MaximumUsedTransactionIDs**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于防止 PostgreSQL 的事务 ID 重叠。请参阅[此博客](https://aws.amazon.com/blogs/database/implement-an-early-warning-system-for-transaction-id-wraparound-in-amazon-rds-for-postgresql/)中的问题排查步骤来调查和解决问题。您也可以参考[此博客](https://aws.amazon.com/blogs/database/understanding-autovacuum-in-amazon-rds-for-postgresql-environments/)，进一步熟悉 autovacuum 的概念、常见问题和最佳实践。  
**意图：**此警报用于帮助防止 PostgreSQL 的事务 ID 重叠。  
**统计数据：**平均值  
**建议阈值：**1.0E9  
**阈值调整：**将此阈值设置为 10 亿应该可以让您有时间调查问题。默认的 autovacuum\$1freeze\$1max\$1age 值为 2 亿。如果最早的事务的期限为 10 亿，则 autovacuum 很难将该阈值保持在 2 亿个事务 ID 的目标以下。  
**时间段：**60  
**要发出警报的数据点数**：1  
**评估期：**1  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ReadLatency**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控高读取延迟的情况。如果存储延迟很高，那是因为工作负载超过了资源限制。您可以查看相对于实例和分配的存储配置的 I/O 利用率。请参阅[排查由 IOPS 瓶颈导致的 Amazon EBS 卷延迟问题](https://repost.aws/knowledge-center/rds-latency-ebs-iops-bottleneck)。对于 Aurora，您可以切换到具有 [I/O 优化存储配置](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.storage-type.html)的实例类。有关指导，请参阅 [Planning I/O in Aurora](https://aws.amazon.com/blogs/database/planning-i-o-in-amazon-aurora/)。  
**意图：**此警报用于检测高读取延迟。数据库磁盘的读取/写入延迟通常较低，但可能存在导致高延迟操作的问题。  
**统计数据：**p90  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于您的用例。读取延迟高于 20 毫秒时通常都需要调查。如果您的应用程序可能具有更高的读取操作延迟，则也可以设置更高的阈值。查看读取延迟的严重性和要求，并分析此指标的历史行为以确定合理的阈值级别。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**ReplicaLag**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于您了解副本落后于主实例的秒数。如果源数据库实例上未发生任何用户事务，则 PostgreSQL 只读副本将在最迟 5 分钟后报告复制滞后。当 ReplicaLag 指标达到 0 时，即表示副本已赶上主数据库实例进度。如果 ReplicaLag 指标返回 –1，则当前未激活复制。有关与 RDS PostgreSQL 相关的指导，请参阅[复制最佳实践](https://aws.amazon.com/blogs/database/best-practices-for-amazon-rds-postgresql-replication/)；有关 `ReplicaLag` 和相关错误的问题排查，请参阅 [ReplicaLag 问题排查](https://repost.aws/knowledge-center/rds-postgresql-replication-lag)。  
**意图：**此警报可以检测副本延迟，这反映了主实例出现故障时可能发生的数据丢失。如果副本落后于主实例太远而主实例出现故障，则副本将丢失主实例中的数据。  
**统计数据：**Maximum  
**建议阈值：**60.0  
**阈值调整：**通常，可接受的延迟取决于应用程序。我们建议不要超过 60 秒。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**WriteLatency**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控高写入延迟。如果存储延迟很高，那是因为工作负载超过了资源限制。您可以查看相对于实例和分配的存储配置的 I/O 利用率。请参阅[排查由 IOPS 瓶颈导致的 Amazon EBS 卷延迟问题](https://repost.aws/knowledge-center/rds-latency-ebs-iops-bottleneck)。对于 Aurora，您可以切换到具有 [I/O 优化存储配置](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.storage-type.html)的实例类。有关指导，请参阅 [Planning I/O in Aurora](https://aws.amazon.com/blogs/database/planning-i-o-in-amazon-aurora/)。  
**意图：**此警报用于检测高写入延迟。尽管数据库磁盘通常具有较低的读取/写入延迟，但可能会遇到导致高延迟操作的问题。对此进行监控可以确保磁盘延迟与预期一样低。  
**统计数据：**p90  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于您的用例。写入延迟高于 20 毫秒时通常都需要调查。如果您的应用程序可能具有更高的写入操作延迟，则也可以设置更高的阈值。查看写入延迟的严重性和要求，并分析此指标的历史行为以确定合理的阈值级别。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**DBLoad**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控高数据库负载。如果进程数超过 vCPU 的数量，则进程开始排队。当队列增加时，性能会受到影响。如果数据库负载经常高于最大 vCPU 并且主要等待状态为 CPU，则表示 CPU 过载。在这种情况下，您可以在“Performance Insights/增强监控”中监控 `CPUUtilization`、`DBLoadCPU` 和排队的任务。您可能需要限制与实例的连接数，优化具有高 CPU 负载的任何 SQL 查询，或考虑使用更大的实例类。如果始终有大量实例处于任何等待状态，则表示可能存在要解决的瓶颈或资源争用问题。  
**意图：**此警报用于检测高数据库负载的情况。高数据库负载可能会导致数据库实例出现性能问题。此警报不适用于无服务器数据库实例。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**最大 vCPU 值由数据库实例的 vCPU（虚拟 CPU）内核数决定。根据最大 vCPU 的不同，可能适合使用不同的阈值。理想情况下，数据库负载不应超过 vCPU 线。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**AuroraVolumeBytesLeftTotal**  
**维度：**DBClusterIdentifier  
**警报描述：**此警报有助于监控卷剩余总量过低的情况。当卷剩余总量达到大小限制时，集群会报告空间不足错误。Aurora 存储空间会根据集群卷中的数据自动扩展，并根据[数据库引擎版本](https://repost.aws/knowledge-center/aurora-version-number)扩展至 128 TiB 或 64 TiB。考虑通过删除不再需要的表和数据库来减少存储空间。有关更多信息，请参阅[存储空间扩展](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Performance.html)。  
**意图：**此警报用于检测 Aurora 集群与卷大小限制的差距。此警报可以防止在集群用尽空间时，发生空间不足的错误。此警报仅推荐用于 Aurora MySQL。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**您应根据卷使用量增加的速度和趋势计算实际大小限制的 10%-20%，然后使用该结果作为阈值，在卷达到限制之前主动采取行动。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**AuroraBinlogReplicaLag**  
**维度：**DBClusterIdentifier、Role=WRITER  
**警报描述：**此警报有助于监控 Aurora 写入器实例复制的错误状态。有关更多信息，请参阅[跨AWS区域复制 Aurora MySQL 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.CrossRegion.html)。有关问题排查，请参阅 [Aurora MySQL 复制问题](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.MySQL)。  
**意图：**此警报用于检测写入器实例是否处于错误状态并且无法复制源。此警报仅推荐用于 Aurora MySQL。  
**统计数据：**平均值  
**建议阈值：**–1.0  
**阈值调整：**我们建议您使用 -1 作为阈值，因为如果副本处于错误状态，Aurora MySQL 会发布此值。  
**时间段：**60  
**要发出警报的数据点数**：2  
**评估期：**2  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**BlockedTransactions**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控 Aurora 数据库实例中被阻止事务数量高的情况。被阻止的事务最后可以回滚或提交。高并发度、事务空闲或事务长时间运行都可能导致事务被阻止。有关问题排查，请参阅 [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/ams-waits.row-lock-wait.html) 文档。  
**意图：**此警报用于检测 Aurora 数据库实例中被阻止事务数量高的情况，以防止事务回滚和性能下降。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**您应使用 `ActiveTransactions` 指标计算实例所有事务的 5%，并将该结果用作阈值。您还可以查看被阻止事务的严重性和要求，并分析此指标的历史行为以确定合理的阈值级别。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**BufferCacheHitRatio**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于您监控 Aurora 集群缓存命中率持续较低的情况。低命中率表示您对这个数据库实例的查询经常转向磁盘。有关问题排查，请调查您的工作负载以查看哪些查询导致了此行为，并参阅[数据库实例 RAM 建议](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.BestPractices.html#Aurora.BestPractices.Performance.Sizing)文档。  
**意图：**此警报用于检测缓存命中率持续较低的情况，以防 Aurora 实例的性能持续下降。  
**统计数据：**平均值  
**建议阈值：**80.0  
**阈值调整：**您可以将缓冲区缓存命中率的阈值设置为 80%。但是，您可以根据可接受性能级别和工作负载特征来调整此值。  
**时间段：**60  
**要发出警报的数据点数**：10  
**评估期：**10  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**EngineUptime**  
**维度：**DBClusterIdentifier、Role=WRITER  
**警报描述：**此警报有助于监控写入器数据库实例停机时间较少的情况。由于重启、维护、升级或失效转移，写入器数据库实例可能会停机。当正常运行时间因集群中的失效转移而达到 0，并且集群具有一个或多个 Aurora 副本时，Aurora 副本会在故障事件期间提升至主写入器实例。要提高数据库集群的可用性，请考虑在两个或更多不同可用区中创建一个或多个 Aurora 副本。有关更多信息，请查看[影响 Aurora 停机时间的因素](https://repost.aws/knowledge-center/aurora-mysql-downtime-factors)。  
**意图：**此警报用于检测 Aurora 写入器数据库实例是否处于停机状态。这可以防止由于崩溃或失效转移而导致在写入器实例中出现长时间运行的故障。  
**统计数据：**平均值  
**建议阈值：**0.0  
**阈值调整：**故障事件将导致短暂中断，其间的读取和写入操作将失败并引发异常。不过，服务通常会在 60 秒内（经常在 30 秒内）还原。  
**时间段：**60  
**要发出警报的数据点数**：2  
**评估期：**2  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**RollbackSegmentHistoryListLength**  
**维度：**DBInstanceIdentifier  
**警报描述：**此警报有助于监控 Aurora 实例回滚分段历史记录长度持续较长。InnoDB 历史记录列表长度较长则表明大量的旧行版本、查询和数据库关闭已经变慢。有关更多信息和问题排查，请参阅 [InnoDB 历史记录列表长度显著增加](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/proactive-insights.history-list.html)文档。  
**意图：**此警报用于检测回滚段历史记录长度持续较长。这有助于您防止 Aurora 实例的持续性能下降和 CPU 利用率过高。此警报仅推荐用于 Aurora MySQL。  
**统计数据：**平均值  
**建议阈值：**1000000.0  
**阈值调整：**将此阈值设置为 100 万可让您有充足的时间调查问题。但是，您可以根据可接受性能级别和工作负载特征来调整此值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**StorageNetworkThroughput**  
**维度：**DBClusterIdentifier、Role=WRITER  
**警报描述：**此警报有助于监控存储网络吞吐量较高的情况。如果存储网络吞吐量超过 [EC2 实例](https://aws.amazon.com/ec2/instance-types/)的总网络带宽，则可能导致读取和写入延迟较高，从而导致性能下降。您可以从 AWS 控制台查看您的 EC2 实例类型。有关问题排查，请检查写入/读取延迟的任何变化，并评估您是否也针对此指标发出了警报。如果是这样的话，请评估警报触发期间的工作负载模式。这有助于您确定是否可以优化工作负载以减少总网络流量。如果无法优化，您可能需要考虑扩展实例。  
**意图：**此警报用于检测存储网络吞吐量较高的情况。检测高吞吐量可以防止网络数据包丢失和性能下降。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值调整：**您应计算出 EC2 实例类型总网络带宽的约 80%-90%，然后使用该结果作为阈值，以便在网络数据包受到影响之前主动采取行动。您还可以查看存储网络吞吐量的严重性和要求，并分析此指标的历史行为以确定合理的阈值级别。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## `Amazon Route 53 Public Data Plane`
<a name="Route53"></a>

**HealthCheckStatus**  
**维度：**HealthCheckId  
**警报描述：**此警报有助于根据运行状况检查程序检测运行状况不佳的端点。要了解导致运行状况不佳状态的失败的原因，请使用 Route 53 运行状况检查控制台中的“运行状况检查程序”选项卡，查看每个区域的状态以及上次运行状况检查的失败情况。“状态”选项卡还显示端点被报告为运行状况不佳的原因。请参阅[问题排查步骤](https://repost.aws/knowledge-center/route-53-fix-unhealthy-health-checks)。  
**意图：**此警报使用 Route53 运行状况检查程序来检测运状况不佳的端点。  
**统计数据：**平均值  
**建议阈值：**1.0  
**阈值理由：**当端点运行正常时，其状态报告为 1。所有小于 1 的情况都表示运行状况不佳。  
**时间段：**60  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

## `Amazon S3`
<a name="S3"></a>

**4xxErrors**  
**维度：**BucketName、FilterId  
**警报描述：**此警报可帮助我们报告为响应客户端请求而发出的 4xx 错误状态代码的总数。例如，403 错误代码可能表示 IAM 策略不正确，404 错误代码可能表示客户端应用程序操作不当。临时[启用 S3 服务器访问日志记录](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)将帮助您使用 HTTP 状态和错误代码字段查明问题的根源。要了解有关错误代码的更多信息，请参阅 [Error Responses](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html)。  
**意图：**此告警可用于为典型的 4xx 错误率创建基准，以便您可以调查可能表明存在设置问题的任何异常。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**建议阈值旨在检测是否总请求数中超过 5% 的请求会收到 4XX 错误。应针对频繁发生的 4XX 错误设置告警。但是，将阈值设置得非常低可能会导致告警过于敏感。您还可以调整阈值以适应请求的负载，同时考虑可接受的 4XX 错误级别。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**5xxErrors**  
**维度：**BucketName、FilterId  
**警报描述：**此警报有助于您检测高客户端错误数。此类错误表明客户端发出了服务器无法完成的请求。这可以帮助您弄清楚您的应用程序因为 S3 而面临的问题。有关帮助您高效处理或减少错误的更多信息，请参阅[优化性能设计模式](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-design-patterns.html#optimizing-performance-timeouts-retries)。错误也可能是由 S3 的问题所致，请查看 [AWS 服务运行状况控制面板](https://health.aws.amazon.com/health/status)，了解区域中的 Amazon S3 的状态。  
**意图：**此警报有助于检测应用程序是否因 5xx 错误而遇到问题。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**我们建议设置阈值，以检测是否总请求数中超过 5% 的请求会收到 5XX 错误。但是，您可以调整阈值以适应请求的流量以及可接受的错误率。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**OperationsFailedReplication**  
**维度：**SourceBucket、DestinationBucket、RuleId  
**警报描述：**此警报有助于了解复制失败。此指标会跟踪使用 S3 CRR 或 S3 SRR 复制的新对象的状态，还会跟踪使用 S3 批量复制复制的现有对象。有关更多详细信息，请参阅[对复制进行问题排查](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-troubleshoot.html)。  
**意图：**此警报用于检测是否存在失败的复制操作。  
**统计数据：**Maximum  
**建议阈值：**0.0  
**阈值理由：**对于成功的操作，此指标会发出值 0；当一分钟内没有执行任何复制操作时，此指标不发出任何值。当指标发出的值大于 0 时，复制操作将失败。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## `S3ObjectLambda`
<a name="S3ObjectLambda"></a>

**4xxErrors**  
**维度：**AccessPointName、DataSourceARN  
**警报描述：**此警报可帮助我们报告为响应客户端请求而发出的 4xx 错误状态代码的总数。临时[启用 S3 服务器访问日志记录](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)将帮助您使用 HTTP 状态和错误代码字段查明问题的根源。  
**意图：**此告警可用于为典型的 4xx 错误率创建基准，以便您可以调查可能表明存在设置问题的任何异常。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**我们建议设置阈值，以检测是否总请求数中超过 5% 的请求会收到 4xx 错误。应针对频繁发生的 4XX 错误设置告警。但是，将阈值设置得非常低可能会导致告警过于敏感。您还可以调整阈值以适应请求的负载，同时考虑可接受的 4XX 错误级别。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**5xxErrors**  
**维度：**AccessPointName、DataSourceARN  
**警报描述：**此警报有助于检测高客户端错误数。此类错误表明客户端发出了服务器无法完成的请求。此类错误也可能是由 S3 的问题所致，请查看 [AWS 服务运行状况控制面板](https://health.aws.amazon.com/health/status)，了解区域中的 Amazon S3 的状态。这可以帮助您弄清楚您的应用程序因为 S3 而面临的问题。有关帮助您高效处理或减少此类错误的信息，请参阅[优化性能设计模式](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-design-patterns.html#optimizing-performance-timeouts-retries)。  
**意图：**此警报有助于检测应用程序是否因 5xx 错误而遇到问题。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**我们建议设置阈值，以检测是否总请求数中超过 5% 的请求会收到 5XX 错误。但是，您可以调整阈值以适应请求的流量以及可接受的错误率。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**LambdaResponse4xx**  
**维度：**AccessPointName、DataSourceARN  
**警报描述：**此警报有助于您检测和诊断 S3 对象 Lambda 调用中的失败（500 秒）。此类错误可能是由负责响应您请求的 Lambda 函数中的错误或配置错误所致。调查与对象 Lambda 接入点关联的 Lambda 函数的 CloudWatch 日志流，可以帮助您根据 S3 对象 Lambda 的响应查明问题的根源。  
**意图：**此警报用于检测 WriteGetObjectResponse 调用的 4xx 客户端错误。  
**统计数据：**平均值  
**建议阈值：**0.05  
**阈值理由：**我们建议设置阈值，以检测是否总请求数中超过 5% 的请求会收到 4xx 错误。应针对频繁发生的 4XX 错误设置告警。但是，将阈值设置得非常低可能会导致告警过于敏感。您还可以调整阈值以适应请求的负载，同时考虑可接受的 4XX 错误级别。您还可以分析历史数据以确定应用程序工作负载的可接受错误率，然后相应地调整阈值。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon SNS
<a name="SNS"></a>

**NumberOfMessagesPublished**  
**维度：**TopicName  
**警报描述：**此警报可以检测何时发布的 SNS 消息数量过低。要排查问题，请检查发布者发送的流量减少的原因。  
**意图：**此警报有助于您主动监控和检测通知发布的显著下降。这可以帮助您识别应用程序或业务流程的潜在问题，以便您可以执行适当的操作来维护预期的通知流。如果您希望系统处理的流量最低，则应创建此警报。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**发布的消息数量应与应用程序的预期已发布消息数量一致。您还可以分析历史数据、趋势和流量，以确定合适的阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**NumberOfNotificationsDelivered**  
**维度：**TopicName  
**警报描述：**此警报可以检测何时传送的 SNS 消息数量过低。这可能是由于端点意外取消订阅或导致消息出现延迟的 SNS 事件所致。  
**意图：**此警报有助于您检测传送的消息量的下降。如果您希望系统处理的流量最低，则应创建此警报。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**传送的消息数量应与预期生成的消息数量和消费端数量相符。您还可以分析历史数据、趋势和流量，以确定合适的阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**NumberOfNotificationsFailed**  
**维度：**TopicName  
**警报描述：**此警报可以检测何时传送失败的 SNS 消息数量过高。要排查失败通知的问题，请启用日志记录功能，并将日志记录到 CloudWatch Logs 中。检查日志可以帮助您确定面向哪些订阅用户的通知失败了，以及这些通知返回的状态码。  
**意图：**此警报有助于您主动发现通知传送方面的问题，并执行适当的操作来解决这些问题。  
**统计数据：**Sum  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于失败通知的影响。查看提供给最终用户的 SLA、通知的容错能力和临界程度，并分析历史数据，然后相应地选择阈值。对于只有 SQS、Lambda 或 Firehose 订阅的主题，失败的通知数量应为 0。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**NumberOfNotificationsFilteredOut-InvalidAttributes**  
**维度：**TopicName  
**警报描述：**此警报有助于监控和解决发布者或订阅用户遇到的潜在问题。检查发布者是否在发布具有无效属性的消息，或者是否对订阅用户应用了不当筛选条件。您还可以分析 CloudWatch Logs，以帮助确定问题的根本原因。  
**意图：**此警报用于检测已发布的消息是否无效，或者是否对订阅用户应用了不当筛选条件。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**无效属性几乎总是发布者出错导致的。我们建议将阈值设置为 0，因为在运行正常的系统中，预计不会出现无效属性。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**NumberOfNotificationsFilteredOut-InvalidMessageBody**  
**维度：**TopicName  
**警报描述：**此警报有助于监控和解决发布者或订阅用户遇到的潜在问题。检查发布者是否在发布具有无效消息正文的消息，或者是否对订阅用户应用了不当筛选条件。您还可以分析 CloudWatch Logs，以帮助确定问题的根本原因。  
**意图：**此警报用于检测已发布的消息是否无效，或者是否对订阅用户应用了不当筛选条件。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**无效消息正文几乎总是发布者出错导致的。我们建议将阈值设置为 0，因为在运行正常的系统中，预计不会出现无效消息正文。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**NumberOfNotificationsRedrivenToDlq**  
**维度：**TopicName  
**警报描述：**此警报有助于监控要移至死信队列的消息数量。  
**意图：**此警报用于检测要移至死信队列的消息。我们建议您在将 SNS 与 SQS、Lambda 或 Firehose 结合使用时创建此警报。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**在任何订阅用户类型的运行正常的系统中，不应将消息移至死信队列。如果有任何消息进入该队列，我们建议向您发送通知，以便您可以识别根本原因并解决问题，并有可能重新驱动死信队列中的消息以防止数据丢失。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**NumberOfNotificationsFailedToRedriveToDlq**  
**维度：**TopicName  
**警报描述：**此警报有助于监控无法移至死信队列的消息。检查您的死信队列是否存在，并检查其配置是否正确。此外，请验证 SNS 是否有权访问死信队列。要了解更多信息，请参阅[死信队列文档](https://docs.aws.amazon.com/sns/latest/dg/sns-dead-letter-queues.html)。  
**意图：**此警报用于检测无法移至死信队列的消息。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**如果无法将消息移至死信队列，则几乎总会出错。建议阈值为 0，这意味着在配置队列后，所有处理失败的消息都必须能够到达死信队列。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**SMSMonthToDateSpentUSD**  
**维度：**TopicName  
**警报描述：**此警报有助于监控您的账户中是否有足够的限额让 SNS 能够传送消息。如果达到了限额，SNS 将无法传送 SMS 消息。有关设置您的每月 SMS 支出限额的信息，或有关向 AWS 请求提高支出限额的信息，请参阅[设置发送 SMS 消息的首选项](https://docs.aws.amazon.com/sns/latest/dg/sms_preferences.html)。  
**意图：**此警报用于检测您的账户中是否有足够的限额来成功传送 SMS 消息。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**根据账户的限额（账户支出限额）设置阈值。选择一个阈值，该阈值会尽早告知您已达到限额，以便您有时间请求增加限额。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

**SMSSuccessRate**  
**维度：**TopicName  
**警报描述：**此警报有助于监控 SMS 消息传送的失败率。您可以设置 [Cloudwatch Logs](https://docs.aws.amazon.com/sns/latest/dg/sms_stats_cloudwatch.html) 以了解失败的性质并据此执行操作。  
**意图：**此警报用于检测 SMS 消息传送失败。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**根据您对 SMS 消息传送失败的容忍度设置警报阈值。  
**时间段：**60  
**要发出警报的数据点数**：5  
**评估期：**5  
**比较运算符：**GREATER\$1THAN\$1THRESHOLD

## Amazon SQS
<a name="SQS"></a>

**ApproximateAgeOfOldestMessage**  
**维度：**QueueName  
**警报描述：**此警报会监控队列中最早消息的期限。您可以使用此警报来监控您的消费端是否以所需速度处理 SQS 消息。考虑增加消费端数量或消费端吞吐量以缩短消息期限。此指标可以与 `ApproximateNumberOfMessagesVisible` 结合使用，以确定队列积压的大小以及消息的处理速度。为防止消息在处理之前被删除，请考虑将死信队列配置为放弃潜在的毒丸消息。  
**意图：**此警报用于检测 queueName 队列中最早消息的期限是否过长。长期限可能表示消息处理速度不够快，或者有一些毒丸消息卡在队列中无法处理。  
**统计数据：**Maximum  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于预期的消息处理时间。您可以使用历史数据计算平均消息处理时间，然后将阈值设置为比队列消费端的预期最大 SQS 消息处理时间多 50%。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**ApproximateNumberOfMessagesNotVisible**  
**维度：**QueueName  
**警报描述：**此警报有助于检测与 `QueueName` 有关的大量传输中消息。要排查问题，请检查[消息积压减少](https://repost.aws/knowledge-center/sqs-message-backlog)。  
**意图：**此警报用于检测队列中大量的传输中消息。如果消费端没有在可见性超时期限内删除消息，则在轮询队列时，消息会重新出现在队列中。对于 FIFO 队列，最多可以有 20000 条传输中消息。如果您达到此限额，SQS 将不会返回任何错误消息。FIFO 队列会浏览前 2 万条消息以确定可用的消息组。这意味着，如果您在单个消息组中积压了消息，则在成功使用积压的消息之前，您无法使用其他消息组中稍后发送到该队列的消息。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**此警报的建议阈值在很大程度上取决于预期的传输中消息数量。您可以使用历史数据来计算传输中消息的预期最大数量，并将阈值设置为超过该值的 50%。如果队列的消费端正在处理消息但没有从队列中删除消息，则此数量将突然增加。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**ApproximateNumberOfMessagesVisible**  
**维度：**QueueName  
**警报描述：**此警报会监控消息队列的积压是否大于预期，这表明消费端的速度太慢或消费端数量不足。如果此警报进入“ALARM”状态，可以考虑增加消费端数量或加快消费端的速度。  
**意图：**此警报用于检测活动队列的消息计数是否过高，消费端是否处理消息缓慢，或者是否没有足够的消费端来处理消息。  
**统计数据：**平均值  
**建议阈值：**取决于您的情况  
**阈值理由：**可见消息的数量异常高，表明消费端处理消息的速度未达到预期。设置此阈值时，应考虑历史数据。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**GREATER\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

**NumberOfMessagesSent**  
**维度：**QueueName  
**警报描述：**此警报有助于检测生成器是否没有就 `QueueName` 发送任何消息。要排查问题，请检查生成器未发送消息的原因。  
**意图：**此警报用于检测生成器何时停止发送消息。  
**统计数据：**Sum  
**建议阈值：**0.0  
**阈值理由：**如果发送的消息数量为 0，则生成器不会发送任何消息。如果此队列的 TPS 较低，请相应地增加 EvaluationPeriods 的数量。  
**时间段：**60  
**要发出警报的数据点数**：15  
**评估期：**15  
**比较运算符：**LESS\$1THAN\$1OR\$1EQUAL\$1TO\$1THRESHOLD

## Site-to-Site VPN
<a name="VPN"></a>

**TunnelState**  
**维度：**VpnId  
**警报描述：**此警报有助于您了解一条或多条隧道的状态是否为“DOWN”。有关问题排查，请参阅[如何排查与 Amazon VPC 的 VPN 隧道连接故障？](https://repost.aws/knowledge-center/vpn-tunnel-troubleshooting)。  
**意图：**此警报用于检测此 VPN 的至少一条隧道是否处于“DOWN”状态，以便您可以排查受影响 VPN 的问题。对于仅配置了单条隧道的网络，此警报将始终处于“ALARM”状态。  
**统计数据：**Minimum  
**建议阈值：**1.0  
**阈值理由：**值小于 1 表示至少有一条隧道处于“DOWN”状态。  
**时间段：**300  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**LESS\$1THAN\$1THRESHOLD

**TunnelState**  
**维度：**TunnelIpAddress  
**警报描述：**此警报有助于您了解此隧道的状态是否为“DOWN”。有关问题排查，请参阅[如何排查与 Amazon VPC 的 VPN 隧道连接故障？](https://repost.aws/knowledge-center/vpn-tunnel-troubleshooting)。  
**意图：**此警报用于检测隧道是否处于“DOWN”状态，以便您可以排查受影响 VPN 的问题。对于仅配置了单条隧道的网络，此警报将始终处于“ALARM”状态。  
**统计数据：**Minimum  
**建议阈值：**1.0  
**阈值理由：**值小于 1 表示隧道处于“DOWN”状态。  
**时间段：**300  
**要发出警报的数据点数**：3  
**评估期：**3  
**比较运算符：**LESS\$1THAN\$1THRESHOLD