使用 Amazon 监控 NAT 网关 CloudWatch - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon 监控 NAT 网关 CloudWatch

您可以使用监控您的 NAT 网关 CloudWatch,它会从您的 NAT 网关收集信息并创建可读的近乎实时的指标。您可以使用该信息监控 NAT 网关并进行问题排查。NAT 网关指标数据以每分钟一次的间隔提供,统计数据的记录期限为 15 个月。

有关亚马逊的更多信息 CloudWatch,请参阅《亚马逊 CloudWatch 用户指南》。有关定价的更多信息,请参阅 Amazon CloudWatch 定价

NAT 网关指标与维度

以下指标可用于 NAT 网关。描述列包括每个指标的描述以及单位统计数据

指标 描述
ActiveConnectionCount

通过 NAT 网关激活的并发 TCP 连接的总数。

零值表示未通过 NAT 网关激活任何连接。

单位:计数

Statistics:最有用的统计工具是 Max

BytesInFromDestination

NAT 网关从目标接收的字节的数量。

如果 BytesOutToSource 的值小于 BytesInFromDestination 的值,则表示 NAT 网关处理期间可能存在数据丢失,或存在被 NAT 网关主动阻止的流量。

单位:字节

Statistics:最有用的统计工具是 Sum

BytesInFromSource

NAT 网关从 VPC 中的客户端接收的字节的数量。

如果 BytesOutToDestination 的值小于 BytesInFromSource 的值,则 NAT 网关处理期间可能有数据丢失。

单位:字节

Statistics:最有用的统计工具是 Sum

BytesOutToDestination

通过 NAT 网关发送到目标的字节的数量。

大于零的值指示有流量从 NAT 网关后面的客户端流向 Internet。如果 BytesOutToDestination 的值小于 BytesInFromSource 的值,则 NAT 网关处理期间可能有数据丢失。

单位:字节

Statistics:最有用的统计工具是 Sum

BytesOutToSource

通过 NAT 网关发送到 VPC 中客户端的字节的数量。

大于零的值指示有流量从 Internet 流向 NAT 网关后面的客户端。如果 BytesOutToSource 的值小于 BytesInFromDestination 的值,则表示 NAT 网关处理期间可能存在数据丢失,或存在被 NAT 网关主动阻止的流量。

单位:字节

Statistics:最有用的统计工具是 Sum

ConnectionAttemptCount

通过 NAT 网关尝试的连接次数。

如果 ConnectionEstablishedCount 的值小于 ConnectionAttemptCount 的值,则表示 NAT 网关后面的客户端已尝试为无响应的连接建立新连接。

单位:计数

Statistics:最有用的统计工具是 Sum

ConnectionEstablishedCount

通过 NAT 网关建立的连接的数量。

如果 ConnectionEstablishedCount 的值小于 ConnectionAttemptCount 的值,则表示 NAT 网关后面的客户端已尝试为无响应的连接建立新连接。

单位:计数

Statistics:最有用的统计工具是 Sum

ErrorPortAllocation

NAT 网关无法分配源端口的次数。

大于零的值表示通过 NAT 网关打开的并发连接太多。

单位:计数

Statistics:最有用的统计工具是 Sum

IdleTimeoutCount

从活动状态转换为空闲状态的连接的数量。如果活动连接未正常关闭并且前 350 秒内无活动,活动连接将转换为空闲状态。

大于零的值指示存在已变为空闲状态的连接。如果 IdleTimeoutCount 的值增加,则可能指示 NAT 网关后面的客户端正在重复使用过期连接。

单位:计数

Statistics:最有用的统计工具是 Sum

PacketsDropCount

NAT 网关丢弃的数据包的数量。

要计算丢弃的数据包数量占数据包总流量的百分比,请使用以下公式:PacketsDropCount/(PacketsInFromSource+PacketsInFromDestination)*100。如果此值超过 NAT 网关总流量的 0.01%,则 Amazon VPC 服务可能存在问题。使用Amazon 服务运行状况仪表板识别可能导致 NAT 网关丢包的服务问题。

单位:计数

Statistics:最有用的统计工具是 Sum

PacketsInFromDestination

NAT 网关从目标接收的数据包的数量。

如果 PacketsOutToSource 的值小于 PacketsInFromDestination 的值,则表示 NAT 网关处理期间可能存在数据丢失,或存在被 NAT 网关主动阻止的流量。

单位:计数

Statistics:最有用的统计工具是 Sum

PacketsInFromSource

NAT 网关从 VPC 中的客户端接收的数据包的数量。

如果 PacketsOutToDestination 的值小于 PacketsInFromSource 的值,则 NAT 网关处理期间可能有数据丢失。

单位:计数

Statistics:最有用的统计工具是 Sum

