代理网络负载均衡器日志记录和监控

本页面介绍了如何为代理网络负载均衡器配置和使用 Cloud LoggingCloud Monitoring

监控资源

下表指定了负载均衡器的资源名称。

区域级外部代理网络负载均衡器

区域级内部代理网络负载均衡器

跨区域内部代理网络负载均衡器

全球外部代理网络负载均衡器

传统代理网络负载均衡器
Logging 受监控的资源类型 “代理网络负载均衡器规则”
l4_proxy_rule
“全球外部代理网络负载均衡器规则”
tcp_ssl_proxy_rule
Monitoring 受监控的资源类型 “代理网络负载均衡器规则”
l4_proxy_rule
“全球外部代理网络负载均衡器规则”
tcp_ssl_proxy_rule

用于代理网络负载均衡器的日志记录

日志提供了对负载均衡器进行问题排查和监控的有用信息。系统会汇总每个连接的日志,可让您深入了解每个连接如何路由到服务后端。

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

日志采样和收集

系统会对离开和进入负载均衡器后端虚拟机 (VM) 实例的连接进行采样。然后,系统会处理这些采样的连接以生成日志。您可以根据 logConfig.sampleRate 参数控制系统以日志条目形式发出的连接的比例。当 logConfig.sampleRate1.0 (100%) 时,表示系统会为所有连接生成日志并写入 Cloud Logging。

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

gcloud

使用 gcloud compute backend-services create 命令

对于区域级外部代理网络负载均衡器和区域级内部代理网络负载均衡器,请使用以下命令:

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

对于全球外部代理网络负载均衡器、传统代理网络负载均衡器或跨区域内部代理网络负载均衡器:

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

替换以下内容:

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

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

API

regionBackendServices.insert 方法发出 POST 请求:

对于区域级内部代理网络负载均衡器:

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

对于区域级外部代理网络负载均衡器:

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

对于全球外部代理网络负载均衡器,请使用以下命令:

backendServices.insert 方法发出 POST 请求:

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

对于传统代理网络负载均衡器:

backendServices.insert 方法发出 POST 请求:

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

对于跨区域内部代理网络负载均衡器:

backendServices.insert 方法发出 POST 请求:

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

请替换以下内容:

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

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

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

gcloud

使用 gcloud compute backend-services update 命令

对于区域级外部代理网络负载均衡器和区域级内部代理网络负载均衡器,请使用以下命令:

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

对于全球外部代理网络负载均衡器、传统代理网络负载均衡器或跨区域内部代理网络负载均衡器:

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

替换以下内容:

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

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

API

regionBackendServices/patch 方法发出 PATCH 请求:

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

对于区域级内部代理网络负载均衡器:

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

对于区域级外部代理网络负载均衡器:

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

对于全球外部代理网络负载均衡器,请使用以下命令:

backendServices/patch 方法发出 PATCH 请求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

对于传统代理网络负载均衡器:

backendServices/patch 方法发出 PATCH 请求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

对于跨区域内部代理网络负载均衡器:

backendServices/patch 方法发出 PATCH 请求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

请替换以下内容:

  • PROJECT_ID:您的项目的名称。
  • BACKEND_SERVICE:后端服务的名称。
  • SAMPLE_RATE:只有在为此后端服务启用日志记录功能时,才能指定此字段。

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

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

gcloud

使用 gcloud compute backend-services update 命令

对于区域级外部代理网络负载均衡器和区域级内部代理网络负载均衡器,请使用以下命令:

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

对于全球外部代理网络负载均衡器、传统代理网络负载均衡器或跨区域内部代理网络负载均衡器:

gcloud compute backend-services update BACKEND_SERVICE \
   --global \
   --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
   }
  }
 

对于全球外部代理网络负载均衡器、传统代理网络负载均衡器或跨区域内部代理网络负载均衡器:

backendServices/patch 方法发出 PATCH 请求:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

请替换以下内容:

  • PROJECT_ID:您的项目的名称。
  • REGION:后端服务的区域。
  • BACKEND_SERVICE:后端服务的名称。

查看日志

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

如需查看所有日志,请完成以下步骤。

控制台

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

    转到日志浏览器

  2. 选择代理网络负载均衡器规则资源类型。

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

控制台查询

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

    转到日志浏览器

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

  3. 将以下内容粘贴到查询字段中。

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    
  4. 点击运行查询

替换以下内容:

  • LOG_RESOURCE_TYPE:设置为 l4_proxy_ruletcp_ssl_proxy_rule 的日志记录受监的控资源类型。
  • PROJECT_ID:您的项目的名称。

