

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

# 监控 Network Load Balancer
<a name="load-balancer-monitoring"></a>

您可使用以下功能监控负载均衡器，分析流量模式及解决与负载均衡器和目标相关的问题。

**CloudWatch 指标**  
*您可以使用 Amazon CloudWatch 以一组有序的时间序列数据（称为指标）的形式检索有关负载均衡器和目标的数据点的统计数据。*您可使用这些指标来验证您的系统是否按预期运行。有关更多信息，请参阅 [CloudWatch 您的 Network Load Balancer 的指标](load-balancer-cloudwatch-metrics.md)。

**VPC 流日志**  
您可以使用 VPC 流日志来捕获有关往来于您的网络负载均衡器的流量的详细信息。有关更多信息，请参阅 *Amazon VPC 用户指南*中的 [VPC 流日志](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)。  
为负载均衡器的每个网络接口创建流日志。每个负载均衡器的子网有一个网络接口。要确定网络负载均衡器的网络接口，请在网络接口的描述字段中查找负载均衡器的名称。  
通过您的网络负载均衡器的每个连接有两个条目，一个用于客户端和负载均衡器之间的前端连接，另一个用于负载均衡器和目标之间的后端连接。如果目标组的客户端 IP 保留属性已启用，连接将作为来自客户端的连接向实例显示。否则，连接的源 IP 是负载均衡器的私有 IP 地址。如果实例的安全组不允许来自客户端的连接，但负载均衡器子网的网络 ACLs 允许这些连接，则负载均衡器的网络接口日志将显示前端和后端连接的 “接受确定”，而实例网络接口的日志显示该连接的 “拒绝确定”。  
如果网络负载均衡器关联了安全组，则流日志将包含安全组允许或拒绝的流量条目。对于带有 TLS 侦听器的网络负载均衡器，流日志条目将仅反映被拒绝的条目。

**Amazon CloudWatch 互联网监视器**  
您可以使用 Internet Monitor 来了解互联网问题如何影响托管在上的应用程序与最终用户之间的性能 AWS 和可用性。您还可以近乎实时地探索如何通过切换到使用其他服务或通过其他服务将流量重新路由到您的工作负载，来改善应用程序的预计延迟。 AWS 区域有关更多信息，请参阅[使用 Amazon CloudWatch 互联网监视器](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html)。

**访问日志**  
您可以使用访问日志捕获有关向负载均衡器发出的 TLS 请求的详细信息。日志文件存储在 Amazon S3 中。您可以使用这些访问日志分析流量模式并解决与目标相关的问题。有关更多信息，请参阅 [您的网络负载均衡器的访问日志](load-balancer-access-logs.md)。

**CloudTrail 日志**  
您可以使用 AWS CloudTrail 捕获有关对 Elastic Load Balancing API 的调用的详细信息，并将其作为日志文件存储在 Amazon S3 中。您可以使用这些 CloudTrail 日志来确定拨打了哪些呼叫、呼叫来自哪个源 IP 地址、谁拨打了电话、何时拨打了呼叫等。有关更多信息，请参阅使用[记录 Elastic Load Balancing 的 API 调用 CloudTrail](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/cloudtrail-logs.html)。

# CloudWatch 您的 Network Load Balancer 的指标
<a name="load-balancer-cloudwatch-metrics"></a>

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

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

 CloudWatch 仅当请求流经负载均衡器时，Elastic Load Balancing 才会向其报告指标。如果有请求流经负载均衡器，则 Elastic Load Balancing 进行测量并以 60 秒的间隔发送其指标。如果没有请求流经负载均衡器或指标无数据，则不报告指标。对于带有安全组的网络负载均衡器， CloudWatch 指标中不会捕获安全组拒绝的流量。

