外部直通网络负载均衡器日志记录和监控

本文档介绍如何为外部直通网络负载均衡器配置和使用 Cloud LoggingCloud Monitoring

日志记录

日志提供有用的信息,用于对外部直通网络负载均衡器进行问题排查和监控。日志会按连接汇总并近乎实时地导出。系统会为每个负载均衡实例的 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流生成入站和出站流量日志。如需详细了解日志条目中提供的字段,请参阅日志字段

使用日志无需额外费用。根据您导入日志的方式,您需要按 Cloud Logging、BigQuery 或 Pub/Sub 的标准价格付费。启用日志不会影响负载均衡器的性能。

Logging 具有以下优势:

  • 外部直通网络负载均衡器流量监控。 通过每个连接的日志记录,您可以深入了解每个连接如何路由到服务后端。

  • 网络问题排查。您可以利用外部直通式网络负载均衡器日志进行问题排查。如需了解详情,请参阅排查外部直通网络负载均衡器问题

从外部客户端到虚拟机的流的示例日志格式

下图显示了外部客户端 (203.0.113.7)、外部直通网络负载均衡器 (198.51.100.99) 和后端实例 (10.240.0.2) 的入站和出站流量。

外部客户端到后端虚拟机服务的流。
外部客户端到虚拟机的入站和出站流。

从客户端到后端实例的连接的外部直通网络负载均衡器日志的格式如下:

  • connection.clientIp:203.0.113.7
  • connection.serverIp:198.51.100.99
  • bytesSent:1256
  • bytesReceived:4521

日志采样和收集

Google Cloud 会对离开和进入负载均衡器后端虚拟机的数据包进行采样。 系统会处理这些采样数据包以生成日志。

不会对每个数据包都进行采样。Google Cloud 会根据物理主机上的流量大小对可变的数据包子集进行采样。可能达到的数据包最低采样率为 1/1,024。采样率由 Google Cloud 动态控制。您无法调整采样率。

数据包采样通过以下方式与防火墙规则进行交互:

  • 在应用出站防火墙规则之前对数据包进行采样。
  • 在应用入站防火墙规则之后对数据包进行采样。

数据包采样后,Google Cloud 会按照以下过程处理采样的数据包:

  1. 聚合:采样数据包在五秒间隔内进行聚合,以生成单个流条目。

  2. 可配置(次要)日志采样:这是第二个采样流程,用于采样流。您可以根据 logConfig.sampleRate 参数控制系统以日志条目形式发出的流条目的比例。当 logConfig.sampleRate1.0 (100%) 时,表示系统会处理所有采样数据包

  3. 写入 Logging:日志条目会写入 Cloud Logging。

可选字段

日志记录包含必填字段和可选字段。日志字段部分列出了哪些字段是可选字段,哪些是必填字段。所有必填字段始终包含在内。您可以自定义要保留哪些可选字段。

  • 如果您选择包括所有可选字段,则日志记录格式中的所有可选字段都将包含在流日志中。向记录格式添加新的可选字段后,流日志会自动包含新字段。

  • 如果您选择排除所有可选字段,则所有可选字段都将被省略。

  • 如果您选择自定义,则可以指定要包含在父字段中的可选字段(例如 serverInstance)或使用其全名(例如 serverInstance.vm)。

将新的可选字段添加到记录格式后,日志将不会包含这些字段,除非这些字段是您在父字段中指定要包含的新字段。

如果使用父字段指定自定义可选字段,则在向该父字段内的记录格式添加新的可选字段后,日志将自动包含新字段。例如,如果您选择添加 optionalFieldA,则系统会自动包含已添加到名为 optionalFieldA.subField1 的日志的新字段。

如需了解如何自定义可选字段,请参阅在新的后端服务上启用日志记录

响应数据包来源 IP 地址要求

仅当数据包的来源 IP 地址与负载均衡器的转发规则 IP 地址匹配时,日志记录才会对来自后端虚拟机的响应数据包进行采样。对于 TCP 连接,响应数据包必须始终具有与请求数据包的目标匹配的来源。但是,对于其他协议,响应数据包可以使用不同的来源 IP 地址。如需了解详情,请参阅请求和返回数据包的 IP 地址