PacketsOutToDestination

通过 NAT 网关发送到目标的数据包的数量。

大于零的值指示有流量从 NAT 网关后面的客户端流向 Internet。如果 PacketsOutToDestination 的值小于 PacketsInFromSource 的值,则 NAT 网关处理期间可能有数据丢失。

单位:计数

Statistics:最有用的统计工具是 Sum

PacketsOutToSource

通过 NAT 网关发送到 VPC 中客户端的数据包的数量。

大于零的值指示有流量从 Internet 流向 NAT 网关后面的客户端。如果 PacketsOutToSource 的值小于 PacketsInFromDestination 的值,则表示 NAT 网关处理期间可能存在数据丢失,或存在被 NAT 网关主动阻止的流量。

单位:计数

Statistics:最有用的统计工具是 Sum

PeakBytesPerSecond

该指标报告给定分钟内每秒的 10 秒字节最高平均值。

单位:计数

Statistics:最有用的统计工具是 Maximum

PeakPacketsPerSecond

此指标每 10 秒计算一次平均数据包速率(每秒处理的数据包),持续 60 秒,然后报告六个速率中的最大值(最高平均数据包速率)。

单位:计数

Statistics:最有用的统计工具是 Maximum

要筛选指标数据,请使用以下维度。

维度 描述
NatGatewayId 按 NAT 网关 ID 筛选指标数据。

查看 NAT 网关 CloudWatch 指标

NAT 网关指标每隔 1 CloudWatch 分钟发送一次。指标的分组首先依据服务命名空间,然后依据每个命名空间内可能的维度组合。您可以按照以下方法查看 NAT 网关的各项指标。

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

  2. 在导航窗格中,依次选择 Metrics(指标)All metrics(所有指标)

  3. 选择 NatGateway 指标命名空间。

  4. 选择指标维度。

要查看指标,请使用 Amazon CLI

在命令提示窗口中,使用以下命令可列出可用于 NAT 网关服务的指标。

aws cloudwatch list-metrics --namespace "AWS/NATGateway"

创建 CloudWatch 警报以监控 NAT 网关

您可以创建一个 CloudWatch 警报,当警报状态发生变化时,该警报会发送 Amazon SNS 消息。告警会监控您指定的时间段内的某个指标。它将根据指标值在多个时间段内相对于给定阈值的情况向 Amazon SNS 主题发送通知。

例如,您可以创建警报来监控进入或离开 NAT 网关的流量。以下警报监控从您的 VPC 中的客户端通过 NAT 网关传到 Internet 的出站流量。如果在 15 分钟的时间段内字节数达到 500 万阈值,它将发送通知。

创建通过 NAT 网关的出站流量的警报
  1. 打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

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

  3. 选择创建警报

  4. 选择选择指标

  5. 选择 NatGateway 指标命名空间,然后选择指标维度。进入指标后,选中 NAT 网关BytesOutToDestination指标旁边的复选框,然后选择选择指标

  6. 按如下所示配置警报,然后选择 Next(下一步):

    • 对于 Statistic(统计数据),选择 Sum(总计)

    • 对于 Period(周期),选择 15 minutes(15 分钟)

    • 对于 Whenever(每当),选择 Greater/Equal(大于/等于,>=),然后输入 5000000 作为阈值。

  7. 对于 Notification(通知),选择现有的 SNS 主题,或选择 Create new topic(新建主题)创建一个新主题。选择 Next(下一步)。

  8. 输入警报的名称和描述,然后选择 Next(下一步)

  9. 配置完警报后,选择 Create alarm(创建警报)

再给一个示例,您可以创建一个警报来监控端口分配错误,并且在该值在三个连续 5 分钟的时间段内大于零(0)时发送通知。

创建警报以监控端口分配错误
  1. 打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

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

  3. 选择创建警报

  4. 选择选择指标

  5. 选择 NatGateway 指标命名空间,然后选择指标维度。进入指标后,选中 NAT 网关ErrorPortAllocation指标旁边的复选框,然后选择选择指标

  6. 按如下所示配置警报,然后选择 Next(下一步):

    • 对于 Statistic(统计数据),选择 Maximum(最大)

    • 对于 Period(周期),选择 5 minutes(5 分钟)

    • 对于 Whenever(每当),选择 Greater(大于),然后输入 0 作为阈值。

    • 对于 Additional configuration(其他配置)Datapoints to alarm(警报的数据点数),输入 3。

  7. 对于 Notification(通知),选择现有的 SNS 主题,或选择 Create new topic(新建主题)创建一个新主题。选择 Next(下一步)。

  8. 输入警报的名称和描述,然后选择 Next(下一步)。

  9. 配置完警报后,选择 Create alarm(创建警报)。

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的使用亚马逊 CloudWatch 警报