查看特定后端服务的日志

如需查看特定后端服务的日志,请完成以下步骤。

控制台查询

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

    转到日志浏览器

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

  3. 将以下内容粘贴到查询字段中。

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. 点击运行查询

替换以下内容:

  • LOG_RESOURCE_TYPE:设置为 l4_proxy_ruletcp_ssl_proxy_rule 的日志记录受监的控资源类型。
  • PROJECT_ID:您的项目的名称。
  • BACKEND_SERVICE_NAME:后端服务的名称。

查看后端实例组的日志

如需查看特定后端实例组的日志,请完成以下步骤。

控制台查询

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

    转到日志浏览器

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

  3. 将以下内容粘贴到查询字段中。

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. 点击运行查询

替换以下内容:

  • LOG_RESOURCE_TYPE:设置为 l4_proxy_ruletcp_ssl_proxy_rule 的日志记录受监的控资源类型。
  • PROJECT_ID:您的项目的名称。
  • BACKEND_GROUP_NAME:实例组的名称。

记录的内容

日志条目包含对监控和调试流量有用的信息。日志记录包含必填字段,这些字段是每个日志记录的默认字段。

字段 字段格式 字段类型:必填或可选 说明
severity
timestamp
receiveTimestamp
insertID
logName
LogEntry 必填 日志条目中描述的常规字段。
resource MonitoredResource 必填

MonitoredResource 是与日志条目关联的资源类型。

MonitoredResourceDescriptor 使用类型名称和一组标签来描述 MonitoredResource 对象的架构。如需了解详情,请参阅资源标签

jsonPayload 对象 (结构体格式) 必填 以 JSON 对象表示的日志条目载荷。JSON 对象包含以下字段:
  • statusDetails
  • Google Cloud Armor 安全政策日志条目
  • proxyStatus 字段包含一个字符串,用于指定全球外部代理网络负载均衡器、区域级外部代理网络负载均衡器和内部代理网络负载均衡器返回错误代码的原因。传统代理网络负载均衡器不支持此字段。

    如果值为空字符串,则系统不会记录该字段。如果代理返回的错误代码不是 04XX5XX,则可能会发生这种情况。

    proxyStatus 字段包含两个部分:

日志字段

日志记录包含必填字段,这些字段是每个日志记录的默认字段。

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

下表列出了资源 l4_proxy_rule 的所有必填日志字段。

字段 字段格式 说明
连接 IpConnection 描述此连接的 5 元组。
startTime 字符串 负载均衡器接受来自客户端的连接时的时间戳(RFC 3339 日期字符串格式)。
endTime 字符串 客户端或后端终结连接时的时间戳(RFC 3339 日期字符串格式)。
bytesSent int64 从服务器发送到客户端的字节数。
bytesReceived int64 服务器从客户端接收的字节数。

IpConnection 字段格式

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

proxyStatus 错误字段

proxyStatus 字段包含一个字符串,用于指定负载均衡器返回错误的原因。proxyStatus 字段包含两个部分:proxyStatus errorproxyStatus details。本部分介绍了 proxyStatus error 字段支持的字符串。

proxyStatus 错误字段适用于以下负载均衡器:

  • 全局外部代理网络负载均衡器
  • 区域级外部代理网络负载均衡器
  • 跨区域内部代理网络负载均衡器
  • 区域级内部代理网络负载均衡器
proxyStatus 错误 说明 通用的附带响应代码
destination_unavailable 负载均衡器认为后端不可用。例如,最近尝试与后端通信失败,或者健康检查可能导致失败。 500、503
connection_timeout 负载均衡器尝试打开与后端的连接时超时。 504
connection_terminated

在收到完整响应之前,负载均衡器与后端的连接已终结。

在出现以下任一情况时,系统会返回此 proxyStatus error

  • 在收到完整响应之前,负载均衡器与后端的连接已终结。
  • TLS 连接在 SSL 握手时失败,并且客户端未与负载均衡器建立连接。

0、502、503
connection_refused 负载均衡器与后端的连接被拒绝。 502、503
connection_limit_reached

负载均衡器配置为限制其与后端的连接数,并且超出了该限制。

在出现以下任一情况时,系统会返回此 proxyStatus error

  • 如果任何后端处于维护模式,则流量无法路由到相应后端。
  • 如果请求在本地受速率限制。
  • Envoy 正在处理内存不足等错误情况。