外部直通网络负载均衡器日志记录功能使用的数据包采样过程会忽略来自后端虚拟机的任何响应数据包,前提是这些响应数据包的来源与外部直通网络负载均衡器的转发规则的 IP 地址不匹配。

为新的后端服务启用日志记录功能

控制台

  1. 在 Google Cloud Console 中,转到负载均衡页面。

    进入“负载均衡”

  2. 点击您的负载均衡器的名称。
  3. 点击 修改,然后点击后端配置
  4. 选择创建后端服务,然后填写必填的后端服务字段。
  5. 日志记录部分,选中启用日志记录复选框。
  6. 设置采样率比例。您可以将采样率设置为介于 0.01.0(默认值)之间的任何值。
  7. 可选:如需在日志中包含所有可选字段,请在可选字段部分中,点击包含所有可选字段
  8. 如需完成后端服务的修改,请点击更新
  9. 如需完成负载均衡器修改,请点击更新

gcloud

使用 gcloud compute backend-services create 命令创建后端服务以启用日志记录功能。

    gcloud compute backend-services create BACKEND_SERVICE \
      --region=REGION \
      --enable-logging \
      --logging-sample-rate=SAMPLE_RATE \
      --logging-optional=LOGGING_OPTIONAL \
      --logging-optional-fields=OPTIONAL_FIELDS
    

请替换以下内容:

  • BACKEND_SERVICE:后端服务的名称。
  • REGION:要创建的后端服务的区域。
  • SAMPLE_RATE:只有在为此后端服务启用日志记录功能时,才能指定此字段。

    该字段的值必须介于 0.0 to 1.0 之间,其中 0.0 表示未生成任何日志,1.0 表示为所有采样数据包生成了日志。如果启用日志记录功能,但将采样率设置为 0.0,则相当于停用日志记录功能。默认值为 1.0

  • LOGGING_OPTIONAL:您希望包括在日志中的可选字段:
    • INCLUDE_ALL_OPTIONAL:包括所有可选字段。
    • EXCLUDE_ALL_OPTIONAL(默认值)用于排除所有可选字段。
    • CUSTOM:包括您在 OPTIONAL_FIELDS 中指定的可选字段的自定义列表。
  • OPTIONAL_FIELDS:您希望包括在日志中的可选字段列表(以英文逗号分隔)。

    例如 serverInstance.vm,serverGkeDetails。只有当 LOGGING_OPTIONAL 设置为 CUSTOM 时才能设置此项。

API

regionBackendServices.insert 方法发出 POST 请求。

    POST https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices
    

排除所有选填字段

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

包含所有选填字段

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

包含可选字段的自定义列表

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

为现有后端服务启用日志记录功能

控制台

  1. 在 Google Cloud Console 中,转到负载均衡页面。

    进入“负载均衡”

  2. 点击您的负载均衡器的名称。
  3. 点击 修改,然后点击后端配置
  4. 点击您的后端服务旁边的 修改
  5. 日志记录部分,选中启用日志记录复选框。
  6. 设置采样率比例。您可以将采样率设置为介于 0.01.0(默认值)之间的任何值。
  7. 可选:如需在日志中包含所有可选字段,请在可选字段部分中,点击包括所有可选字段
  8. 如需完成后端服务的修改,请点击更新
  9. 如需完成负载均衡器修改,请点击更新

gcloud

使用 gcloud compute backend-services update 命令在现有后端服务上启用日志记录。

    gcloud compute backend-services update BACKEND_SERVICE \
      --region=REGION \
      --enable-logging \
      --logging-sample-rate=SAMPLE_RATE \
      --logging-optional=LOGGING_OPTIONAL \
      --logging-optional-fields=OPTIONAL_FIELDS
    

