CloudWatch Application Load Balancer 的指标 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

CloudWatch Application Load Balancer 的指标

Elastic Load Balancing 将您的 CloudWatch 负载均衡器和目标的数据点发布到亚马逊。 CloudWatch允许您以一组有序的时间序列数据(称为指标)的形式检索有关这些数据点的统计信息。可将指标视为要监控的变量,而将数据点视为该变量随时间变化的值。例如,您可以在指定时间段内监控负载均衡器的正常目标的总数。每个数据点都有相关联的时间戳和可选测量单位。

您可使用指标来验证系统是否正常运行。例如,您可以创建 CloudWatch 警报来监控指定的指标,并在该指标超出您认为可接受的范围时启动操作(例如向电子邮件地址发送通知)。

CloudWatch 仅当请求流经负载均衡器时,Elastic Load Balancing 才会向其报告指标。如果有请求流经负载均衡器,则 Elastic Load Balancing 进行测量并以 60 秒的间隔发送其指标。如果没有请求流经负载均衡器或指标无数据,则不报告指标。

有关更多信息,请参阅 Amazon CloudWatch 用户指南

Application Load Balancer 指标

AWS/ApplicationELB 命名空间包括负载均衡器的以下指标。

指标 描述
ActiveConnectionCount

从客户端到负载均衡器以及从负载均衡器到目标的活动并发TCP连接总数。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

AnomalousHostCount

检测到异常的主机数量。

报告标准:始终报告

统计数据:最有用的统计工具是 AverageMinimumMaximum

尺寸
  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

ClientTLSNegotiationErrorCount

由于TLS错误而未与负载均衡器建立会话的客户端启动的TLS连接数。可能的原因包括密码或协议不匹配或者客户端因无法验证服务器证书而关闭了连接。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ConsumedLCUs

您的负载均衡器使用的负载均衡器容量单位 (LCU) 的数量。您需要为每小时LCUs的使用量付费。有关更多信息,请参阅 Elastic Load Balancing 定价

报告标准:始终报告

统计数据:全部

尺寸
  • LoadBalancer

PeakLCUs

您的负载均衡器在给定时间点使用的最大负载均衡器容量单位数 (LCU)。仅在使用LCU预订时适用。

举报标准:始终

统计数据:最有用的统计工具为 SumMax

尺寸
  • LoadBalancer

ReservedLCUs

使用预留为您的负载均衡器预留的负载均衡器LCU容量单位数 (LCUs)。

报告标准:有非零值

统计数据:全部

尺寸
  • LoadBalancer

DesyncMitigationMode_NonCompliant_Request_Count

不符合 RFC 7230 的请求数量。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

MitigatedHostCount

正在缓解的目标数量。

报告标准:始终报告

统计数据:最有用的统计工具是 AverageMinimumMaximum

尺寸
  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

GrpcRequestCount

已处理的 g RPC 请求数量IPv4和IPv6。

报告标准:有非零值

统计数据:最有用的统计数据是 Sum. MinimumMaximum 以及 Average 全部返回 1。

尺寸
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

  • TargetGroup

  • AvailabilityZone, TargetGroup

HTTP_Fixed_Response_Count

成功的固定响应操作的次数。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTP_Redirect_Count

成功的重定向操作的次数。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTP_Redirect_Url_Limit_Exceeded_Count

由于响应位置标头URL中的大于 8K 而无法完成的重定向操作的数量。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_3XX_Count

来自负载均HTTP衡器的 3XX 重定向代码的数量。该计数不包含目标生成的响应代码。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_4XX_Count

来自负载均衡器的 HTTP 4XX 客户端错误代码的数量。该计数不包含目标生成的响应代码。

如果请求格式错误或不完整,则会生成客户端错误。除了负载均衡器返回 HTTP460 错误代码的情况外,目标未收到这些请求。该计数不包含目标生成的任何响应代码。

报告标准:有非零值

统计数据:最有用的统计数据是 Sum. MinimumMaximum 以及 Average 全部返回 1。

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_5XX_Count

来自负载均衡器的 HTTP 5XX 服务器错误代码的数量。该计数不包含目标生成的任何响应代码。

报告标准:有非零值

统计数据:最有用的统计数据是 Sum. MinimumMaximum 以及 Average 全部返回 1。

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_500_Count

来自负载均衡器的 HTTP 500 个错误代码的数量。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_502_Count

来自负载均衡器的 HTTP 502 个错误代码的数量。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_503_Count

来自负载均衡器的 HTTP 503 个错误代码的数量。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_504_Count

来自负载均衡器的 HTTP 504 个错误代码的数量。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

IPv6ProcessedBytes