有关更多信息，请参阅 [Amazon CloudWatch 用户指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

**Topics**
+ [网络负载均衡器指标](#load-balancer-metrics-nlb)
+ [网络负载均衡器的指标维度](#load-balancer-metric-dimensions-nlb)
+ [网络负载均衡器指标的统计数据](#metric-statistics)
+ [查看您的负载均衡器的 CloudWatch 指标](#view-metric-data)

## 网络负载均衡器指标
<a name="load-balancer-metrics-nlb"></a>

`AWS/NetworkELB` 命名空间包括以下指标。


| 指标 | 描述 | 
| --- | --- | 
| ActiveFlowCount |  客户端至目标的并发流（或连接）的总数。此指标包含处于 SYN\$1SENT 和 ESTABLISHED 状态的连接。TCP 连接未在负载均衡器上终止，因此，一个开放与目标的 TCP 连接的客户端将计为一个流。 **报告标准**：始终报告。 **统计数据**：最有用的统计工具是 `Average`、`Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ActiveFlowCount\$1TCP |  客户端至目标的并发 TCP 流（或连接）的总数。此指标包含处于 SYN\$1SENT 和 ESTABLISHED 状态的连接。TCP 连接未在负载均衡器上终止，因此，一个开放与目标的 TCP 连接的客户端将计为一个流。 **报告标准**：有非零值 **统计数据**：最有用的统计工具是 `Average`、`Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ActiveFlowCount\$1TLS |  客户端至目标的并发 TLS 流（或连接）的总数。此指标包含处于 SYN\$1SENT 和 ESTABLISHED 状态的连接。 **报告标准**：有非零值。 **统计数据**：最有用的统计工具是 `Average`、`Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ActiveFlowCount\$1UDP |  客户端至目标的并发 UDP 流（或连接）的总数。 ** 报告标准**：有非零值。 **统计数据**：最有用的统计工具是 `Average`、`Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ActiveZonalShiftHostCount |  当前积极参与可用区转移的目标数量。 **报告标准**：当负载均衡器选择加入可用区转移时报告。 **统计数据**：最有用的统计数据为 `Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ClientTLSNegotiationErrorCount |  在客户端和 TLS 侦听器之间协商期间失败的 TLS 握手的总数。 ** 报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ConsumedLCUs |  负载均衡器使用的负载均衡器容量单位 (LCU) 数量。您需要为每小时 LCUs 的使用量付费。有关更多信息，请参阅 [Elastic Load Balancing 定价](https://aws.amazon.com/elasticloadbalancing/pricing/)。 **报告标准**：始终报告。 **统计数据**：全部 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ConsumedLCUs\$1TCP |  负载均衡器为 TCP 使用的负载均衡器容量单位 (LCU) 数量。您需要为每小时 LCUs 的使用量付费。有关更多信息，请参阅 [Elastic Load Balancing 定价](https://aws.amazon.com/elasticloadbalancing/pricing/)。 **报告标准**：有非零值。 **统计数据**：全部 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ConsumedLCUs\$1TLS |  负载均衡器为 TLS 使用的负载均衡器容量单位 (LCU) 数量。您需要为每小时 LCUs 的使用量付费。有关更多信息，请参阅 [Elastic Load Balancing 定价](https://aws.amazon.com/elasticloadbalancing/pricing/)。 **报告标准**：有非零值。 **统计数据**：全部 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ConsumedLCUs\$1UDP |  负载均衡器为 UDP 使用的负载均衡器容量单位 (LCU) 数量。您需要为每小时 LCUs 的使用量付费。有关更多信息，请参阅 [Elastic Load Balancing 定价](https://aws.amazon.com/elasticloadbalancing/pricing/)。 **报告标准**：有非零值。 **统计数据**：全部 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| HealthyHostCount |  被视为正常运行的目标数量。此指标不包括注册为目标的任何应用程序负载均衡器。 **报告标准**：在有注册目标时报告。 **统计数据**：最有用的统计工具为 `Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| NewFlowCount |  时段内建立的客户端至目标的新流（或连接）的总数。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| NewFlowCount\$1TCP |  时段内建立的客户端至目标的新 TCP 流 (或连接) 的总数。 ** 报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| NewFlowCount\$1TLS |  时段内建立的客户端至目标的新 TLS 流 (或连接) 的总数。 ** 报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| NewFlowCount\$1UDP |  时段内建立的客户端至目标的新 UDP 流 (或连接) 的总数。 ** 报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| NewFlowCount\$1QUIC |  该时间段内需要做出路由决策的 UDP 数据报总数。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| PeakBytesPerSecond |  每秒处理字节数的最高平均值，在采样窗口内每 10 秒计算一次。此指标不包含运行状况检查流量。 **报告标准**：始终报告 **Statistics**：最有用的统计工具是 `Maximum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| PeakPacketsPerSecond |  最高平均数据包速率（每秒处理的数据包数），在采样窗口期间每 10 秒计算一次。此指标包含运行状况检查流量。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Maximum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| PortAllocationErrorCount |  客户端 IP 转换操作期间临时端口分配错误的总数。非零值表示断开的客户端连接。 注意：当执行客户端地址转换时，网络负载均衡器支持与每个唯一目标（IP 地址和端口）的 55,000 个并发连接或每分钟约 55,000 个连接。要修复端口分配错误，请将更多目标添加到目标组。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedBytes |  负载均衡器处理的总字节数，包括 TCP/IP 标头。此计数包括往返目标的流量，减去运行状况检查流量。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedBytes\$1TCP |  TCP 侦听器处理的字节的总数。 ** 报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedBytes\$1TLS |  TLS 侦听器处理的字节的总数。 ** 报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedBytes\$1UDP |  UDP 侦听器处理的字节的总数。 **报告标准**：有非零值 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedBytes\$1QUIC |  QUIC 侦听器处理的字节的总数。 **报告标准**：有非零值 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ProcessedPackets |  负载均衡器处理的总数据包数。此计数包含往返目标的流量，以及运行状况检查流量。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| RejectedFlowCount |  遭负载均衡器拒绝的流量（或连接）的总数。 **报告标准**：始终报告。 **统计数据**：最有用的统计工具是 `Average`、`Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| RejectedFlowCount\$1TCP |  遭负载均衡器拒绝的 TCP 流量（或连接）的数量。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| ReservedLCUs |  使用 LCU 预留为您的负载均衡器预留的负载均衡器容量单位数 (LCUs)。 **报告标准**：有非零值 **统计数据**：全部 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| SecurityGroupBlockedFlowCount\$1Inbound\$1ICMP |  被负载均衡器安全组的入站规则拒绝的新 ICMP 消息的数量。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| SecurityGroupBlockedFlowCount\$1Inbound\$1TCP |  被负载均衡器安全组的入站规则拒绝的新 TCP 流的数量。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| SecurityGroupBlockedFlowCount\$1Inbound\$1UDP |  被负载均衡器安全组的入站规则拒绝的新 UDP 流的数量。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| SecurityGroupBlockedFlowCount\$1Outbound\$1ICMP |  被负载均衡器安全组的出站规则拒绝的新 ICMP 消息的数量。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| SecurityGroupBlockedFlowCount\$1Outbound\$1TCP |  被负载均衡器安全组的出站规则拒绝的新 TCP 流的数量。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| SecurityGroupBlockedFlowCount\$1Outbound\$1UDP |  被负载均衡器安全组的出站规则拒绝的新 UDP 流的数量。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| TargetTLSNegotiationErrorCount |  在 TLS 侦听器和目标之间协商期间失败的 TLS 握手的总数。 ** 报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| TCP\$1Client\$1Reset\$1Count |  从客户端发送至目标的重置 (RST) 数据包的总数。这些重置由客户端生成，然后由负载均衡器转发。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| TCP\$1ELB\$1Reset\$1Count |  负载均衡器生成的重置 (RST) 数据包的总数。有关更多信息，请参阅[故障排除](load-balancer-troubleshooting.md#elb-reset-count-metric)。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| TCP\$1Target\$1Reset\$1Count |  从目标发送至客户端的重置 (RST) 数据包的总数。这些重置由目标生成，然后由负载均衡器转发。 **报告标准**：始终报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| UnHealthyHostCount |  被视为未正常运行的目标数量。此指标不包括注册为目标的任何应用程序负载均衡器。 **报告标准**：在有注册目标时报告。 **统计数据**：最有用的统计工具为 `Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| UnhealthyRoutingFlowCount |  使用路由失效转移操作（失败时开放）路由的流（或连接）数量。TLS 侦听器不支持此指标。 **报告标准**：有非零值。 **Statistics**：最有用的统计工具是 `Sum`。  | 
| ZonalHealthStatus |  负载均衡器认为运行状况良好的可用区的数量。负载均衡器为每个运行状况良好的可用区发出“1”，为每个运行状况不良的可用区发出“0”。 **报告标准**：在启用了运行状况检查时报告。 **统计数据**：最有用的统计工具为 `Maximum` 和 `Minimum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 
| QUIC\$1Unknown\$1Server\$1ID\$1Packet\$1Drop\$1Count |  丢弃的 UDP 数据报的数量，其中包含与网络负载均衡器中的目标无关的服务器 ID。 **报告标准**：仅针对 QUIC 侦听器进行报告。 **Statistics**：最有用的统计工具是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html)  | 

## 网络负载均衡器的指标维度
<a name="load-balancer-metric-dimensions-nlb"></a>

要筛选负载均衡器的指标，请使用以下维度。


| 维度 | 描述 | 
| --- | --- | 
| AvailabilityZone |  按可用区筛选指标数据。  | 
| LoadBalancer |  按负载均衡器筛选指标数据。按如下方式指定负载均衡器：net *load-balancer-name*/*1234567890123456*（负载均衡器 ARN 的最后一部分）。  | 
| TargetGroup |  按目标组筛选指标数据。按如下方式指定目标组：targetgroup *target-group-name*/*1234567890123456*（目标组 ARN 的最后一部分）。  | 

## 网络负载均衡器指标的统计数据
<a name="metric-statistics"></a>

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

`Minimum` 和 `Maximum` 统计数据反映每个采样窗口中各个负载均衡器节点报告的数据点的最小值和最大值。`HealthyHostCount` 最大值的增加与 `UnHealthyHostCount` 最小值的减少相对应。建议监控最大值 `HealthyHostCount`，在最大值 `HealthyHostCount` 低于所需的最小值或为 `0` 时调用警报。这有助于确定目标运行状况何时变得不佳。还建议监控最小值 `UnHealthyHostCount`，当最小值 `UnHealthyHostCount` 超过 `0` 时调用警报。这使您能够在不再有注册目标时意识到此情况。

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

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

## 查看您的负载均衡器的 CloudWatch 指标
<a name="view-metric-data"></a>

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

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

**使用控制台查看指标**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 要查看按目标组筛选的指标，请执行以下操作：

   1. 在导航窗格中，选择 **Target Groups**。

   1. 选择目标组并选择 **Monitoring**。

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

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

1. 要查看按负载均衡器筛选的指标，请执行以下操作：

   1. 在导航窗格中，选择 **Load Balancers**。

   1. 选择负载均衡器并选择 **Monitoring**。

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

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

**使用 CloudWatch 控制台查看指标**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，选择**指标**。

1. 选择 **NetworkELB** 命名空间。

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

**要查看指标，请使用 AWS CLI**  
使用以下 [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 命令列出可用指标：

```
aws cloudwatch list-metrics --namespace AWS/NetworkELB
```

**要获取指标的统计数据，请使用 AWS CLI**  
使用以下[get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)命令获取指定指标和维度的统计信息。请注意， CloudWatch 将每个唯一的维度组合视为一个单独的指标。您无法使用未专门发布的维度组合检索统计数据。您必须指定创建指标时使用的同一维度。

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

下面是示例输出：

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

# 您的网络负载均衡器的访问日志
<a name="load-balancer-access-logs"></a>

弹性负载均衡提供了访问日志，该访问日志可捕获有关使用网络负载均衡器建立的 TLS 连接的详细信息。您可以使用这些访问日志分析流量模式并解决问题。

**重要**  
 虽然传统的 “传统” 访问日志（如本节所述）仍然可用，但 Network Load Balancer 现在通过 CloudWatch 日志提供了增强的日志记录选项。 CloudWatch 日志提供了更灵活的传输选项，包括发送到亚马逊 CloudWatch 日志、亚马逊数据 Firehose 和亚马逊简单存储服务。要配置这些改进的日志记录选项，请访问负载均衡器的***集成***选项卡。有关 CloudWatch 日志的更多信息，请参阅[CloudWatch 你的 Network Load Balancer 的日志](load-balancer-cloudwatch-logs.md)。

**重要**  
仅当负载均衡器具有 TLS 侦听器且日志仅包含有关 TLS 请求的信息时，才创建访问日志。访问日志将尽力记录请求。我们建议您使用访问日志来了解请求性质，而不是作为所有请求的完整描述。

访问日志记录是 Elastic Load Balancing 的一项可选功能，默认情况下已禁用此功能。为负载均衡器启用访问日志记录之后，Elastic Load Balancing 将日志捕获为压缩文件并将其存储在您指定的 Amazon S3 存储桶中。您可以随时禁用访问日志记录。

您可以使用 Amazon S3 托管加密密钥（SSE-S3）启用服务器端加密，也可使用 Key Management Service 与 S3 存储桶的客户管理的密钥（SSE-KMS CMK）来启用服务器端加密。每个访问日志文件在存储到 S3 存储桶中之前将自动加密，并在您访问它时进行解密。您不需要执行任何操作，因为这与您访问加密的日志文件或未加密的日志文件的方式基本相同。每个日志文件都使用一个唯一密钥进行加密，此密钥本身将使用定期轮换的 KMS 密钥进行加密。*有关更多信息，请参阅 [Amazon S3 用户指南中的指定 Amazon S3 加密 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html) [和使用 AWS KMS (SSE-KMS) 指定服务器端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html)。*

使用访问日志无需额外付费。您需要支付 Amazon S3 的存储费用，但无需支付 Elastic Load Balancing 用以将日志文件发送到 Amazon S3 的带宽费用。有关存储成本的更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

**Topics**
+ [访问日志文件](#access-log-file-format)
+ [访问日志条目](#access-log-entry-format)
+ [处理访问日志文件](#log-processing-tools)
+ [启用访问日志](enable-access-logs.md)
+ [禁用访问日志](disable-access-logs.md)

## 访问日志文件
<a name="access-log-file-format"></a>

Elastic Load Balancing 每 5 分钟为每个负载均衡器节点发布一次日志文件。日志传输最终是一致的。负载均衡器可以传输相同时间段的多个日志。通常，如果站点具有高流量，会出现此情况。

访问日志的文件名采用以下格式：

```
bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_net.load-balancer-id_end-time_random-string.log.gz
```

*bucket*  
S3 存储桶的名称。

*prefix*  
存储桶中的前缀 (逻辑层级结构)。如果您不指定前缀，则会将日志置于存储桶的根级。

*aws-account-id*  
所有者的 AWS 账户 身份证。

*region*  
负载均衡器和 S3 存储桶所在的区域。

*yyyy*/*mm*/*dd*  
传输日志的日期。

*load-balancer-id*  
负载均衡器的资源 ID。如果资源 ID 包含任何正斜杠 (/)，这些正斜杠将替换为句点 (.)。

*end-time*  
日志记录间隔结束的日期和时间。例如，结束时间 20181220T2340Z 包含在 23:35 和 23:40 之间发出的请求的条目。

*random-string*  
系统生成的随机字符串。

以下是示例日志文件名：

```
s3://my-bucket/prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2020/05/01/123456789012_elasticloadbalancing_us-east-2_net.my-loadbalancer.1234567890abcdef_20200501T0000Z_20sg8hgm.log.gz
```

日志文件可以在存储桶中存储任意长时间，不过您也可以定义 Amazon S3 生命周期规则以自动存档或删除日志文件。有关更多信息，请参阅*《Amazon S3 用户指南》*中的[管理存储生命周期](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)。

## 访问日志条目
<a name="access-log-entry-format"></a>

下表按顺序描述了访问日志条目的字段。使用空格分隔所有字段。在引入新的字段时，会将这些字段添加到日志条目的末尾。在处理日志文件时，您应忽略日志条目结尾的任何不需要的字段。


| 字段 | 描述 | 
| --- | --- | 
| 类型 |  侦听器的类型。支持的值为 `tls`。  | 
| 版本 |  日志条目的版本。当前版本为 2.0。  | 
| time |  在 TLS 连接结束时记录的时间（采用 ISO 8601 格式）。  | 
| elb |  负载均衡器的资源 ID。  | 
| 侦听器 |  连接的 TLS 侦听器的资源 ID。  | 
| client\$1port |  客户端的 IP 地址和端口。  | 
| destination\$1port |  目的地 IP 地址和端口。如果客户端直接连接到负载均衡器，则目的地是侦听器。如果客户端使用 VPC 终端节点服务进行连接，则目的地是 VPC 终端节点。  | 
| connection\$1time |  连接完成（从开始到结束）的总时间（以毫秒为单位）。  | 
| tls\$1handshake\$1time |  建立 TCP 连接后完成 TLS 握手的总时间，包括客户端延迟（以毫秒为单位）。此时间包括在 `connection_time` 字段中。如果未发生 TLS 握手或 TLS 握手失败，则该值设置为 `-`。  | 
| received\$1bytes |  解密后，负载均衡器从客户端处收到的字节数。  | 
| sent\$1bytes |  在加密之前，负载均衡器发送到客户端的字节数。  | 
| incoming\$1tls\$1alert |  负载均衡器从客户端处收到的 TLS 提醒的整数值（如果存在）。否则，该值将设置为 `-`。  | 
| chosen\$1cert\$1arn |  提供给客户端的证书的 ARN。如果未发送有效的客户端 hello 消息，则此值设置为 `-`。  | 
| chosen\$1cert\$1serial |  留待将来使用。此值始终设置为 `-`。  | 
| tls\$1cipher |  与客户端协商的密码套件（采用 OpenSSL 格式）。如果 TLS 协商未完成，则此值设置为 `-`。  | 
| tls\$1protocol\$1version |  与客户端协商的 TLS 协议（采用字符串格式）。可能的值为 `tlsv10`、`tlsv11`、`tlsv12` 和 `tlsv13`。如果 TLS 协商未完成，则此值设置为 `-`。  | 
| tls\$1keyex |  TLS 或 PQ-TLS 握手期间使用的密钥交换。如果 TLS 或 PQ-TLS 协商未完成，则此值将设置为。`-`  | 
| domain\$1name |  客户端 hello 消息中的 server\$1name 扩展名的值。此值是 URL 编码的。如果未发送有效的客户端 hello 消息或扩展名不存在，则此值设置为 `-`。  | 
| alpn\$1fe\$1protocol |  与客户端协商的应用程序协议，采用字符串格式。可能的值为`h2`、`http/1.1`和`http/1.0`。如果 TLS 侦听器中未配置 ALPN 策略、找不到匹配协议或者没有发送有效的协议列表，则此值设置为 `-`。  | 
| alpn\$1be\$1protocol |  与目标协商的应用程序协议，采用字符串格式。可能的值为`h2`、`http/1.1`和`http/1.0`。如果 TLS 侦听器中未配置 ALPN 策略、找不到匹配协议或者没有发送有效的协议列表，则此值设置为 `-`。  | 
| alpn\$1client\$1preference\$1list |  客户端 hello 消息中 application\$1layer\$1protocol\$1negotiation 扩展的值。此值是 URL 编码的。每个协议都用双引号括起来，协议用逗号分隔。如果在 TLS 侦听器中未配置 ALPN 策略、未发送有效的客户端 hello 消息或扩展名不存在，则此值设置为 `-`。字符串长度在超过 256 个字节时将会截断。  | 
| tls\$1connection\$1creation\$1time |  在 TLS 连接开始时记录的时间（采用 ISO 8601 格式）。  | 

### 示例日志条目
<a name="access-log-entry-examples"></a>

以下是示例日志条目。请注意，文本以多行形式显示只是为了更方便阅读。

以下是没有 ALPN 策略的 TLS 侦听器的示例。

```
tls 2.0 2018-12-20T02:59:40 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd 
72.21.218.154:51341 172.100.100.185:443 5 2 98 246 - 
arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 - 
ECDHE-RSA-AES128-SHA tlsv12 - 
my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com
- - - 2018-12-20T02:59:30
```

以下是具有 ALPN 策略的 TLS 侦听器的示例。

```
tls 2.0 2020-04-01T08:51:42 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd 
72.21.218.154:51341 172.100.100.185:443 5 2 98 246 - 
arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 - 
ECDHE-RSA-AES128-SHA tlsv12 - 
my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com
h2 h2 "h2","http/1.1" 2020-04-01T08:51:20
```

## 处理访问日志文件
<a name="log-processing-tools"></a>

访问日志文件是压缩文件。如果您使用 Amazon S3 控制台打开这些文件，则将对其进行解压缩，并且将显示信息。如果您下载这些文件，则必须对其进行解压才能查看信息。

如果您的网站上有大量需求，则负载均衡器可以生成包含大量数据的日志文件 (以 GB 为单位)。您可能无法使用处理来 line-by-line处理如此大量的数据。因此，您可能必须使用提供并行处理解决方案的分析工具。例如，您可以使用以下分析工具分析和处理访问日志：
+ Amazon Athena 是一种交互式查询服务，让您能够轻松使用标准 SQL 分析 Amazon S3 中的数据。有关更多信息，请参阅*《Amazon Athena 用户指南》*中的[查询网络负载均衡器日志](https://docs.aws.amazon.com/athena/latest/ug/networkloadbalancer-classic-logs.html)。
+ [Loggly](https://documentation.solarwinds.com/en/success_center/loggly/content/admin/s3-ingestion-auto.htm)
+ [Splunk](https://splunk.github.io/splunk-add-on-for-amazon-web-services/)
+ [Sumo Logic](https://www.sumologic.com/application/elb/)

# 为网络负载均衡器启用访问日志
<a name="enable-access-logs"></a>

在为负载均衡器启用访问日志记录时，您必须指定负载均衡器将在其中存储日志的 S3 存储桶的名称。存储桶必须具有为 Elastic Load Balancing 授予写入存储桶的权限的存储桶策略。

**重要**  
仅当负载均衡器具有 TLS 侦听器且日志仅包含有关 TLS 请求的信息时，才创建访问日志。

## 存储桶要求
<a name="access-logging-bucket-requirements"></a>

您可以使用现有存储桶，也可以创建专门用于访问日志的存储桶。存储桶必须满足以下要求。

**要求**
+ 存储桶必须位于与负载均衡器相同的区域中。该存储桶和负载均衡器可由不同的账户拥有。
+ 您指定的前缀不得包含 `AWSLogs`。我们会在您指定的存储桶名称和前缀后添加以 `AWSLogs` 开头的文件名部分。
+ 存储桶必须具有授予将访问日志写入存储桶的权限的存储桶策略。存储桶策略是 JSON 语句的集合，这些语句以访问策略语言编写，用于为存储桶定义访问权限。

**存储桶策略的示例**  
以下是示例策略。对于`Resource`元素，请*amzn-s3-demo-destination-bucket*替换为访问日志的 S3 存储桶的名称。*Prefix/*如果您未使用存储桶前缀，请务必省略。对于`aws:SourceAccount`，请指定负载均衡器 AWS 账户的 ID。对于`aws:SourceArn`，将*region*和*012345678912*，分别替换为负载均衡器的区域和账户 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "AWSLogDeliveryWrite",
    "Statement": [
        {
            "Sid": "AWSLogDeliveryAclCheck",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [
                        "012345678912"
                    ]
                },
                "ArnLike": {
                    "aws:SourceArn": [
                        "arn:aws:logs:us-east-1:012345678912:*"
                    ]
                }
            }
        },
        {
            "Sid": "AWSLogDeliveryWrite",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/Prefix/AWSLogs/account-ID/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceAccount": [
                        "012345678912"
                    ]
                },
                "ArnLike": {
                    "aws:SourceArn": [
                        "arn:aws:logs:us-east-1:012345678912:*"
                    ]
                }
            }
        }
    ]
}
```

------<a name="access-log-bucket-encryption"></a>

**加密**

您可以使用下列任何一种方式为 Amazon S3 访问日志存储桶启用服务器端加密：
+ Amazon S3 托管式密钥（SSE-S3）
+ AWS KMS 存储在 AWS Key Management Service (SSE-KMS) 中的密钥†

† 对于 Network Load Balancer 访问日志，您无法使用 AWS 托管密钥，必须使用客户托管密钥。

*有关更多信息，请参阅 [Amazon S3 用户指南中的指定 Amazon S3 加密 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html) [和使用 AWS KMS (SSE-KMS) 指定服务器端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html)。*

密钥策略必须允许服务对日志进行加密和解密。以下是示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "delivery.logs.amazonaws.com"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## 配置访问日志
<a name="configure-access-logs"></a>

使用以下过程配置访问日志，以捕获请求信息并将日志文件传输到 S3 存储桶。

------
#### [ Console ]

**启用访问日志**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择您的负载均衡器的名称以打开其详细信息页面。

1. 在**属性**选项卡上，选择**编辑**。

1. 对于**监控**，打开**访问日志**。

1. 对于 **S3 URI**，输入日志文件的 S3 URI。您指定的 URI 取决于您是否使用前缀。
   + 带有前缀的 URI: s3:/*amzn-s3-demo-logging-bucket*/*logging-prefix*
   + 不带前缀的 URI: s3://*amzn-s3-demo-logging-bucket*

1. 选择**保存更改**。

------
#### [ AWS CLI ]

**启用访问日志**  
使用带有相关属性的[modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html)命令。

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes \
        Key=access_logs.s3.enabled,Value=true \
        Key=access_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \
        Key=access_logs.s3.prefix,Value=logging-prefix
```

------
#### [ CloudFormation ]

**启用访问日志**  
更新[AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)资源以包含相关属性。

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-nlb
      Type: network
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "access_logs.s3.enabled"
          Value: "true"
        - Key: "access_logs.s3.bucket"
          Value: "amzn-s3-demo-logging-bucket"
        - Key: "access_logs.s3.prefix"
          Value: "logging-prefix"
```

------

# 禁用网络负载均衡器的访问日志
<a name="disable-access-logs"></a>

您随时可为您的负载均衡器禁用访问日志记录。在禁用访问日志记录后，您的访问日志将在 S3 存储桶中保留，直至您将其删除。有关更多信息，请参阅*《Amazon S3 用户指南》*中的[创建、配置和使用 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)。

------
#### [ Console ]

**要禁用访问日志**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择您的负载均衡器的名称以打开其详细信息页面。

1. 在**属性**选项卡上，选择**编辑**。

1. 对于**监控**，关闭**访问日志**。

1. 选择**保存更改**。

------
#### [ AWS CLI ]

**要禁用访问日志**  
使用 [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html) 命令。

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn load-balancer-arn \
    --attributes Key=access_logs.s3.enabled,Value=false
```

------