请替换以下内容:

  • BACKEND_SERVICE:后端服务的名称。
  • REGION:要创建的后端服务的区域。
  • SAMPLE_RATE:只有在为此后端服务启用日志记录功能时,才能指定此字段。

    该字段的值必须介于 0.0 to 1.0 之间,其中 0.0 表示未报告任何日志,1.0 表示为所有采样数据包生成了日志。如果启用日志记录功能,但将采样率设置为 0.0,则相当于停用日志记录功能。默认值为 1.0

  • LOGGING_OPTIONAL:您希望包括在日志中的可选字段:
    • INCLUDE_ALL_OPTIONAL:包括所有可选字段。
    • EXCLUDE_ALL_OPTIONAL(默认值)用于排除所有可选字段。
    • CUSTOM:包括您在 OPTIONAL_FIELDS 中指定的可选字段的自定义列表。
  • OPTIONAL_FIELDS:您希望包括在日志中的可选字段列表(以英文逗号分隔)。

    例如 serverInstance.vm,serverGkeDetails。只有当 LOGGING_OPTIONAL 设置为 CUSTOM 时才能设置此项。

API

regionBackendServices/patch 方法发出 PATCH 请求。

      PATCH https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices/`BACKEND_SERVICE`
     

排除所有选填字段

     "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "EXCLUDE_ALL_OPTIONAL"
      }
     

包含所有选填字段

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

包含可选字段的自定义列表

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

为现有后端服务启用日志记录功能

控制台

  1. 在 Google Cloud 控制台中,转到负载均衡页面。

    进入“负载均衡”

  2. 点击您的负载均衡器的名称。

  3. 点击 修改,然后点击后端配置

  4. 如需完全停用日志记录功能,请在日志记录部分中清除启用日志记录复选框。

  5. 如果要保持启用日志记录功能,可以设置其他采样率比例。您可以将采样率设置为介于 0.01.0(默认值)之间的任何值。如需仅为 20% 的采样数据包生成日志,请将值设置为 0.2

  6. 如需完成后端服务的修改,请点击更新

  7. 如需完成负载均衡器修改,请点击更新

gcloud

使用 gcloud compute backend-services update 命令停用后端服务的日志记录功能。

gcloud compute backend-services update BACKEND_SERVICE \
  --region=REGION \
  --no-enable-logging

请替换以下内容:

  • BACKEND_SERVICE:后端服务的名称。
  • REGION:后端服务的区域。

API

regionBackendServices/patch 方法发出 PATCH 请求。

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE

 {
 "logConfig": {
   "enable": false
  }
 }
 

查看日志

如果日志提取到 Cloud Logging 中,但未通过日志路由器接收器排除,则可以使用 Cloud Logging APIGoogle Cloud CLI 读取日志。

如需查看所有外部直通网络负载均衡器日志,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,转到日志浏览器页面。

    转到日志浏览器

  2. 选择外部直通式网络负载均衡器规则资源类型。

  3. 选择 loadbalancing.googleapis.com/flows 日志名称。

控制台查询

  1. 在 Google Cloud 控制台中,转到日志浏览器页面。

    转到日志浏览器

  2. 点击显示查询切换开关。

  3. 将以下内容粘贴到查询字段中。将 PROJECT_ID 替换为您的项目 ID。

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    
  4. 点击运行查询

查看特定后端服务的日志

如需查看特定后端服务的外部直通网络负载均衡器日志,请执行以下操作:

控制台查询

  1. 在 Google Cloud 控制台中,转到日志浏览器页面。

    转到日志浏览器

  2. 点击显示查询切换开关。

  3. 将以下内容粘贴到查询字段中。将 PROJECT_ID 替换为您的项目 ID,并将 BACKEND_SERVICE_NAME 替换为您的后端服务的名称。

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. 点击运行查询

查看后端实例组的日志

如需查看特定后端实例组的外部直通网络负载均衡器日志,请执行以下操作:

控制台查询

  1. 在 Google Cloud 控制台中,转到日志浏览器页面。

    转到日志浏览器

  2. 点击显示查询切换开关。

  3. 将以下内容粘贴到查询字段中。将 PROJECT_ID 替换为您的项目 ID,将 BACKEND_GROUP_NAME 替换为实例组的名称。

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. 点击运行查询

日志字段