负载均衡器处理的总字节数IPv6。此计数包含在 ProcessedBytes 中。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

IPv6RequestCount

负载均衡器收到的IPv6请求数。

报告标准:有非零值

统计数据:最有用的统计数据是 Sum. MinimumMaximum 以及 Average 全部返回 1。

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

NewConnectionCount

从客户端到负载均衡器以及从负载均衡器到目标的新TCP连接总数。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

NonStickyRequestCount

负载均衡器因其无法使用现有粘性会话而选择新目标的请求的数目。例如,请求是来自新客户端的第一个请求且未提供粘性 Cookie,提供了粘性 Cookie 但未指定已注册到此目标组的目标,粘性 Cookie 的格式错误或已过期,或者出现内部错误,导致负载均衡器无法读取粘性 Cookie。

报告标准:已在目标组上启用粘性。

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedBytes

负载均衡器通过IPv4和处理的总字节数IPv6(HTTP标头和HTTP有效负载)。此计数包括到和来自客户端和 Lambda 函数的流量,以及来自身份提供程序 (IdP) 的流量(如果启用了用户身份验证)。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

RejectedConnectionCount

由于负载均衡器达到连接数上限被拒绝的链接的数量。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

RequestCount

经过IPv4和处理的请求数IPv6。此指标仅在负载均衡器节点能够选择目标的请求中递增。在选择目标之前拒绝的请求不会反映在此指标中。

报告标准:始终报告

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • LoadBalancer, AvailabilityZone

  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

RuleEvaluations

负载均衡器在处理请求时评估的规则数量。默认规则不计算在内。此计数包含每个请求的 10 次免费规则评估。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

ZonalShiftedHostCount

由于区域偏移而被视为禁用的目标数量。

报告标准:有值时报告

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer, TargetGroup.

  • AvailabilityZone, LoadBalancer, TargetGroup.

AWS/ApplicationELB 命名空间包括目标的以下指标。

指标 描述
HealthyHostCount

被视为正常运行的目标数量。

报告标准:如果有注册目标则进行报告。

统计数据:最有用的统计工具是 AverageMinimumMaximum

尺寸
  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

HTTPCode_Target_2XX_Count, HTTPCode_Target_3XX_Count, HTTPCode_Target_4XX_Count, HTTPCode_Target_5XX_Count

目标生成的HTTP响应码数。它不包括负载均衡器生成的任何响应代码。

报告标准:如果有注册目标则进行报告。

统计数据:最有用的统计数据是 Sum. MinimumMaximum 以及 Average 全部返回 1。

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

RequestCountPerTarget

目标组中每个目标的平均请求数。您必须使用 TargetGroup 维度指定目标组。如果目标是 Lambda 函数,则此指标不适用。

此计数使用目标组收到的请求总数除以目标组中运行状况良好的目标的数量。如果目标组中没有运行状况良好的目标,则将其除以已注册目标的总数。

报告标准:始终报告

统计:唯一有效的统计数据是 Sum。这代表平均值,而不是总和。

尺寸
  • TargetGroup

  • TargetGroup, AvailabilityZone

  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

TargetConnectionErrorCount

负载均衡器和目标之间连接建立不成功的次数。如果目标是 Lambda 函数,则此指标不适用。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

TargetResponseTime

请求离开负载均衡器到目标开始发送响应标头所经过的时间(以秒为单位)。这与访问日志中的 target_processing_time 字段是等效的。

报告标准:有非零值

Statistics:最有用的统计工具是 AveragepNN.NN(百分比)。

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

TargetTLSNegotiationErrorCount

由负载均衡器启动但未与目标建立会话的TLS连接数。可能的原因包括密码或协议不匹配。如果目标是 Lambda 函数,则此指标不适用。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

UnHealthyHostCount

被视为未正常运行的目标数量。

报告标准:如果有注册目标则进行报告。

统计数据:最有用的统计工具是 AverageMinimumMaximum

尺寸
  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

AWS/ApplicationELB 命名空间包括目标组运行状况的以下指标。有关更多信息,请参阅 目标组运行状况

指标 描述
HealthyStateDNS

符合DNS健康状态要求的区域数量。

统计数据:最有用的统计工具是 Max

尺寸
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

HealthyStateRouting

符合路由运行状况良好状态要求的区域数量。

统计数据:最有用的统计工具是 Max

尺寸
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

UnhealthyRoutingRequestCount

使用路由故障转移操作(失败时开放)路由的请求数。

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

UnhealthyStateDNS

不符合DNS健康状态要求因此被标记为不健康的区域的DNS数量。

统计数据:最有用的统计工具是 Min

尺寸
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

UnhealthyStateRouting

