本页面介绍了如何为 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 |
数组 | ext_proc 扩展程序的 ProcessingRequest 统计信息或通过 gRPC 流发生的 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 |
枚举 | 处理请求中每个事件的处理结果。
仅适用于区域级外部应用负载平衡器、区域级内部应用负载平衡器和跨区域内部应用负载平衡器。
可以是下列值之一:
|
per_processing_request_info[].processing_effect_details |
字符串 | 当 processing_effect 为 MUTATION_REJECTED 时,有关突变被拒绝的原因的详细信息。
仅适用于区域级外部应用负载平衡器、区域级内部应用负载平衡器和跨区域内部应用负载平衡器。 |
resource |
字符串 | 扩展资源名称 |
监控
本部分介绍如何监控为 Cloud Load Balancing 使用 Service Extensions 配置的调出。
查看 Monitoring 信息中心
应用负载平衡器会将监控数据导出到 Cloud Monitoring。
监控指标适用于以下用途:
- 评估负载平衡器的配置、使用情况和性能
- 问题排查
- 提高资源利用率并改善用户体验
如需查看预定义的信息中心,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往信息中心概览页面。
- 在类别部分中,点击 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 秒采样一次。 |