日志记录包含必填字段,这些字段是每个日志记录的默认字段,以及添加额外信息的可选字段。可以省略可选字段,以节省存储费用。

某些日志字段采用多字段格式,在给定字段中包含多段数据。例如,connection 字段采用 IpConnection 格式,它在单个字段中包含来源 IP 地址和目的地 IP 地址、端口以及协议。以下记录格式表介绍了这些含有多个字段的字段。

受监控的资源为 loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

字段 字段格式 字段类型:必填或可选 说明
连接 IpConnection 必需 描述此连接的 5 元组。
startTime 字符串 必需 在聚合时间间隔内观察到的第一个数据包的时间戳(RFC 3339 日期字符串格式)。
endTime 字符串 必需 在聚合时间间隔内观察到的最后一个数据包的时间戳(RFC 3339 日期字符串格式)。
bytesSent int64 必需 从服务器发送到客户端的字节数。
bytesReceived int64 必需 服务器从客户端接收的字节数。
packetsSent int64 必需 从服务器发送到客户端的数据包数。
packetsReceived int64 必需 服务器从目的地接收的数据包数。
rtt 字符串 必需

仅针对 TCP 连接测量延迟时间。 延迟时间是估算的网络往返时间 (RTT) 加上在客户端的操作系统中处理数据包所花费的时间的总和。

对于采样的数据包,RTT 从负载均衡后端的角度计算,方法是测量后端发送 TCP 分段与后端收到对已发送分段的序列号的 TCP 确认之间的时间差。

延迟时间的格式为字符串,以秒数开头,以“s”结尾(表示秒)。纳秒表示为小数秒,例如,250 毫秒的延迟时间格式为“0.250000000s”。

serverInstance InstanceDetails 可选 后端虚拟机实例详情。
clientLocation GeographicDetails 可选 客户端的可用位置元数据。
serverGkeDetails GkeDetails 可选 服务器后端的 GKE 元数据。只有在后端是 GKE 端点时才可用。
networkTier NetworkTierDetails 可选 外部连接的网络层级,仅在客户端不在 Google Cloud 中时填充。

IpConnection 字段格式

字段 类型 说明
clientIp 字符串 客户端 IP 地址
clientPort int32 客户端端口。仅针对 TCP 和 UDP 连接设置。
serverIp 字符串 服务器 IP 地址(转发规则 IP 地址)
serverPort int32 服务器端口。仅针对 TCP 和 UDP 连接设置。
protocol int32 IANA 协议编号

InstanceDetails 字段格式

字段 类型 说明
projectId 字符串 包含此虚拟机的项目的 ID
vm 字符串 虚拟机的实例名称
区域 字符串 虚拟机的区域
可用区 字符串 虚拟机的地区
vmIp 字符串 发起连接的网络接口的主要内部 IPv4 地址

GeographicDetails 字段格式

字段 类型 说明
continent 字符串 大洲名称
regionCode 字符串 Unicode CLDR 区域代码,例如 USFR。对于大多数国家/地区,这些代码直接对应于 ISO-3166-2 代码
subRegion 字符串 Unicode CLDR 下属行政单位 ID,例如国家/地区所在的省或州,例如 USCACAON。这些 Unicode 代码从 ISO-3166-2 标准定义的下属行政单位派生而来。
城市 字符串 城市名称,例如表示加利福尼亚州山景城的 Mountain View。此变量没有标准的有效值列表。城市名称可以包含 US-ASCII 字母、数字、空格和以下字符:!#$%&'*+-.^_`|~
asn int32 此端点所属外部网络的自治系统编号 (ASN)。

GkeDetails 字段格式

字段 类型 说明
集群 ClusterDetails GKE 集群元数据
pod PodDetails GKE Pod 元数据,当流量的来源或目的地是 Pod 时填充
服务 ServiceDetails GKE 服务元数据,仅填充在服务端点中。记录最多包含两项服务。如果有两项以上的相关服务,则此字段包含一个带有特殊 MANY_SERVICES 标记的 服务。

ClusterDetails 字段格式

字段 类型 说明
集群 字符串 GKE 集群名称
clusterLocation 字符串 集群的位置。集群位置可以是可用区或区域。

