Cloud Load Balancing 回调的日志记录和监控

本页面介绍了如何为 Cloud Load Balancing 配置和使用 Cloud Logging 和 Cloud Monitoring 以及 Service Extensions 标注。

日志记录

本部分介绍了应用负载均衡器标注的日志记录。

在后端服务上启用日志记录

您可以在创建服务时为应用负载均衡器标注启用日志记录,方法是在作为请求目标的后端服务(而不是与扩展程序关联的后端服务)上启用日志记录。

如需为目标后端服务启用日志记录,请使用 gcloud compute backend-services update 命令。

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

替换以下内容:

  • BACKEND_SERVICE:后端服务的名称
  • RATE:0.0 到 1.0 的值,其中 0.0 表示不在日志中记录任何请求,1.0 表示在日志中记录所有请求。默认值为 1.0。 此设置仅在与 enable-logging 参数搭配使用时有效。如果省略 enable-logging,则系统会停用日志记录功能。
  • REGION:后端所在的区域
  • LOGGING_OPTIONAL_MODE:在以下任一模式下启用可选字段的日志记录:

    • INCLUDE_ALL_OPTIONAL 包含所有可选字段。
    • EXCLUDE_ALL_OPTIONAL(默认值):排除所有可选字段。
    • CUSTOM 包含可选字段的自定义列表。
  • OPTIONAL_FIELDS:选择 CUSTOM 模式时,以英文逗号分隔的可选字段列表

为后端服务启用日志记录功能后,HTTP 或 HTTPS 请求会通过 Cloud Logging 记录到日志中。

如需查看日志,请在 Google Cloud 控制台中前往 Logs Explorer 页面。

如需了解详情,请参阅应用负载均衡器文档的“监控和问题排查”页面,例如内部应用负载均衡器日志记录和监控。

后端服务的日志消息

一般来说,应用负载均衡器日志条目包含对监控和调试 HTTP 或 HTTPS 流量有用的信息。日志条目包含以下类型的信息:

  • 大多数 Google Cloud 日志中显示的信息,例如严重性、项目 ID、项目编号和时间戳,如 LogEntry 日志中所述。
  • HttpRequest 日志字段。

HTTP 和 HTTPS 负载均衡器的请求日志在负载均衡器日志条目 JSON 载荷中包含一个 service_extension_info 对象,其中包含以下信息:

字段 类型 说明
backend_target_name 字符串 扩展程序的后端目标的名称。
backend_target_type 字符串 后端目标的类型。
chain 字符串 与请求匹配的服务扩展程序资源中的扩展程序链的名称。
extension 字符串 扩展程序链中扩展程序的名称。
failed_open 布尔值 如果扩展程序配置将 failOpen 设置为 true,则此指标的值 true 表示在扩展程序超时或失败时继续处理。

仅适用于区域级外部应用负载均衡器、区域级内部应用负载均衡器和跨区域内部应用负载均衡器。

grpc_status 枚举 gRPC 流的最新状态。如需了解详情,请参阅 gRPC 状态代码。
per_processing_request_info 数组 通过 gRPC 流发生的 ext_proc 扩展程序的 ProcessingRequest 统计信息或 ext_authz 扩展程序的 CheckRequest 统计信息的列表。
per_processing_request_info[].event_type 枚举 ProcessingRequest 的事件类型。可以是以下值之一:REQUEST_HEADERS、REQUEST_BODY、RESPONSE_HEADERS 或 RESPONSE_BODY。
per_processing_request_info[].latency 时长 从向扩展程序发送 ProcessingRequest 消息的第一个字节到收到 ProcessingResponse 消息的最后一个字节的时长。
per_processing_request_info[].processing_effect 枚举 处理请求中每个事件的处理结果。

仅适用于区域级外部应用负载均衡器、区域级内部应用负载均衡器和跨区域内部应用负载均衡器。

可以是下列值之一:

  • NONE:表示内容未更改。
  • NONE_FAILED_OPEN:表示未执行任何变更,因为扩展程序无法打开。
  • CONTENT_MODIFIED:表示内容已通过成功应用的 mutate 请求进行了更改。
  • IMMEDIATE_RESPONSE:表示扩展程序发送了即时响应,以停止所有进一步处理。
  • MUTATION_REJECTED:表示扩展程序请求了至少一项不允许的更改,并且进一步处理已终止。系统会记录相应的错误消息。
  • UNSPECIFIED:表示处理效果未知。
