使用 Amazon CloudWatch 监控 NAT 网关 - Amazon Virtual Private Cloud

使用 Amazon CloudWatch 监控 NAT 网关

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

有关 Amazon CloudWatch 的更多信息,请参阅 Amazon 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 服务可能存在问题。使用 AWS 服务运行状况控制面板来确定可能导致 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. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

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

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

  4. 选择指标维度。

使用 查看指标AWS CLI

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

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

创建 CloudWatch 警报以监控 NAT 指标

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

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

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

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

  3. 选择创建警报

  4. 选择选择指标

  5. 选择 NatGateway 指标命名空间,然后选择指标维度。访问指标后,请选中 NAT 网关 BytesOutToDestination 指标旁边的复选框,然后选择 Select metric(选择指标)

  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. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

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

  3. 选择创建警报

  4. 选择选择指标

  5. 选择 NatGateway 指标命名空间,然后选择指标维度。访问指标后,请选中 NAT 网关 ErrorPortAllocation 指标旁边的复选框,然后选择 Select metric(选择指标)

  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(创建警报)

有关更多信息,请参阅 Amazon CloudWatch 用户指南中的使用 Amazon CloudWatch 告警