PodDetails 字段格式

字段 类型 说明
pod 字符串 Pod 的名称
podNamespace 字符串 Pod 的命名空间

ServiceDetails 字段格式

字段 类型 说明
服务 字符串 服务的名称。如果有两个以上的相关服务,则该字段设置为特殊 Many_SERVICES 标记。
serviceNamespace 字符串 服务的命名空间

NetworkTierDetails 字段格式

字段 类型 说明
networkTier 字符串 用于连接的 NetworkTier,为 [PREMIUM, STANDARD, FIXED_STANDARD, UNKNOWN] 之一。

监控

外部直通网络负载均衡器将关键指标导出到 Cloud Monitoring

监控指标具有以下用途:

  • 评估负载均衡器的配置、使用情况和性能
  • 排查问题
  • 提高资源利用率和改善用户体验

除了 Monitoring 中的预定义信息中心,您还可以通过 Monitoring API 创建自定义信息中心、设置提醒和查询指标。

查看 Monitoring 信息中心

控制台

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

    进入 Monitoring

  2. 在导航窗格中,选择信息中心

  3. 选择 Google Cloud 负载均衡器信息中心。系统会显示所有负载均衡器。

  4. 从负载均衡器列表中选择负载均衡器名称。

外部直通网络负载均衡器详情窗格中,您可以查看所选负载均衡器的各种详细信息。此窗格显示您当前的配置。

关键指标窗格中,您可以查看每个关键指标的图表。如需查看具体的细分信息,请点击细分信息。此窗格会显示历史配置通知的数据,而外部直通网络负载均衡器详情窗格仅显示当前配置。如需了解详情,请参阅信息中心和图表

定义 Monitoring 自定义信息中心

您可以针对外部直通网络负载均衡器指标创建自定义 Monitoring 信息中心。

如需了解搜集的指标的列表,请参阅指标和资源类型。如需了解可用于过滤结果的特性列表,请参阅过滤器

控制台

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

    进入 Monitoring

  2. 选择信息中心 > 创建信息中心

  3. 点击添加图表

  4. 给图表添加一个标题。

  5. 选择指标和过滤条件。

    如需查找外部直通网络负载均衡器指标,请搜索 loadbalancing.googleapis.com/l3/external 前缀。

  6. 点击保存

定义 Monitoring 提醒

您可以就各种外部直通网络负载均衡器指标定义 Monitoring 提醒

控制台

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

    进入 Monitoring

  2. 选择提醒 > 创建政策

  3. 选择资源类型和指标。

    如需查找外部直通网络负载均衡器资源类型和指标,请在查找资源类型和指标字段中搜索 loadbalancing.googleapis.com/l3/external

  4. 指定 Configuration,以设置触发提醒的时间。

  5. 如果需要,添加 Filters

  6. 点击 Save

指标报告频率和保留

每隔 1 分钟,系统就会将外部直通网络负载均衡器的指标批量导出到 Monitoring 中。监控数据会保留六周。指标基于抽样流量(采样率是动态的,且无法调整)。默认情况下,信息中心可按 1 小时 (1H)、6 小时 (6H)、1 天 (1D)、1 周 (1W)、6 周 (6W) 时间间隔提供数据分析。您可以在 60 秒到 60 秒的任何时间间隔内手动请求执行分析。

指标和资源类型

指标

外部直通式网络负载均衡器的以下指标会报告给 Monitoring。您可以在发出 API 请求时使用这些指标名称。

metric_name 类型 说明
loadbalancing.googleapis.com/l3/external/ingress_bytes_count 计数器 从客户端发送到外部直通网络负载均衡器后端的字节数量。 对于 TCP 流,只计算应用流中的字节数量。
loadbalancing.googleapis.com/l3/external/ingress_packets_count 计数器 从客户端发送到外部直通网络负载均衡器后端的数据包数量。
loadbalancing.googleapis.com/l3/external/egress_bytes_count 计数器 从外部直通网络负载均衡器后端发送到客户端的字节数量。 对于 TCP 流,只计算应用流中的字节数量。
loadbalancing.googleapis.com/l3/external/egress_packets_count 计数器 从外部直通网络负载均衡器后端发送到客户端的数据包数量。
loadbalancing.googleapis.com/l3/external/rtt_latencies 分布

