日志记录
您可以为外部应用负载均衡器后端服务启用和停用日志记录功能,还可以查看其日志。对于具有后端存储桶的外部应用负载均衡器,日志记录功能会自动启用且无法停用。
您可以为每个后端服务启用或停用日志记录功能。您可以配置是记录所有请求还是记录随机采样的一小部分请求。
您必须确保没有适用于外部应用负载均衡器的日志排除项。如需了解如何验证是否允许 Cloud HTTP Load
Balancer 日志,请参阅排除过滤器。
日志采样和收集
系统会对由负载均衡器后端虚拟机 (VM) 实例处理的请求(以及相应的响应)进行采样。然后,系统会处理这些采样的请求以生成日志。您可以根据 logConfig.sampleRate 参数控制系统以日志条目形式发出的请求的比例。
当 logConfig.sampleRate 为 1.0 (100%) 时,表示系统会为所有请求生成日志并写入 Cloud Logging。
可选字段
日志记录包含必填字段和可选字段。记录的内容部分列出了哪些字段是可选字段,以及哪些是必填字段。所有必填字段始终包含在内。您可以自定义要保留哪些可选字段。
如果您选择包括所有可选字段,则日志记录格式中的所有可选字段都将包含在日志中。向记录格式添加新的可选字段后,日志会自动包含新字段。
如果您选择排除所有可选字段,则所有可选字段都将被省略。
如果您选择自定义,则可以指定要包含的可选字段,例如
tls.protocol,tls.cipher,orca_load_report.cpu_utilization,orca_load_report.mem_utilization。
如需了解如何自定义可选字段,请参阅在新的后端服务上启用日志记录。
针对新的后端服务启用日志记录功能
控制台
在 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 \
--logging-optional=LOGGING_OPTIONAL_MODE \
--logging-optional-fields=OPTIONAL_FIELDS
gcloud compute backend-services create 命令支持以下字段:
--global表示后端服务是全球性的。 此字段用于与全球外部应用负载均衡器搭配使用的后端服务。--enable-logging表示对该后端服务启用日志记录功能。--logging-sample-rate接受从0.0到1.0值,其中0.0表示不在日志中记录任何请求,1.0表示在日志中记录所有请求。此字段仅在搭配--enable-logging参数使用时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0,那么效果将相当于停用日志记录功能。默认值为1.0。--logging-optional允许您指定要包括在日志中的可选字段。 只有全球外部应用负载均衡器支持这些字段。INCLUDE_ALL_OPTIONAL:包括所有可选字段。EXCLUDE_ALL_OPTIONAL(默认值):排除所有可选字段。CUSTOM:包括您在OPTIONAL_FIELDS中指定的可选字段的自定义列表。
--logging-optional-fields允许您以逗号分隔列表的形式指定要包括在日志中的可选字段。例如,仅当
LOGGING_OPTIONAL_MODE设置为CUSTOM时才能设置tls.protocol,tls.cipher。如果您使用自定义指标并希望记录 ORCA 负载报告的元素,请将LOGGING_OPTIONAL_MODE设置为CUSTOM,并在OPTIONAL_FIELDS字段中指定必须记录哪些元素。例如orca_load_report.cpu_utilization,orca_load_report.mem_utilization。
针对现有后端服务启用日志记录功能
控制台
在 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 \
--logging-optional=LOGGING_OPTIONAL_MODE \
--logging-optional-fields=OPTIONAL_FIELDS
其中
--global表示后端服务是全球性的。 此字段用于与全球外部应用负载均衡器搭配使用的后端服务。--enable-logging表示对该后端服务启用日志记录功能。--logging-sample-rate接受从0.0到1.0值,其中0.0表示不在日志中记录任何请求,1.0表示在日志中记录所有请求。只有搭配使用--enable-logging参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0,那么效果将相当于停用日志记录功能。默认值为1.0。--logging-optional允许您指定要包括在日志中的可选字段。 只有全球外部应用负载均衡器支持这些字段。INCLUDE_ALL_OPTIONAL:包括所有可选字段。EXCLUDE_ALL_OPTIONAL(默认值):排除所有可选字段。CUSTOM:包括您在OPTIONAL_FIELDS中指定的可选字段的自定义列表。
--logging-optional-fields允许您以逗号分隔列表的形式指定要包括在日志中的可选字段。例如
tls.protocol,tls.cipher。只有当LOGGING_OPTIONAL_MODE设置为CUSTOM时才能设置此项。 如果您使用自定义指标并希望记录 ORCA 负载报告的元素,请将LOGGING_OPTIONAL_MODE设置为CUSTOM,并在OPTIONAL_FIELDS字段中指定必须记录哪些元素。例如orca_load_report.cpu_utilization,orca_load_report.mem_utilization。
针对现有后端服务停用或修改日志记录功能
控制台
在 Google Cloud 控制台中,前往负载均衡页面。
点击您的负载均衡器的名称。
点击修改。
点击后端配置。
点击后端服务旁边的 修改。
如需完全停用日志记录功能,请在日志记录部分中清除启用日志记录复选框。
如果要保持启用日志记录功能,可以设置其他采样率比例。您可以设置
0.0到1.0的数字,其中0.0表示不在日志中记录任何请求,1.0表示在日志中记录所有请求。默认值为1.0。 例如,0.2表示 20% 的采样请求会生成日志。如需完成后端服务的修改,请点击更新。
如需完成负载均衡器修改,请点击更新。
gcloud:全局模式
使用 gcloud compute backend-services update 命令停用后端服务的日志记录功能。
完全停用日志记录功能
gcloud compute backend-services update BACKEND_SERVICE \
--global \
--no-enable-logging
其中
--global表示后端服务是全球性的。 此字段用于与全球外部应用负载均衡器搭配使用的后端服务。--no-enable-logging表示对该后端服务停用日志记录功能。
针对现有后端服务启用日志记录可选字段
gcloud compute backend-services update BACKEND_SERVICE \
--global \
--enable-logging \
--logging-sample-rate=VALUE \
--logging-optional=LOGGING_OPTIONAL_MODE \
--logging-optional-fields=OPTIONAL_FIELDS
其中
--logging-sample-rate接受从0.0到1.0值,其中0.0表示不在日志中记录任何请求,1.0表示在日志中记录所有请求。只有搭配使用--enable-logging参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0,那么效果将相当于停用日志记录功能。默认值为1.0。--logging-optional允许您指定要包括在日志中的可选字段:INCLUDE_ALL_OPTIONAL:包括所有可选字段。EXCLUDE_ALL_OPTIONAL(默认值):排除所有可选字段。CUSTOM:包括您在OPTIONAL_FIELDS中指定的可选字段的自定义列表。
--logging-optional-fields允许您以逗号分隔列表的形式指定要包括在日志中的可选字段。例如,仅当
LOGGING_OPTIONAL_MODE设置为CUSTOM时才能设置tls.protocol,tls.cipher。 如果您使用自定义指标并希望记录 ORCA 负载报告的元素,请将LOGGING_OPTIONAL_MODE设置为CUSTOM,并在OPTIONAL_FIELDS字段中指定必须记录哪些元素。例如orca_load_report.cpu_utilization,orca_load_report.mem_utilization。
将日志记录可选模式从“自定义”更新为其他模式
gcloud compute backend-services update BACKEND_SERVICE \
--global \
--enable-logging \
--logging-sample-rate=VALUE \
--logging-optional=LOGGING_OPTIONAL_MODE \
--logging-optional-fields=
其中
--logging-optional允许您指定要包括在日志中的可选字段:INCLUDE_ALL_OPTIONAL:包括所有可选字段。EXCLUDE_ALL_OPTIONAL(默认值):排除所有可选字段。
必须明确配置
--logging-optional-fields(如该示例所示)才能清除所有现有的CUSTOM字段。该 API 不支持将非CUSTOM模式与CUSTOM字段混用。
修改日志采样率
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表示后端服务是全球性的。 此字段用于与传统应用负载均衡器搭配使用的后端服务。--no-enable-logging表示对该后端服务停用日志记录功能。
修改日志采样率
gcloud compute backend-services update BACKEND_SERVICE \
--global \
--logging-sample-rate=VALUE
其中
--global表示后端服务是全球性的。 此字段用于与传统应用负载均衡器搭配使用的后端服务。--logging-sample-rate接受从0.0到1.0值,其中0.0表示不在日志中记录任何请求,1.0表示在日志中记录所有请求。只有搭配使用--enable-logging参数时才有意义。启用日志记录功能的情况下,如果将采样率设置为0.0,那么效果将相当于停用日志记录功能。
查看日志
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
如需查看日志,请进入 Logs Explorer 页面:
如需查看所有日志,请在资源过滤条件菜单中选择 Cloud HTTP 负载均衡器 > 所有转发规则。
如需查看一条转发规则的日志,请选择一个转发规则名称。
如需查看一个网址映射的日志,请选择一条转发规则,然后选择一个网址映射。
布尔值类型的日志字段通常仅在其值为 true 时才会显示。
如果某个布尔值字段的值为 false,则日志中将不会出现该字段。
系统为日志字段强制执行 UTF-8 编码。非 UTF-8 字符将被替换为问号。
对于传统应用负载均衡器和全球外部应用负载均衡器,您可以使用资源日志 (resource.type="http_load_balancer") 导出基于日志的指标。这些指标是基于应用负载均衡器规则(基于日志的指标)资源 (l7_lb_rule) 创建的,此资源位于 Cloud Monitoring 信息中心中(而不是 https_lb_rule 资源下)。
记录的内容
外部应用负载均衡器日志条目包含对监控和调试 HTTP(S) 流量有用的信息。日志记录包含必填字段,这些字段是每个日志记录的默认字段。
日志记录包含可选字段,用于添加有关 HTTP(S) 流量的其他信息。可以省略可选字段,以节省存储费用。
某些日志字段采用多字段格式,在给定字段中包含多段数据。例如,tls 字段采用 TlsInfo 格式,其中包含 earlyDataRequest 字段。
以下记录格式表介绍了这些采用多字段格式的字段。
| 字段 | 字段格式 | 字段类型:必填或可选 | 说明 |
|---|---|---|---|
| severity insertID logName |
LogEntry | 必需 | 日志条目中描述的常规字段。 |
| 时间戳 | string (Timestamp format) | 可选 | 第一层 GFE 收到请求的时间。 |
| httpRequest |