502、503
destination_not_found 负载均衡器无法确定要用于此请求的适当后端。例如,可能未配置后端。 500、404
dns_error 负载均衡器在尝试查找后端主机名的 IP 地址时遇到 DNS 错误。 502、503
proxy_configuration_error 负载均衡器遇到内部错误。 500
proxy_internal_error 负载均衡器遇到内部错误。 0、500、502
proxy_internal_response 负载均衡器在未尝试连接到后端的情况下生成响应。 任何响应代码,具体取决于问题类型。例如,410 响应代码表示后端因欠费而不可用。
tls_protocol_error 负载均衡器在 TLS 握手期间遇到 TLS 错误。 0
tls_certificate_error 负载均衡器在验证服务器提供的证书时遇到错误。 0
tls_alert_received 负载均衡器在 TLS 握手期间遇到严重 TLS 提醒。 0

proxyStatus 详细信息字段

proxyStatus 字段包含一个字符串,用于指定负载均衡器返回错误的原因。proxyStatus 字段包含两个部分:proxyStatus errorproxyStatus detailsproxyStatus details 字段为可选字段,仅在提供更多信息时才会显示。本部分介绍了 proxyStatus details 字段支持的字符串。

proxyStatus 详细信息字段适用于以下负载均衡器:

  • 全局外部代理网络负载均衡器
  • 区域级外部代理网络负载均衡器
  • 区域级内部代理网络负载均衡器
  • 跨区域内部代理网络负载均衡器
proxyStatus 详细信息 说明 通用的附带响应代码
client_disconnected_before_any_response 在负载均衡器发送任何响应之前,与客户端的连接已中断。 0
backend_connection_closed 后端意外关闭与负载均衡器的连接。如果负载均衡器正在向另一个实体(例如 TCP 超时短于负载均衡器 10 分钟 [600 秒] 超时的第三方应用)发送流量,可能会发生这种情况。 502
failed_to_connect_to_backend 负载均衡器无法连接到后端。此失败包括连接阶段的超时。 503
failed_to_pick_backend 负载均衡器无法挑选运转状况良好的后端来处理请求。 502
handled_by_identity_aware_proxy 此响应由 Identity-Aware Proxy (IAP) 在允许访问之前验证客户端身份期间生成。 200、302、400、401、403、500、502
request_overall_timeout 超出总请求超时时间。 408、503、504
tls_version_not_supported 系统可以识别 TLS 协议版本,但不支持该版本。该错误会导致 TLS 连接关闭。 0
unknown_psk_identity 如果需要建立 PSK 密钥,但客户端未提供可接受的 PSK 身份,则服务器会发送此错误。该错误会导致 TLS 连接关闭。 0
no_application_protocol 当客户端“application_layer_protocol_negotiation”扩展仅通告服务器不支持的协议时,服务器会发送此错误。请参阅 TLS 应用层协议协商扩展。该错误会导致 TLS 连接关闭。 0
no_certificate 未找到任何证书。该错误会导致 TLS 连接关闭。 0
bad_certificate 证书无效,或者包含无法验证的签名。该错误会导致 TLS 连接关闭。 0
unsupported_certificate 证书的类型不受支持。该错误会导致 TLS 连接关闭。 0
certificate_revoked 证书签名者已撤消该证书。该错误会导致 TLS 连接关闭。 0
certificate_expired 证书已过期或无效。该错误会导致 TLS 连接关闭。 0
certificate_unknown 处理证书时出现了一些未指定的问题,导致证书不可接受。该错误会导致 TLS 连接关闭。 0
unknown_ca 收到了有效的证书链或部分链,但证书未被接受,因为找不到 CA 证书或者无法与已知的信任锚匹配。该错误会导致 TLS 连接关闭。 0
unexpected_message 不当消息,例如收到了错误的握手消息或过早的应用数据。该错误会导致 TLS 连接关闭。 0
bad_record_mac 收到了无法去保护的记录。该错误会导致 TLS 连接关闭。 0
record_overflow 收到了长度超过 214+256 字节的 TLSCiphertext 记录,或者记录解密为长度超过 214 字节(或某个其他协商的限制)的 TLSPlaintext 记录。该错误会导致 TLS 连接关闭。 0
handshake_failure 在提供可用选项的情况下,无法协商可接受的一组安全参数。该错误会导致 TLS 连接关闭。 0
illegal_parameter 握手中的字段不正确或与其他字段不一致。该错误会导致 TLS 连接关闭。 0
access_denied 已收到有效的证书或 PSK,但应用访问权限控制时,客户端未继续协商。该错误会导致 TLS 连接关闭。 0
decode_error 由于某些字段超出了指定范围或消息长度不正确,因此无法对消息进行解码。该错误会导致 TLS 连接关闭。 0
decrypt_error 握手(非记录层)加密操作失败,包括无法正确验证签名,或者无法正确验证已完成的消息或 PSK Binder。该错误会导致 TLS 连接关闭。 0
insufficient_security 由于服务器需要的参数比客户端支持的参数更安全,因此协商失败。该错误会导致 TLS 连接关闭。 0
inappropriate_fallback 服务器在响应来自客户端的无效连接重试尝试时发送此错误。该错误会导致 TLS 连接关闭。 0
user_cancelled 用户由于与协议失败无关的某种原因而取消握手。该错误会导致 TLS 连接关闭。 0
missing_extension 由接收握手消息的端点发送此错误,该消息不包含必须为提供的 TLS 版本或其他协商参数发送的扩展。该错误会导致 TLS 连接关闭。 0
unsupported_extension 由接收任何握手消息的端点发送此错误,该消息包含已知被禁止纳入给定握手消息中的扩展,或者包含并非第一次在相应 ClientHelloCertificateRequest 中提供的 ServerHelloCertificate 中的任何扩展。 该错误会导致 TLS 连接关闭。 0
unrecognized_name 当不存在可以由客户端通过“server_name”扩展提供的名称来标识的服务器时,服务器会发送此错误。请参阅 TLS 扩展定义 0
bad_certificate_status_response 当服务器通过“status_request”扩展提供无效或不可接受的 OCSP 响应时,客户端会发送此错误。请参阅 TLS 扩展定义。 该错误会导致 TLS 连接关闭。 0
load_balancer_configured_resource_limits_reached 负载均衡器达到了配置的资源限制,例如连接数上限。 400、500、503

