日志和指标

日志记录

Cloud NAT 日志记录功能可让您记录 NAT 连接和错误。启用 Cloud NAT 日志记录功能后,系统可针对以下各种情景生成一个日志条目:

  • 创建好使用 NAT 的网络连接时。
  • 数据包因没有可用于 NAT 的端口而被丢弃时。

您可以选择记录这两种事件,也可以只记录其中一种事件。

创建的日志会发送至 Cloud Logging

规范

以下规范适用于 Cloud NAT 日志记录功能:

  • Cloud NAT 日志记录功能仅处理 TCP 和 UDP 流量。

  • Cloud NAT 日志记录功能仅记录丢弃的数据包,前提是这些数据包是出站 TCP 和 UDP 数据包。它不会记录丢弃的传入数据包。例如,如果对出站请求的入站响应因任何原因而被丢弃,则不会记录任何错误。

每个虚拟机实例在每单位时间内只能生成一定数量的日志条目,此数量与其 vCPUs 数量成比例。虚拟机可以为每个 vCPU 每秒生成 50-100 个日志条目。

  • 此速率阈值会影响可记录的事件数量。即使某些事件被滤除,它们的出现次数也会计入可能的日志条目数。将日志限制为“仅限错误”或“仅限网络地址转换连接”不一定会增加查看的日志条目数。例如,如果您选择仅记录成功的连接,那么失败连接尝试和 NAT 错误的时间过长仍会限制成功连接日志条目数。

  • Cloud NAT 日志记录功能不会记录每个数据包。即使虚拟机的速率阈值尚未达到,某些条件也可能导致事件从日志中省略。您应该依靠 Cloud NAT 日志记录功能中的条目来做出明智的决策,但是您不应该认为缺少条目意味着事件没有发生。

配置日志记录

如需配置 Cloud NAT 日志记录,请按以下步骤操作。

启用日志记录

如果启用日志记录功能,系统会默认将所有收集的日志发送到 Cloud Logging。您可以过滤这些日志,以便系统只发送特定日志。

您还可以在创建或修改 NAT 网关时指定这些值。以下说明介绍了如何为现有 NAT 网关启用日志记录功能。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 NAT 网关。

  3. 点击修改

  4. 点击高级配置

  5. 日志记录部分中,选择以下选项之一:

    • 无日志记录:停用日志记录功能
    • 翻译和错误:将所有日志发送到 Logging
    • 仅限翻译:仅在创建连接时发送日志;不记录丢弃的数据包
    • 仅限错误:在数据包因没有可用的端口而被丢弃时发送日志;不记录新连接
  6. 点击保存

gcloud

使用 gcloud compute routers nats update 命令

以下命令会为现有 NAT 网关启用日志记录功能。

在每条命令中,替换以下内容:

  • NAT_GATEWAY:NAT 网关的名称
  • ROUTER_NAME:托管 NAT 网关的 Cloud Router 路由器的名称
  • REGION:Cloud Router 路由器的地区

如需记录网络地址转换事件和错误,请使用以下命令:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging

如需仅记录网络地址转换事件,请使用以下命令:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=TRANSLATIONS_ONLY

如需仅记录错误,请使用以下命令:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=ERRORS_ONLY

清除日志过滤条件

如果您设置了过滤条件,则可以将其清除。清除日志过滤条件意味着只要启用了日志记录功能,系统就会记录网络地址转换事件和错误。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 NAT 网关。

  3. 点击修改

  4. 点击高级配置

  5. 日志记录部分中,选择转换和错误

  6. 点击保存

gcloud

使用 gcloud compute routers nats update 命令。 以下命令中的 --log-filter=ALL 标志会将日志过滤条件设置为接受所有日志。

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --log-filter=ALL

替换以下内容:

  • NAT_GATEWAY:NAT 网关的名称
  • ROUTER_NAME:托管 NAT 网关的 Cloud Router 路由器的名称
  • REGION:Cloud Router 路由器的地区

停用日志记录

如需停用日志记录功能,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 NAT 网关。

  3. 点击修改

  4. 点击高级配置

  5. 日志记录部分中,选择无日志记录

  6. 点击保存

gcloud

使用 gcloud compute routers nats update 命令

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --no-enable-logging

替换以下内容:

  • NAT_GATEWAY:NAT 网关的名称
  • ROUTER_NAME:托管 NAT 网关的 Cloud Router 路由器的名称
  • REGION:Cloud Router 路由器的地区

确定日志记录状态

如需确定日志记录功能的状态,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud NAT 页面。

    进入 Cloud NAT

  2. 点击您的 NAT 网关。

  3. 点击修改

  4. 点击高级配置

  5. 检查日志记录部分中的选择。

gcloud

gcloud compute routers nats describe NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION

替换以下内容:

  • NAT_GATEWAY:NAT 网关的名称
  • ROUTER_NAME:托管 NAT 网关的 Cloud Router 路由器的名称
  • REGION:Cloud Router 路由器的地区

查看日志

如需查看 NAT 日志,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

    转到日志浏览器

    • 如需查看所有 NAT 日志,请在日志名称菜单中选择 Cloud NAT 网关
    • 如需仅查看一个区域的日志,请在日志名称菜单中选择 Cloud NAT 网关,然后向右滑动光标选择一个区域。
    • 如需仅查看一个网关的日志,请在日志名称菜单中选择 Cloud NAT 网关,接着向右滑动光标以选择一个地区,然后再次向右滑动光标以选择一个网关。

或者,将以下表达式输入查询编辑器中:

resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"