日志记录
您可以对外部 HTTP(S) 负载均衡器后端服务启用和停用日志,还可以查看其日志。 对于具有后端存储桶的外部 HTTP(S) 负载均衡器,日志记录功能会自动启用且无法停用。
您可以为每个后端服务启用或停用日志记录功能。您可以配置是记录所有请求还是记录随机采样的一小部分请求。
您必须确保没有适用于外部 HTTP(S) 负载均衡器的日志排除项。如需了解如何验证是否允许 Cloud HTTP Load
Balancer
日志,请参阅查看资源类型排除项。
针对新的后端服务启用日志记录功能
控制台
在 Google Cloud 控制台中,转到负载均衡页面。
点击您的负载均衡器的名称。
点击
修改。点击后端配置。
选择创建后端服务。
填写必填的后端服务字段。
点击启用日志记录。
在采样率字段中,设置采样概率。您可以设置
0.0
到1.0
的数字,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。默认值为1.0
。如需完成后端服务的修改,请点击更新。
如需完成负载均衡器修改,请点击更新。
gcloud:全局模式
使用 gcloud compute backend-services create
命令创建后端服务并启用日志记录功能。
gcloud compute backend-services create BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL_MANAGED
其中
--global
表示后端服务是全球性的。 此字段用于与全球外部 HTTP(S) 负载均衡器搭配使用的后端服务。--enable-logging
表示对该后端服务启用日志记录功能。--logging-sample-rate
接受从0.0
到1.0
值,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。只有搭配使用--enable-logging
参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0
,那么效果将相当于停用日志记录功能。默认值为1.0
。
gcloud:经典模式
使用 gcloud compute backend-services create
命令创建后端服务并启用日志记录功能。
gcloud compute backend-services create BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL
其中
--global
表示后端服务是全球性的。 此字段用于与全球外部 HTTP(S) 负载均衡器(经典版)搭配使用的后端服务。--enable-logging
表示对该后端服务启用日志记录功能。--logging-sample-rate
接受从0.0
到1.0
值,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。只有搭配使用--enable-logging
参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0
,那么效果将相当于停用日志记录功能。默认值为1.0
。
针对现有后端服务启用日志记录功能
控制台
在 Google Cloud 控制台中,转到负载均衡页面。
点击您的负载均衡器的名称。
点击
修改。点击后端配置。
点击后端服务旁边的
修改。点击启用日志记录。
在采样率字段中,设置采样概率。您可以设置
0.0
到1.0
的数字,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。默认值为1.0
。如需完成后端服务的修改,请点击更新。
如需完成负载均衡器修改,请点击更新。
gcloud:全局模式
使用 gcloud compute backend-services update
命令在现有后端服务上启用日志记录。
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE
其中
--global
表示后端服务是全球性的。 此字段用于与全球外部 HTTP(S) 负载均衡器搭配使用的后端服务。--enable-logging
表示对该后端服务启用日志记录功能。--logging-sample-rate
接受从0.0
到1.0
值,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。只有搭配使用--enable-logging
参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0
,那么效果将相当于停用日志记录功能。默认值为1.0
。
gcloud:经典模式
使用 gcloud compute backend-services update
命令在现有后端服务上启用日志记录。
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE
其中
--global
表示后端服务是全球性的。 此字段用于与全球外部 HTTP(S) 负载均衡器(经典版)搭配使用的后端服务。--enable-logging
表示对该后端服务启用日志记录功能。--logging-sample-rate
接受从0.0
到1.0
值,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。只有搭配使用--enable-logging
参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0
,那么效果将相当于停用日志记录功能。默认值为1.0
。
针对现有后端服务停用或修改日志记录功能
控制台
在 Google Cloud 控制台中,转到负载均衡页面。
点击您的负载均衡器的名称。
点击
修改。点击后端配置。
点击后端服务旁边的
修改。取消选中启用日志记录,以完全停用日志记录功能。
如果要保持启用日志记录功能,可以在采样率字段中设置不同的采样概率。您可以设置
0.0
到1.0
的数字,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。默认值为1.0
。 例如,要将日志存储量减到 20%,请将采样率设置为0.2
。如需完成后端服务的修改,请点击更新。
如需完成负载均衡器修改,请点击更新。
gcloud:全局模式
使用 gcloud compute backend-services update
命令停用后端服务的日志记录功能。
完全停用日志记录功能
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --no-enable-logging
其中
--global
表示后端服务是全球性的。 此字段用于与全球外部 HTTP(S) 负载均衡器搭配使用的后端服务。--region
表示后端服务是区域性的。此字段用于与区域级外部 HTTP(S) 负载均衡器搭配使用的后端服务。--no-enable-logging
表示对该后端服务停用日志记录功能。
修改日志采样率
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --logging-sample-rate=VALUE
gcloud:经典模式
使用 gcloud compute backend-services update
命令停用后端服务的日志记录功能。
完全停用日志记录功能
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --no-enable-logging
其中
--global
表示后端服务是全球性的。 此字段用于与全球外部 HTTP(S) 负载均衡器(经典版)搭配使用的后端服务。--no-enable-logging
表示对该后端服务停用日志记录功能。
修改日志采样率
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --logging-sample-rate=VALUE
其中
--global
表示后端服务是全球性的。 此字段用于与全球外部 HTTP(S) 负载均衡器(经典版)搭配使用的后端服务。--logging-sample-rate
接受从0.0
到1.0
值,其中0.0
表示不在日志中记录任何请求,1.0
表示在日志中记录所有请求。只有搭配使用--enable-logging
参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0
,那么效果将相当于停用日志记录功能。
查看日志
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
如需查看日志,请转到日志浏览器页面:
如需查看所有日志,请在资源过滤条件菜单中选择 Cloud HTTP 负载均衡器 > 所有转发规则。
如需查看一条转发规则的日志,请选择一个转发规则名称。
如需查看一个网址映射的日志,请选择一条转发规则,然后选择一个网址映射。
布尔值类型的日志字段通常仅在其值为 true
时才会显示。如果某个布尔值字段的值为 false
,则日志中将不会出现该字段。
系统为日志字段强制执行 UTF-8 编码。非 UTF-8 字符将被替换为问号。
对于全球外部 HTTP(S) 负载均衡器(经典版)和全球外部 HTTP(S) 负载均衡器,您可以使用资源日志 (resource.type="http_load_balancer"
) 导出基于日志的指标。这些指标是基于“Google Cloud HTTP 负载均衡规则(基于日志的指标)”资源 (l7_lb_rule
) 创建的,您可以在 Cloud Monitoring 信息中心下(而不是 https_lb_rule
资源下)找到该资源。
记录的内容
外部 HTTP(S) 负载均衡器日志条目包含对监控和调试 HTTP(S) 流量有用的信息。日志记录包含必填字段,这些字段是每个日志记录的默认字段。
字段 | 字段格式 | 字段类型:必填或可选 | 说明 |
---|---|---|---|
severity timestamp insertID logName |
LogEntry | 需要 | 日志条目中描述的常规字段。 |
httpRequest | HttpRequest | 需要 | 用于记录 HTTP 请求的通用协议。
未针对 |
resource | MonitoredResource | 需要 | MonitoredResource 是与日志条目关联的资源类型。 MonitoredResourceDescriptor 使用类型名称和一组标签来描述 |
jsonPayload | object (Struct format) | 需要 | 以 JSON 对象表示的日志条目载荷。JSON 对象包含以下字段:
|
字符串 | 需要 | statusDetails 字段会显示一个字符串,用于说明负载均衡器返回其 HTTP 状态的原因。如需详细了解这些日志字符串,请参阅 statusDetails HTTP 成功消息和 statusDetails HTTP 失败消息。 |
资源标签
下表列出了resource.type="http_load_balancer"
的资源标签。
字段 | 类型 | 说明 |
---|---|---|
backend_service_name |
字符串 | 后端服务的名称。 |
forwarding_rule_name |
字符串 | 转发规则对象的名称。 |
project_id |
字符串 | 与相应资源关联的 Google Cloud 项目的标识符。 |
target_proxy_name |
字符串 | 转发规则引用的目标代理对象的名称。 |
url_map_name |
字符串 | 配置为选择一项后端服务的网址映射对象的名称。 |
zone |
字符串 | 运行负载均衡器的可用区。可用区为 global 。 |
statusDetails HTTP 成功消息
statusDetails(成功) | 含义 | 通用的附带响应代码 |
---|---|---|
byte_range_caching
|
通过 Cloud CDN 字节范围缓存处理 HTTP 请求。 | 任何可缓存的响应代码都有可能。 |
response_from_cache
|
HTTP 请求由 Cloud CDN 缓存处理。 | 任何可缓存的响应代码都有可能。 |
response_from_cache_validated
|
返回码由通过后端验证的 Cloud CDN 缓存条目设置。 | 任何可缓存的响应代码都有可能。 |
response_sent_by_backend
|
HTTP 请求已成功代理到后端,响应由后端返回。 | HTTP 响应代码由后端上运行的软件设置。 |
statusDetails HTTP 失败消息
statusDetails(失败) | 含义 | 通用的附带响应代码 |
---|---|---|
aborted_request_due_to_backend_early_response
|
包含正文的请求因后端发送含错误代码的早期响应而取消。响应被转发给客户端。请求终止。 | 4XX 或 5XX |
backend_connection_closed_after_partial_response_sent
|
部分响应发送给客户端后,后端连接意外关闭。 | HTTP 响应代码由后端上运行的软件设置。HTTP 响应代码 0(零)表示后端发送了不完整的 HTTP 标头。 |
backend_connection_closed_before_data_sent_to_client
|
响应代理至客户端之前,后端与负载均衡器的连接意外关闭。如果负载均衡器正在向另一个实体发送流量,就会发生这种情况。另一个实体可能是 TCP 超时时间短于外部 HTTP(S) 负载均衡器的 10 分钟(600 秒)超时的第三方负载均衡器。第三方负载均衡器可能在虚拟机实例上运行。将目标服务上的 TCP 超时 (keepalive) 手动设置为大于 600 秒可能会解决此问题。 | 502 |
backend_early_response_with_non_error_status
|
在接收整个请求正文前,后端向请求发送无错误响应(1XX 或 2XX)。 | 502 |
backend_interim_response_not_supported
|
在不支持临时响应的情况下,后端对请求发送了临时 1XX 响应。 | 502 |
backend_response_corrupted
|
后端发送的 HTTP 响应正文含无效的分块传输编码或损坏的传输编码。 | 取决于损坏的性质,任何响应代码都有可能。通常为 502。 |
backend_response_headers_too_long
|
后端发送的 HTTP 响应标头超出了允许的限制。如需了解详情,请参阅外部 HTTP(S) 负载均衡器的标头大小部分。 | 502 |
backend_timeout
|
后端在生成响应时超时。 | 502 |
banned_by_security_policy
|
相应请求已被 Google Cloud Armor 基于费率的屏蔽名单规则禁止。 | 429 |
body_not_allowed
|
客户端发送包含正文的 HTTP 请求,但所使用的 HTTP 方法不允许有正文。 | 400 |
byte_range_caching_aborted
|
负载均衡器先前收到了表明资源可缓存的响应以及受支持的字节范围。Cloud CDN 收到了不一致的响应(例如,响应代码不是预期的 206 Partial Content)。尝试使用字节范围请求执行缓存填充时,会发生这种情况。因此,负载均衡器取消了对客户端的响应。 | 2XX |
byte_range_caching_forwarded_backend_response
|
负载均衡器先前收到了表明资源可缓存的响应以及受支持的字节范围。Cloud CDN 收到了不一致的响应(例如,响应代码不是预期的 206 Partial Content)。尝试使用字节范围请求执行缓存填充时,会发生这种情况。负载均衡器随后将不一致的响应转发给客户端。 | 从后端返回 - 任何响应代码均有可能。 |
byte_range_caching_retrieval_abandoned
|
用户取消了由 Cloud CDN 发起的字节范围请求或验证请求。 | 从后端返回 - 任何响应代码均有可能。 |
byte_range_caching_retrieval_from_backend_failed_after_partial_response
|
由 Cloud CDN 发起的字节范围请求或验证请求遇到了错误。请参阅与 Cloud CDN 所发起请求对应的 Cloud Logging 日志条目,详细了解后端状态。 | 2XX |
cache_lookup_failed_after_partial_response
|
由于内部错误,负载均衡器无法传送来自 Cloud CDN 缓存的完整响应。 | 2XX |
cache_lookup_timeout_after_partial_response
|
由于客户端没有及时检索到内容,Cloud CDN 缓存查找流发生超时情况。 | 2XX |
client_disconnected_after_partial_response
|
负载均衡器发送部分响应后,与客户端的连接中断。 | 从后端返回 - 任何响应代码均有可能。 |
client_disconnected_before_any_response
|
负载均衡器发送任何响应之前,与客户端的连接已中断。 | 0 |
client_timed_out
|
Google Front End (GFE) 在代理请求或响应时由于缺乏进展而闲置客户端连接。 | 0 或 408 |
client_cert_invalid_rsa_key_size
|
客户端叶或中间证书的 RSA 密钥大小无效。如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_unsupported_elliptic_curve_key
|
客户端证书或中间证书使用的是不受支持的椭圆曲线。如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_unsupported_key_algorithm
|
客户端证书或中间证书使用非 RSA、非 ECDSA 算法。如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_pki_too_large
|
用于验证的 PKI 具有三个以上的中间证书,它们共享相同的主体和主体公钥信息。如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_chain_max_name_constraints_exceeded
|
为验证提供的中间证书有超过 10 个名称限制。如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_chain_invalid_eku |
客户端证书或其颁发者都没有包含 clientAuth 的 Extended Key Usage (EKU)。如需了解详情,请参阅关闭连接时记录的错误。
|
0 |
client_cert_validation_timed_out
|
验证证书链时超出了时间限制。 如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_validation_search_limit_exceeded
|
在尝试验证证书链时达到深度或迭代限制。如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_validation_not_performed
|
配置 mTLS 时没有设置 TrustConfig 。
如需了解详情,请参阅关闭连接时记录的错误。
|
0 |
client_cert_not_provided
|
客户端在握手期间未提供请求的证书。 如需了解详情,请参阅关闭连接时记录的错误。 | 0 |
client_cert_validation_failed
|
客户端证书未通过 TrustConfig 验证。
如需了解详情,请参阅关闭连接时记录的错误。
|
0 |
config_not_found
|
负载均衡器未配置后端。 | 404 或 503 |
direct_response
|
负载均衡器覆盖此请求并返回固定响应。 | 根据问题的性质,您可能会看到任何 HTTP 响应代码。例如,HTTP 410 响应代码表示后端因欠费而不可用。 |
denied_by_security_policy
|
负载均衡器因 Google Cloud Armor 安全政策而拒绝了此请求。 | 在安全政策中配置。 |
error_uncompressing_gzipped_body
|
对 gzip 格式的 HTTP 响应进行解压缩时出错。 | 503 |
failed_to_connect_to_backend
|
负载均衡器无法连接到后端。这包括连接阶段的超时。 | 502 |
failed_to_pick_backend
|
负载均衡器无法挑选运转状况良好的后端来处理请求。 | 502 |
failed_to_negotiate_alpn
|
负载均衡器和后端无法协商用于通过 TLS 相互通信的应用层协议(如 HTTP/2)。 | 502 |
headers_too_long
|
请求标头大于最大允许值。 | 413 |
http_version_not_supported
|
HTTP 版本不受支持。目前仅支持 HTTP 0.9、1.0、1.1 和 2.0。 | 400 |
internal_error
|
负载均衡器出现内部错误。通常表示负载均衡器基础架构中的暂时性错误。请重试您的查询。 | 4XX |
invalid_external_origin_endpoint
|
外部后端的配置无效。请查看互联网 NEG 配置,确保它指定了有效的 FQDN/IP 地址和端口。 | 4XX |
invalid_request_headers
|
来自客户端的 HTTP 请求标头无效。 | 400 |
invalid_http2_client_header_format
|
来自客户端的 HTTP/2 标头无效。 | 400 |
multiple_iap_policies
|
多个 Identity-Aware Proxy (IAP) 政策不能结合使用。如果您将一项 IAP 政策关联到后端服务,并将另一项政策关联到无服务器对象,请移除其中一项政策然后重试。无服务器对象包括 App Engine、Cloud Run 和 Cloud Functions。 | 500 |
malformed_chunked_body
|
请求正文采用了不正确的块编码。 | 411 |
request_loop_detected
|
负载均衡器检测到了请求循环。此循环可能是由于配置错误,导致后端将请求转发回负载均衡器而造成的。 | 502 |
required_body_but_no_content_length
|
HTTP 请求需要具有正文,但请求标头不包含内容长度标头或分块传输编码标头。 | 400 或 403 |
secure_url_rejected
|
明文 HTTP/1.1 连接接收到带有 https:// 网址的请求。 | 400 |
ssl_san_verification_failed
|
负载均衡器在后端提供的 SSL 证书中找不到与配置的主机名匹配的 SAN(主题备用名称)。 | 502 |
ssl_certificate_chain_verification_failed
|
由后端提供的 SSL 证书未通过 SSL 证书验证。 | 502 |
throttled_by_security_policy
|
该请求被 Google Cloud Armor 节流规则阻止。 | 429 |
unsupported_method
|
客户端提供的 HTTP 请求方法不受支持。 | 400 |
unsupported_100_continue
|
客户端请求在不支持“Expect: 100-continue”标头的协议中包含该标头。 | 400 |
upgrade_header_rejected
|
客户端 HTTP 请求包含升级标头并且被拒绝。 | 400 |
websocket_closed
|
WebSocket 连接已关闭。 | 101 |
websocket_handshake_failed
|
WebSocket 握手失败。 | 取决于握手失败的性质,任何响应代码均有可能。 |
request_body_too_large
|
HTTP 请求正文超出了后端支持的上限。不适用于虚拟机后端。 | 413 |
handled_by_identity_aware_proxy
|
此响应由 Identity-Aware Proxy 在验证客户端身份期间生成以确认是否允许访问。 | 200、302、400、401、403、500、502 |
serverless_neg_routing_failed
|
无法分派无服务器 NEG 请求。如果无法访问 NEG 中指定的区域,或者找不到资源名称(例如 Cloud Functions 名称),可能会发生此错误。 | 404、502 |
fault_filter_abort
|
如果客户配置了故障过滤条件并且给定请求触发了故障过滤条件,则可能会发生此错误。 | 该值必须介于 200 到 599 之间。 |
查看 mTLS 客户端证书验证的日志
如需查看双向 TLS 客户端证书验证期间关闭连接时记录的错误,请完成以下步骤。
控制台查询
在 Google Cloud 控制台中,转到“日志浏览器”页面。
点击显示查询切换开关。
将以下内容粘贴到查询字段中。将
FORWARDING_RULE_NAME
替换为您的转发规则的名称。jsonPayload.statusDetails=~"client_cert" jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
点击运行查询。
后端存储分区的日志记录
系统会自动为具有后端存储分区的负载均衡器启用日志记录功能。您无法修改或停用后端存储分区的日志记录。
Google Cloud Armor 的日志记录
statusDetail
HTTP 失败消息表包含一些适用于 Google Cloud Armor 的消息。如需详细了解 Google Cloud Armor 记录的内容,请参阅使用请求日志记录。
与日志交互
您可以使用 Cloud Logging API 与外部 HTTP(S) 负载均衡器日志进行交互。Logging API 提供了多种方法来以交互方式过滤包含特定字段集的日志。它会将匹配的日志导出到 Cloud Logging、Cloud Storage、BigQuery 或 Pub/Sub。如需详细了解 Logging API,请参阅 Cloud Logging API 概览。
监控
负载均衡器会将监控数据导出到 Cloud Monitoring。
您可以使用监控指标执行以下操作:
- 评估负载均衡器的配置、使用情况和性能
- 排查问题
- 提高资源利用率和改善用户体验
除了 Cloud Monitoring 中的预定义信息中心以外,您还可以通过 Cloud Monitoring API 创建自定义信息中心、设置提醒和查询指标。
查看预定义 Cloud Monitoring 信息中心
Cloud Monitoring 提供预定义信息中心来监控负载均衡器。这些信息中心由 Cloud Monitoring 自动填充。
执行以下步骤来访问预定义的信息中心:
转到 Google Cloud 控制台中的 Monitoring。
在 Monitoring 导航面板中,点击信息中心。
在类别下,点击 GCP。
如需查看所有 Google Cloud 负载均衡器的信息中心列表,请选择名为 Google Cloud 负载均衡器 (Google Cloud Load Balancers) 的信息中心。如需查看特定负载均衡器的信息中心,请在列表中找到负载均衡器,然后点击其名称。
如需仅查看外部 HTTP(S) 负载均衡器的预定义信息中心,请选择名为外部 HTTP(S) 负载均衡器的信息中心。此页面会显示一个信息中心,其中显示项目中所有外部 HTTP(S) 负载均衡器的 5XX 响应比率和后端延迟时间。它还会列出项目中所有外部 HTTP(S) 负载均衡器的信息中心。
您可以点击进入每个负载均衡器的信息中心。每个信息中心包含以下内容:- 预填充图表,按响应代码类别(5XX、4XX、3XX、2XX)显示响应的细分
- 总延迟时间
- 后端延迟时间
- 前端 RTT
- 请求数
- 指向负载均衡器日志的链接
如需查看第三方服务的信息中心,请返回信息中心页面。在类别下,点击其他。
- 如需查看特定的第三方服务信息中心,请在列表中找到它,然后点击其名称。
定义提醒政策
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
您可以创建提醒政策来监控指标的值,当这些指标违反条件时便会通知您。
- 在 Google Cloud 控制台中,前往 Monitoring 页面。
- 在“监控”导航窗格中,点击 notifications提醒。
- 如果您尚未创建通知渠道并希望收到通知,请点击修改通知渠道并添加通知渠道。添加渠道后,返回到提醒页面。
- 在提醒页面中,点击创建政策。
- 如需选择指标,请展开选择指标菜单,然后执行以下操作:
- 如需将菜单限制为相关条目,请在过滤栏中输入
Google Cloud HTTP/S Load Balancing Rule
。如果过滤菜单后没有显示任何结果,请停用仅显示活跃的资源和指标切换开关。 - 对于资源类型,选择 Google Cloud HTTP/S 负载均衡规则。
- 选择指标类别和指标,然后选择应用。
- 如需将菜单限制为相关条目,请在过滤栏中输入
- 点击下一步。
- 配置提醒触发器页面中的设置决定了何时触发提醒。选择条件类型,并在必要时指定阈值。如需了解详情,请参阅创建指标阈值提醒政策。
- 点击下一步。
- 可选:如需将通知添加到您的提醒政策中,请点击通知渠道。在对话框中,从菜单中选择一个或多个通知渠道,然后点击确定。
- 可选:更新突发事件自动关闭持续时间。此字段用于确定在缺少指标数据的情况下 Monitoring 何时关闭突发事件。
- 可选:点击文档,然后添加您希望包含在通知消息中的任何信息。
- 点击提醒名称,然后输入提醒政策的名称。
- 点击创建政策。
定义 Cloud Monitoring 自定义信息中心
您可以为负载均衡器的指标创建自定义 Cloud Monitoring 信息中心:
在 Google Cloud 控制台中,前往 Monitoring 页面。
选择信息中心 > 创建信息中心。
点击添加图表,然后为图表输入一个标题。
如需确定要显示的时序,请选择资源类型和指标类型:
- 在资源和指标部分,点击图表,然后在选择指标部分,从可用选项中进行选择:
- 对于全球外部 HTTP(S) 负载均衡器,选择资源类型 Google Cloud HTTP/S 负载均衡规则。
- 点击应用。
- 在资源和指标部分,点击图表,然后在选择指标部分,从可用选项中进行选择:
如需指定监控过滤条件,请依次点击过滤条件 > 添加过滤条件。
点击保存。
指标报告频率和保留
每隔 1 分钟,系统就会将外部 HTTP(S) 负载均衡器的指标批量导出到 Cloud Monitoring 中。监控数据会保留六 (6) 周。 指标基于抽样流量(采样率是动态的,且无法调整)。默认情况下,信息中心可按 1H(1 小时)、6H(6 小时)、1D(1 天)、1W(1 周)和 6W(6 周)时间间隔提供数据分析。您可以在 1 分钟到 6 周的范围内手动指定分析时间间隔。
监控指标
您可以监控外部 HTTP(S) 负载均衡器的以下指标。
全球外部 HTTP(S) 负载均衡器的以下指标会报告给 Cloud Monitoring。这些指标以 loadbalancing.googleapis.com/
开头。
指标 | 名称 | 说明 |
---|---|---|
请求数 | https/request_count |
外部 HTTP(S) 负载均衡器传送的请求数 |
请求字节数 | https/request_bytes_count |
以请求形式从客户端发送到外部 HTTP(S) 负载均衡器的字节数 |
响应字节数 | https/response_bytes_count |
以响应形式从外部 HTTP(S) 负载均衡器发送到客户端的字节数 |
总延迟时间 | https/total_latencies |
延迟时间的分布。延迟时间是指收到的请求的第一个字节到 GFE 发送的响应的最后一个字节之间的时间。 总延迟时间通过请求/响应来计算。同一连接上使用 示例:负载均衡器每秒收到来自英国的 1 个请求,所有延迟时间为 100 毫秒,每秒收到来自美国的 9 个请求,所有延迟时间均为 50 毫秒。在一定时间内,英国发出 60 个请求,美国发出 540 个请求。监控指标保留了所有维度的分布。您可以请求如下所示的信息:
|
前端 RTT* | https/frontend_tcp_rtt |
针对客户端和 GFE 之间的每个连接测量的平滑往返时间 (RTT) 分布(通过 GFE 的 TCP 栈测量)。平滑 RTT 是一种算法,用于处理 RTT 测量中可能发生的变体和异常。 |
后端延迟时间* | https/backend_latencies |
从 GFE 向后端发送首个请求字节开始,直到 GFE 从后端接收到响应的最后一个字节,测量延迟的分布。 对于 WebSocket 连接,后端延迟时间针对 WebSocket 会话的整个时长进行计算。 |
响应代码类别比例 | 每种响应代码类别(2XX、4XX…)的响应次数占外部 HTTP(S) 负载均衡器总响应次数的比例。在 Cloud Monitoring 中,该值只会显示在默认信息中心,而不适用于自定义信息中心。您可以使用 API 为该指标设置提醒。 | |
后端请求数 | https/backend_request_count |
从外部 HTTP(S) 负载均衡器发送到后端的请求数。 |
后端请求字节数 | https/backend_request_bytes_count |
以请求形式从外部 HTTP(S) 负载均衡器发送到后端的字节数。 |
后端响应字节数 | https/backend_response_bytes_count |
以响应形式从后端(包括缓存)发送到外部 HTTP(S) 负载均衡器的字节数。 |
过滤指标的维度
您可以为外部 HTTP(S) 负载均衡器的指标应用过滤条件。
系统会为每个全球外部 HTTP(S) 负载均衡器汇总指标。您可以按照以下维度对 resource.type="http_load_balancer"
过滤汇总的指标。
属性 | 说明 |
---|---|
backend_scope | 传送连接的后端服务实例组的 Google Cloud 范围(区域或可用区)。 如果没有可用的实例组或者请求已由其他实体处理,您将会看到以下某个值,而不会看到后端服务实例组的区域或可用区。
选择此细分项后,图表会显示后端指标(负载均衡器到后端),而非前端指标(客户端到负载均衡器)。 |
backend_scope = "backend_zone" | 如果实例组为可用区级实例组,则是指处理客户端请求的实例组的 Google Cloud 可用区。(示例:us-central1-a 、europe-west1-b 、asia-east1-c )选择此细分项后,图表会显示后端指标(负载均衡器到后端),而非前端指标(客户端到负载均衡器)。 |
backend_scope = "backend_region" | 如果实例组为区域级实例组,则是指处理客户端请求的实例组的 Google Cloud 区域。(示例:us-central1 、europe-west1 、asia-east1 )选择此细分项后,图表会显示后端指标(负载均衡器到后端),而非前端指标(客户端到负载均衡器)。 |
proxy_continent | 终止 HTTP(S) 连接的 HTTP(S) GFE 所在的大洲。(示例:America 、Europe 、Asia ) |
backend_type = "INSTANCE GROUP" | 处理客户端请求的实例组的名称。 如果没有可用的实例组或者请求已由其他实体处理,您将看到以下某个值,而不会看到实例组。
选择此细分项后,图表会显示后端指标(负载均衡器到后端),而非前端指标(客户端到负载均衡器)。 |
backend_target_type = "BACKEND_SERVICE" | 处理请求的后端服务的名称。 |
matched_url_path_rule | 与 HTTP(S) 请求前缀匹配的网址映射路径规则(最多 50 个字符)。 |
forwarding_rule_name | 客户端用于发送请求的转发规则的名称。 |
后续步骤
- 阅读 Cloud CDN 日志记录概览
- 了解缓存。
- 了解签名网址和签名 Cookie。