失败的 TLS 连接日志条目

如果在选择任何后端之前客户端与负载均衡器之间的 TLS 连接失败,则日志条目会记录错误。您可以为后端服务配置不同的日志采样率。TLS 连接失败时,失败的 TLS 连接日志采样率是任何后端服务的最高采样率。例如,如果您对两个后端服务将日志记录采样率配置为 0.30.5,则失败的 TLS 连接日志采样率为 0.5

您可以通过检查以下日志条目详细信息来识别失败的 TLS 连接:

  • proxyStatus 错误类型为 tls_alert_receivedtls_certificate_errortls_protocol_errorconnection_terminated
  • 没有后端信息。

以下示例显示了包含 proxyStatus error 字段的 TLS 日志条目:

   json_payload:    {
   @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
   proxyStatus: "error="tls_alert_received"; details="server_to_client: handshake_failure""
   log_name: "projects/529254013417/logs/mockservice.googleapis.com%20name"
   }
   http_request {
    latency {
      nanos: 12412000
    }
    protocol: "HTTP/1.0"
    remote_ip: "127.0.0.2"
   }
  resource {
    type: "mock_internal_http_lb_rule"
    labels {
      backend_name: ""
      backend_scope: ""
      backend_scope_type: "UNKNOWN"
      backend_target_name: ""
      backend_target_type: "UNKNOWN"
      backend_type: "UNKNOWN"
      forwarding_rule_name: "l7-ilb-https-forwarding-rule-dev"
      matched_url_path_rule: "UNKNOWN"
      network_name: "lb-network"
      region: "REGION"
      target_proxy_name: "l7-ilb-https-proxy-dev"
      url_map_name: ""
    }
  }
  timestamp: "2023-08-15T16:49:30.850785Z"
  

资源标签

下表列出了资源类型 l4_proxy_rule 的资源标签。

字段 类型 说明
network_name 字符串 负载均衡器的 VPC 网络名称。
project_id 字符串 与相应资源关联的 Google Cloud 项目的标识符。
区域 字符串 在其中定义了负载均衡器的区域。
target_proxy_name 字符串 转发规则引用的目标代理对象的名称。
forwarding_rule_name 字符串 转发规则对象的名称。
loadbalancing_scheme_name 字符串 负载均衡器的转发规则和后端服务的一个属性,指示负载均衡器是可用于内部流量还是外部流量。
backend_target_name 字符串 为处理请求而选择的后端的名称。
backend_target_type 字符串 后端目标的类型 (BACKEND_SERVICE / UNKNOWN)
backend_name 字符串 后端实例组或网络端点组 (NEG) 的名称。
backend_type 字符串

后端类型,可以是实例组或 NEG,或者未知。

当 backend_type 为 UNKNOWN 时,即使停用了日志记录功能,Cloud Logging 也会记录请求。例如,如果客户端在负载均衡器可以选择后端之前关闭与负载均衡器的连接,则系统会将 backend_type 设置为 UNKNOWN 并记录请求。这些日志提供了有关由于负载均衡器无法选择后端而关闭的客户端请求的有用调试信息。