不符合路由运行状况良好状态要求,因此负载均衡器会将流量分配到区域中的所有目标(包括运行状况不佳的目标)的区域数量。

统计数据:最有用的统计工具是 Min

尺寸
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

AWS/ApplicationELB 命名空间包括已注册为目标的 Lambda 函数的以下指标。

指标 描述
LambdaInternalError

因负载均衡器或 Amazon Lambda内部出现问题而导致失败的对 Lambda 函数的请求数。要获取错误原因代码,请查看访问日志的 error_reason 字段。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • TargetGroup

  • TargetGroup, LoadBalancer

LambdaTargetProcessedBytes

负载均衡器为针对 Lambda 函数的请求和来自该函数的响应处理的字节的总数。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

LambdaUserError

因 Lambda 函数出现问题而导致失败的对 Lambda 函数的请求数。例如,负载均衡器无权调用该函数,负载均衡器JSON收到的函数格式错误或缺少必填字段,或者请求正文或响应的大小超过了 1 MB 的最大大小。要获取错误原因代码,请查看访问日志的 error_reason 字段。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • TargetGroup

  • TargetGroup, LoadBalancer

AWS/ApplicationELB 命名空间包括用户身份验证的以下指标。

指标 描述
ELBAuthError

由于身份验证操作配置错误、负载均衡器无法与 IdP 建立连接,或负载均衡器因内部错误无法完成身份验证流程,所导致的无法完成用户身份验证的次数。要获取错误原因代码,请查看访问日志的 error_reason 字段。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthFailure

由于 IdP 拒绝用户访问或授权代码多次使用导致的无法完成用户身份验证的次数。要获取错误原因代码,请查看访问日志的 error_reason 字段。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthLatency

向 IdP 查询 ID 令牌和用户信息所用的时间(毫秒)。如果这些操作中有一项或多项操作失败,这表示失败时间。

报告标准:有非零值

统计数据:所有统计数据均有意义。

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthRefreshTokenSuccess

负载均衡器使用 IdP 提供的刷新令牌成功刷新用户声明的次数。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthSuccess

成功的身份验证操作的次数。负载均衡器从 IdP 检索用户身份声明后,验证工作流结束时此指标会递增。

报告标准:有非零值

统计数据:最有用的统计工具是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthUserClaimsSizeExceeded

配置的 IdP 返回大小超过 11K 字节的用户声明的次数。

报告标准:有非零值

统计数据:唯一有意义的统计数据是 Sum

尺寸
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

Application Load Balancer 的指标维度

要筛选 Application Load Balancer 的指标,请使用以下维度。

维度 描述
AvailabilityZone

按可用区筛选指标数据。

LoadBalancer

按负载均衡器筛选指标数据。按如下方式指定负载均衡器:app load-balancer-name/1234567890123456(负载均衡器的最后一部分)。ARN

TargetGroup

按目标组筛选指标数据。按如下方式指定目标组:targetgroup/ target-group-name/1234567890123456(目标组的最后一部分)。ARN

Application Load Balancer 指标的统计数据

CloudWatch 根据 Elastic Load Balancing 发布的指标数据点提供统计数据。统计数据是在指定的时间段内汇总的指标数据。当请求统计数据时,返回的数据流按指标名称和维度进行识别。维度是用于唯一标识指标的名称-值对。例如,您可以请求在特定可用区启动的负载均衡器后面的所有运行正常的EC2实例的统计数据。

MinimumMaximum 统计数据反映每个采样窗口中各个负载均衡器节点报告的数据点的最小值和最大值。例如,假定应用程序负载均衡器由两个负载均衡器节点组成。一个节点的 HealthyHostCountMinimum 为 2,Maximum 为 10,Average 为 6,另一个节点的 HealthyHostCountMinimum 为 1,Maximum 为 5,Average 为 3。因此,负载均衡器的 Minimum 为 1,Maximum 为 10,Average 大约为 4。

我们建议您监控 Minimum 统计数据中的非零值 UnHealthyHostCount,并在多个数据点为非零值时发出警报。如果您使用 Minimum,则系统将检测负载均衡器中每个节点和可用区认为目标运行不正常的情况。如果您想收到有关潜在问题的提醒,则可以设置为按 AverageMaximum 发出警报,我们建议客户检查此指标并调查非零值情况。按照在 Amazon Auto Scaling 或亚马逊弹性容器服务 (AmazonECS) 中使用负载均衡器运行状况检查的最佳实践,可以EC2自动缓解故障。

Sum 统计数据是所有负载均衡器节点的汇总值。由于这些指标在每个周期均包含多个报告,因此 Sum 仅适用于对所有负载均衡器节点进行汇总的指标。