通过 TCP 连接为外部直通网络负载均衡器流测量的 RTT 分布。

仅适用于 TCP 流量。

资源类型

外部直通网络负载均衡器使用以下资源类型:

  • tcp_lb_rule
  • udp_lb_rule
  • loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

外部直通网络负载均衡器可以支持 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量。

您可以将资源类型指定为 tcp_lb_ruleudp_lb_rule,以将受监控的数据限制为 TCP 或 UDP 协议。您可以将资源类型指定为 loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule,以监控所有受支持的协议,包括 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 协议。

过滤条件

系统会为每个外部直通网络负载均衡器汇总指标。您可以按照以下维度过滤汇总的指标:

tcp_lb_ruleudp_lb_rule 的资源标签

您可以按资源限制查询。您还可以按照这些值对结果进行分组。

resource.label.<var>LABEL_KEY</var>:
label_key 类型 说明
project 字符串 与相应资源关联的 Google Cloud 项目的标识符。
load_balancer_name 字符串 负载均衡器的名称。
region 字符串 负载均衡器的后端所在的区域,例如 us-central1europe-west1asia-east1
network_name 字符串 负载均衡器后端所在的 VPC 网络。
backend_target_type 字符串 指示外部直通网络负载均衡器是基于目标池还是基于后端服务。有效值为 BACKEND_SERVICETARGET_POOL
backend_target_name 字符串 对于基于目标池的外部直通网络负载均衡器,目标池的名称。 对于基于后端服务的外部直通网络负载均衡器,后端服务的名称。
forwarding_rule_name 字符串 转发规则的名称。
forwarding_rule_network_tier 字符串 转发规则的网络层级
backend_name 字符串

处理连接的后端的名称。

对于基于后端服务的外部直通网络负载均衡器,该值是处理连接的后端实例组或网络端点组 (NEG) 的名称。

对于基于目标池的外部直通网络负载均衡器,该值是目标池的名称。

backend_type 字符串

处理连接的后端的类型。

对于基于后端服务的外部直通网络负载均衡器,该值可以是 INSTANCE_GROUPNETWORK_ENDPOINT_GROUP

对于基于目标池的外部直通网络负载均衡器,该值为 TARGET_POOL

backend_scope 字符串

对于基于后端服务的外部直通网络负载均衡器,后端实例组或 NEG 的可用区或区域。

对于基于目标池的网络负载均衡器,该值为 UNSUPPORTED_FOR_TARGET_POOL

backend_scope_type 字符串

处理连接的后端组范围的类型。有效值为 ZONEREGION

对于基于目标池的网络负载均衡器,该值为 UNSUPPORTED_FOR_TARGET_POOL

backend_failover_configuration 字符串 处理连接的后端组的故障切换配置。有效值为 PRIMARYBACKUPUNKNOWN
backend_subnetwork_name 字符串 接收连接的后端的子网名称。
endpoint_zone 字符串 处理连接的后端虚拟机的可用区。

loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule 的资源标签

您可以按资源限制查询。您还可以按照这些值对结果进行分组。

resource.label.<var>LABEL_KEY</var>:
label_key 类型 说明
project 字符串 与相应资源关联的 Google Cloud 项目的标识符。
region 字符串 负载均衡器的后端所在的区域,例如 us-central1europe-west1asia-east1
backend_network_name 字符串 负载均衡器后端所在的 VPC 网络。
backend_target_type 字符串 处理连接的后端目标的类型。有效值为 BACKEND_SERVICETARGET_POOL
backend_service_name 字符串 处理连接的后端服务的名称。如果 backend_target_typeTARGET_POOL,则该值为 UNSUPPORTED_FOR_TARGET_POOL
primary_target_pool 字符串 主目标池的名称。如果 backend_target_typeBACKEND_SERVICE,则该值为 UNSUPPORTED_FOR_BACKEND_SERVICE
target_pool 字符串 目标池的名称。如果 backend_target_typeBACKEND_SERVICE,则该值为 UNSUPPORTED_FOR_BACKEND_SERVICE
forwarding_rule_name 字符串 外部直通网络负载均衡器的转发规则的名称。
backend_group_name 字符串 处理连接的后端组的名称。 如果 backend_target_typeTARGET_POOL,则该值为 UNSUPPORTED_FOR_TARGET_POOL
backend_group_type 字符串