per_processing_request_info[].processing_effect_details 字符串 当 processing_effect 为 MUTATION_REJECTED 时,提供有关突变被拒绝的原因的详细信息。

仅适用于区域级外部应用负载均衡器、区域级内部应用负载均衡器和跨区域内部应用负载均衡器。

resource 字符串 扩展程序资源的名称

监控

本部分介绍如何监控使用 Service Extensions 为 Cloud Load Balancing 配置的标注。

查看 Monitoring 信息中心

应用负载均衡器会将监控数据导出到 Cloud Monitoring。

监控指标适用于以下用途:

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

如需查看预定义信息中心,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往信息中心概览页面。

    前往信息中心概览

  2. 在类别部分中,点击 GCP。
    • 如需查看所有负载均衡器的信息中心列表,请在 GCP 信息中心列表中点击名为 Google Cloud 负载均衡器的信息中心。 如需查看特定负载均衡器的信息中心,请在列表中找到负载均衡器,然后点击其名称。
    • 如需仅查看负载均衡器的预定义信息中心,请选择相应的信息中心。

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

如需了解详情,请参阅应用负载均衡器文档的“监控和问题排查”页面,例如内部应用负载均衡器日志记录和监控。

监控标注指标

您可以监控调出后端服务的以下指标。

在预览版中,您可以监控所有类型应用负载均衡器上的扩展程序的以下指标。这些指标的前缀为 networkservices.googleapis.com。 下表中的条目省略了该前缀。

下表提供了每个指标的指标类型、显示名称、种类、类型、单位和说明。

指标类型 显示名称
种类、类型、单位
说明
extension/invocation_count 扩展程序调用次数
DELTA、INT64、1
发送到扩展程序的调用次数。
extension/invocation_latencies 扩展程序调用延迟时间
DELTA、DISTRIBUTION、ms
根据每次扩展程序调用的延迟时间计算出的分布。 仅适用于标注扩展程序;插件不支持此字段。
extension/sent_chunks_count 扩展程序发送的块数
DELTA、INT64、1
仅适用于 request_body 和 response_body 事件。 发送到扩展程序的数据块数量。
extension/received_chunks_count 扩展程序收到的分块数
DELTA、INT64、1
仅适用于 request_body 和 response_body 事件。 从扩展程序收到的块数量。
extension/failed_open_count 扩展程序调用失败(故障开放)
DELTA、INT64、1
当系统配置为故障开放且允许请求继续时,调用失败的次数。
extension/mutation_rejections_count 扩展程序变更拒绝次数
DELTA、INT64、1
请求标头、正文或尾部变更但被拒绝的调用次数。拒绝可能由于多种原因而发生,例如变更无效或超出大小限制。
extension/sent_bytes_count 扩展程序发送的字节数
DELTA、INT64、By
发送到扩展程序的字节数。
extension/received_bytes_count 扩展程序收到的字节数
DELTA、INT64、By
从扩展程序收到的字节数。

您还可以监控以下指标。这些指标的前缀为 loadbalancing.googleapis.com/。表中的条目省略了该前缀。

指标类型 显示名称
种类、类型、单位
说明
https/backend_request_count、
https/external/regional/backend_request_count、
https/internal/backend_request_count
后端请求数
DELTA、INT64、1
从应用负载均衡器调用标注后端服务的次数。
https/backend_request_bytes_count、
https/external/regional/backend_request_bytes_count、
https/internal/backend_request_bytes_count
后端请求字节数
DELTA、INT64、By
从负载均衡器发送到标注后端服务的字节数。
https/backend_response_bytes_count、
https/external/regional/backend_response_bytes_count、
https/internal/backend_response_bytes_count
后端响应字节数
DELTA、INT64、By
负载均衡器从扩展后端接收的字节数。
https/backend_latencies、
https/external/regional/backend_latencies、
https/internal/backend_latencies
后端延迟时间
DELTA、DISTRIBUTION、ms
根据负载均衡器与标注后端服务之间每次扩展程序调用的延迟时间总和计算得出的分布。每 60 秒采样一次。

后续步骤