SampleCount 统计数据是测量的样本数。由于这些指标是基于采样间隔和事件进行收集的,因此此统计信息一般没有用。例如,对于 HealthyHostCountSampleCount 基于每个负载均衡器节点报告的样本数,而不是运行状况正常的主机数。

百分位数指示某个值在数据集中的相对位置。您可以指定任何百分位数,最多使用两位小数 (例如 p95.45)。例如,第 95 个百分位数表示 95% 的数据低于此值,5% 的数据高于此值。百分位数通常用于隔离异常值。例如,假设某个应用程序从缓存服务大多数请求的时间是 1-2 毫秒,但如果缓存是空的,则时间需要 100-200 毫秒。最大值反映了最慢的情况,也就是大约 200 毫秒。平均值不表示数据的分布。百分位提供了一个更有意义的应用程序性能视图。通过使用第 99 个百分位数作为 Auto Scaling 触发器或 CloudWatch 警报,您可以将处理时间超过 2 毫秒的请求设定为不超过 1%。

查看您的负载均衡器的 CloudWatch 指标

您可以使用 Amazon EC2 控制台查看您的负载均衡器的 CloudWatch 指标。这些指标显示为监控图表。如果负载均衡器处于活动状态并且正在接收请求,则监控图表会显示数据点。

或者,您可以使用 CloudWatch控制台查看负载均衡器的指标。

使用控制台查看指标
  1. 打开亚马逊EC2控制台,网址为https://console.aws.amazon.com/ec2/

  2. 要查看按目标组筛选的指标,请执行以下操作:

    1. 在导航窗格中,选择 Target Groups

    2. 选择目标组,然后选择 Monitoring 选项卡。

    3. (可选) 要按时间筛选结果,请从 Showing data for 中选择时间范围。

    4. 要获得单个指标的一个较大视图,请选择其图形。

  3. 要查看按负载均衡器筛选的指标,请执行以下操作:

    1. 在导航窗格中,选择 Load Balancers

    2. 选择您的负载均衡器,然后选择 Monitoring 选项卡。

    3. (可选) 要按时间筛选结果,请从 Showing data for 中选择时间范围。

    4. 要获得单个指标的一个较大视图,请选择其图形。

使用 CloudWatch 控制台查看指标
  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

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

  3. 选择应用程序命ELB名空间。

  4. (可选)要跨所有维度查看某个指标,请在搜索字段中输入其名称。

  5. (可选) 要按维度筛选,请选择下列选项之一:

    • 要仅显示您的负载均衡器报告的指标,请选择每应用程序ELB指标。要查看单个负载均衡器的指标,请在搜索字段中输入其名称。

    • 要仅显示针对目标群体报告的指标,请选择每应用程序ELB、每个 TG 指标。要查看单个目标组的指标,请在搜索字段中输入其名称。

    • 要仅显示按可用区为负载均衡器报告的指标,请选择每应用程序ELB、每可用区指标。要查看单个负载均衡器的指标,请在搜索字段中输入其名称。要查看单个可用区的指标,请在搜索字段中输入其名称。

    • 要仅显示按可用区和目标组为负载均衡器报告的指标,请选择每应用程序、每可用区ELB、每个 TG 指标。要查看单个负载均衡器的指标,请在搜索字段中输入其名称。要查看单个目标组的指标,请在搜索字段中输入其名称。要查看单个可用区的指标,请在搜索字段中输入其名称。

要查看指标,请使用 Amazon CLI

使用以下 list-metrics 命令列出可用指标:

aws cloudwatch list-metrics --namespace AWS/ApplicationELB
要获取指标的统计数据,请使用 Amazon CLI

使用以下get-metric-statistics命令获取指定指标和维度的统计信息。 CloudWatch 将每个唯一的维度组合视为一个单独的指标。您无法使用未专门发布的维度组合检索统计数据。您必须指定创建指标时使用的同一维度。

aws cloudwatch get-metric-statistics --namespace AWS/ApplicationELB \ --metric-name UnHealthyHostCount --statistics Average --period 3600 \ --dimensions Name=LoadBalancer,Value=app/my-load-balancer/50dc6c495c0c9188 \ Name=TargetGroup,Value=targetgroup/my-targets/73e2d6bc24d8a067 \ --start-time 2016-04-18T00:00:00Z --end-time 2016-04-21T00:00:00Z

下面是示例输出:

{ "Datapoints": [ { "Timestamp": "2016-04-18T22:00:00Z", "Average": 0.0, "Unit": "Count" }, { "Timestamp": "2016-04-18T04:00:00Z", "Average": 0.0, "Unit": "Count" }, ... ], "Label": "UnHealthyHostCount" }