处理连接的后端组的类型。

如果 backend_target_typeBACKEND_SERVICE,则该值为 INSTANCE_GROUPNETWORK_ENDPOINT_GROUP

如果 backend_target_typeTARGET_POOL,则该值为 UNSUPPORTED_FOR_TARGET_POOL

backend_group_scope 字符串 处理连接的后端组(可用区或区域的名称)的范围。如果 backend_target_typeTARGET_POOL,则该值为 UNSUPPORTED_FOR_TARGET_POOL
backend_subnetwork_name 字符串 接收连接的后端的子网名称。
backend_zone 字符串 处理连接的后端虚拟机的可用区。

指标标签

您可以按指标标签限制查询。您还可以按照这些值对结果进行分组。

metric.label.<var>LABEL_KEY</var>:
label_key 类型 说明
client_country 字符串 启动了与外部直通网络负载均衡器的连接的客户端所在国家/地区。
client_continent 字符串 启动了与外部直通网络负载均衡器的连接的客户端所在大洲。
protocol 字符串

loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule 资源的连接中的协议。

对于 tcp_lb_ruleudp_lb_rule 资源,此字段留空。

Monitoring API 请求

您可以使用 Monitoring API 的 v3 projects.timeSeries.list 请求构建针对外部直通网络负载均衡器指标进行的任意查询。各种定义的确切结构遵循通用的监控过滤器语义。

API 请求示例

  • 使用 1 分钟聚合获取世界协调时间 2019 年 7 月 1 日下午 12:00-12:02 期间项目中所有外部直通网络负载均衡器发送的所有字节数。

    其中 timeSeries.list 参数如下:

    • 名称:projects/PROJECT_ID
    • 过滤条件resource.type = "tcp_lb_rule"metric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
    • interval.start_time2019-07-01T12:00:00Z
    • interval.end_time2019-07-01T12:02:00Z
    • aggregation.alignmentPeriod60s
    • aggregation.crossSeriesReducerREDUCE_SUM
    • aggregation.perSeriesAlignerALIGN_SUM
  • 获取世界协调时间 2019 年 7 月 1 日下午 12:19-12:20 期间项目中所有外部直通网络负载均衡器的 RTT 中值,按客户端所在国家/地区进行细分。

    其中 timeSeries.list 参数如下:

    • 名称:projects/PROJECT_ID
    • 过滤条件resource.type = "tcp_lb_rule"metric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
    • interval.start_time2019-07-01T12:19:00Z
    • interval.end_time2019-07-01T12:20:00Z
    • aggregation.alignmentPeriod60s
    • aggregation.crossSeriesReducerREDUCE_SUM
    • aggregation.groupByFieldsmetric.label.client_country
    • aggregation.perSeriesAlignerALIGN_PERCENTILE_50
  • 获取世界协调时间 2019 年 7 月 1 日下午 12:19-12:20 期间来自特定外部直通网络负载均衡器的总字节数,按端点可用区和客户端所在大陆进行细分。

    其中 timeSeries.list 参数如下:

    • 名称:projects/PROJECT_ID
    • 过滤条件resource.type = "tcp_lb_rule"resource.label.load_balancer_name = "netlb-bs-1"metric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
    • interval.start_time2019-07-01T12:19:00Z
    • interval.end_time2017-07-01T12:20:00Z
    • aggregation.alignmentPeriod60s
    • aggregation.crossSeriesReducerREDUCE_SUM
    • aggregation.groupByFieldsmetric.label.client_continent
    • aggregation.groupByFieldsresource.label.endpoint_zone
    • aggregation.perSeriesAlignerALIGN_SUM

后续步骤