backend_scope 字符串 后端的范围,可以是可用区名称或区域名称。如果 backend_name 未知,该字段可能为 UNKNOWN
backend_scope_type 字符串 后端的范围 (REGION/ZONE)。如果 backend_name 未知,该字段可能为 UNKNOWN

监控

代理网络负载均衡器会将监控数据导出到 Cloud Monitoring

监控指标可用于执行以下操作:

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

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

查看 Monitoring 信息中心

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

    进入 Monitoring

  2. 如果导航窗格中出现资源,请选择资源,然后选择 Google Cloud 负载均衡器。否则,选择信息中心,然后选择名为 Google Cloud 负载均衡器的信息中心。

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

在左侧窗格中,您可以看到此负载均衡器的各种详细信息。 在右侧窗格中,您可以看到时间序列图表。如需查看具体的细分信息,请点击细分信息

指标报告频率和保留

每隔 1 分钟,系统就会将负载均衡器的指标批量导出到 Monitoring 中。监控数据会保留六 (6) 周。 指标基于采样的流量(采样率是动态的,且无法调整)。

默认情况下,信息中心可按 1H(1 小时)、6H(6 小时)、1D(1 天)、1W(1 周)和 6W(6 周)时间间隔提供数据分析。您可以在 6 周到 1 分钟的时间间隔内手动请求执行分析。

传统代理网络负载均衡器的指标

传统代理网络负载均衡器的以下指标会报告给 Monitoring。

指标 名称 说明
入站流量 tcp_ssl_proxy/ingress_bytes_count 通过 Google Front End (GFE) 从外部端点发送到已配置的后端的字节数(以每秒字节数为单位)。
出站流量 tcp_ssl_proxy/egress_bytes_count 通过 GFE 从已配置的后端发送到外部端点的字节数(以每秒字节数为单位)。
打开的连接数 tcp_ssl_proxy/open_connections 在给定的采样时间点打开的连接数。采样间隔时间为一分钟。
每秒新的连接数 tcp_ssl_proxy/new_connections 创建的连接数(客户端成功连接到后端)。计算粒度是每分钟,但是图表会调整为显示每秒的值。如需了解详情,请参阅 Monitoring 文档
每秒关闭的连接数 tcp_ssl_proxy/closed_connections 已关闭的连接数。计算粒度是每分钟,但是图表会调整为显示每秒的值。如需了解详情,请参阅 Monitoring 文档
前端 RTT tcp_ssl_proxy/frontend_tcp_rtt 为客户端和 GFE 之间的每个连接测量得到的平滑往返时间 (RTT) 分布(通过 GFE 的 TCP 栈测量,每次应用层字节从 GFE 传递到客户端时)。 平滑 RTT 是一种算法,用于处理 RTT 测量中可能发生的变体和异常。

其他负载均衡器的指标

区域级内部代理网络负载均衡器、区域级外部代理网络负载均衡器、跨区域内部代理网络负载均衡器和全球外部代理网络负载均衡器的以下指标会报告给 Monitoring。

指标 名称 说明
入站流量 l4_proxy/ingress_bytes_count 使用代理从客户端发送到后端虚拟机的字节数。每 60 秒采样一次。采样后,数据在最长 210 秒的时间内不会显示。
出站流量 l4_proxy/egress_bytes_count 使用代理从后端虚拟机发送到客户端的字节数。每 60 秒采样一次。采样后,数据在最长 210 秒的时间内不会显示。
每秒关闭的连接数 l4_proxy/tcp/closed_connections_count 使用 TCP RST 或 TCP FIN 消息终结的连接数。每 60 秒采样一次。采样后,数据在最长 210 秒的时间内不会显示。

过滤指标的维度

系统会为每个负载均衡器汇总指标。指标可以进一步细分为以下几个维度。

属性 说明
后端范围 发起连接的实例组的范围(区域或地区)。
后端区域 如果实例组为可用区级实例组,则指为连接提供服务的实例组所在的可用区。
后端地区 如果实例组为区域级实例组,则指为连接提供服务的实例组所在的区域。
代理所在的洲 终结了用户 TCP/SSL 连接的 GFE 所在的大洲,例如 AmericaEuropeAsia
实例组 接收用户连接的实例组的名称。
转发规则 用于连接到 GFE 的转发规则的名称。
客户所在的国家/地区 用户所在国家/地区的名称。

后续步骤