与 Cloud Logging 集成

本文档介绍了如何将跟踪记录与 Cloud Logging 相关联 日志条目。通过使用 LogEntry 中的跟踪字段 结构(spanIdtracetraceSampled),您可以 关联日志和跟踪记录,实现更好的分布式问题排查。

手动将日志条目与跟踪记录或 span 相关联

如果您使用 Cloud Logging API 写入日志数据,或者将 结构化日志数据, 然后,您可以将日志条目与跟踪记录或 span 关联。日志条目 还可以记录轨迹是否经过采样。有关 Ops Agent 将结构化日志数据 LogEntry中的字段,请参阅结构化负载中的特殊字段

通过设置 trace 字段将日志条目与跟踪记录相关联 在 LogEntry 对象中。 trace 字段必须设置为采用以下格式的字符串:

   projects/PROJECT_ID/traces/TRACE_ID

其中,PROJECT_ID 是您的 Google Cloud 项目 ID,TRACE_ID 是跟踪记录标识符

如需在使用 Cloud Logging API 时将日志条目与 span 相关联,请执行以下操作: 设置 LogEntry 对象中的 spanId 字段 。 例如,如需将日志条目与 ID 为 74 的 span 相关联,请执行以下操作: 将 span ID 设置为 000000000000004a

指明您正在使用跟踪记录采样以及跟踪记录已经过采样 写入日志条目时存储数据,请将 traceSampled 字段设置为 LogEntry 对象。使用跟踪记录采样时, 如果未捕获跟踪记录本身,则可能会创建日志条目。

自动将日志条目与跟踪记录或 span 相关联

使用 Cloud Logging 客户端时 库中的跟踪字段,在某些情况下 自动设置。手动设置的值 优先级高于自动设置的值

例如,如果您使用的是 OpenTelemetry 并且 从有效的 OpenTelemetry span 开始日志记录,然后日志条目中的跟踪字段 通过 OpenTelemetry 上下文

或者,在某些情况下,当存在 HTTP 请求时 跟踪字段可通过 W3C traceparent 字段或 X-Cloud-Trace-Context 值。

详细了解如何在日志中自动填充轨迹字段 条目,请参阅以下针对特定语言的客户端库文档:

查看日志

您可以在瀑布图或日志浏览器中查看跟踪记录的日志条目。使用日志浏览器时,它将自动限制为跟踪记录的时间戳范围。如果没有要显示的日志条目,则日志浏览器会显示消息 No entries found matching current filter

Trace 详情窗格中,如需查看跟踪记录的日志条目,请执行以下操作之一:

  • 如需在瀑布图旁边显示跟踪记录日志条目,请转到瀑布图,然后点击显示日志。如果未显示显示日志,则表示没有可用的日志条目。

  • 如需在日志浏览器中查看日志条目,请点击详细信息部分中日志标签旁边的查看。请注意,如果您有 Cloud Load Balancing 跟踪记录,请点击虚拟机日志标签旁边的查看

如需详细了解如何在 Cloud Logging 中查看日志条目, 请参阅使用日志浏览器

日志查看权限

要查看任何日志条目,您必须拥有项目的 logging.logEntries.list 权限。此权限由 Logs ViewerProject Viewer Identity and Access Management (IAM) 角色提供。

要查看虚拟机实例日志,您必须拥有项目的 compute.instances.get 权限。此权限由 Compute Engine Network ViewerProject Viewer IAM 角色提供。