本文档介绍了如何将日志条目与跟踪记录相关联。您可以通过在日志条目中设置字段来执行关联。
通过使用 LogEntry
结构中的跟踪记录字段(spanId、trace 和 traceSampled),您可以
关联日志和跟踪记录,以便更好地进行分布式问题排查。
手动将日志条目与跟踪记录或 span 相关联
如果您使用 Cloud Logging API 写入日志数据,或者写入
结构化日志数据,
则可以将日志条目与跟踪记录或 span 相关联。日志条目还可以记录是否对跟踪记录进行了采样。如需了解
Ops Agent 如何将结构化日志数据转换为
LogEntry中的字段,请参阅结构化载荷中的特殊字段。
如需将日志条目与跟踪记录相关联,请在 LogEntry 对象中设置 trace 字段
:
- 首选格式:
TRACE_ID - 旧版格式:
projects/PROJECT_ID/traces/TRACE_ID
在上面的表达式中,PROJECT_ID 是您的 Google Cloud 项目 ID,
TRACE_ID 是跟踪记录标识符。
如需在使用 Cloud Logging API 时将日志条目与 span 相关联,
请将 spanId 字段在 LogEntry 对象
中设置为 span ID 的 16 字符十六进制编码。
例如,如需将日志条目与 ID 为 74 的 span 相关联,请将 span ID 设置为 000000000000004a。
如需表明您使用的是跟踪记录采样,并且在写入日志条目时对跟踪记录进行了采样
以进行存储,请设置 traceSampled 字段在
的 LogEntry 对象。使用跟踪记录采样时,系统可能会在未捕获跟踪记录本身时创建日志条目。
自动将日志条目与跟踪记录或 span 相关联
使用 Cloud Logging 客户端 库时,在某些情况下,日志条目中的跟踪记录字段 可以自动设置。手动设置的值优先于自动设置的值。
例如,如果您使用的是 OpenTelemetry,并且正在从活跃的 OpenTelemetry span 进行日志记录,则日志条目中的跟踪记录字段将从 OpenTelemetry 上下文填充。
或者,在某些情况下,当存在 HTTP 请求时,
可以从 HTTP 请求中的
W3C traceparent 字段或
X-Cloud-Trace-Context 值设置跟踪记录字段。
如需详细了解如何在日志条目中自动填充跟踪记录字段,请参阅以下特定语言的客户端库文档:
查看日志
您可以在瀑布图或 Logs Explorer 中查看跟踪记录的日志条目。使用日志浏览器时,它将自动限制为跟踪记录的时间戳范围。如果没有要显示的日志条目,则日志浏览器会显示消息 No entries found matching current filter。
在 Trace 详情窗格中,如需查看跟踪记录的日志条目,请执行以下操作之一:
如需在瀑布图旁边显示轨迹日志条目,请转到瀑布图,然后点击显示日志。如果未显示显示日志,则表示没有可用的日志条目。
如需在 Logs Explorer 中查看日志条目,请点击详细信息 部分中日志 标签旁边的查看 。如果您有 Cloud Load Balancing 跟踪记录,请点击虚拟机日志 标签旁边的查看 。
如需详细了解如何在 Cloud Logging 中查看日志条目, 请参阅Logs Explorer。
日志查看权限
要查看任何日志条目,您必须拥有项目的 logging.logEntries.list 权限。此权限由 Logs Viewer 和 Project Viewer Identity and Access Management (IAM) 角色提供。
要查看虚拟机实例日志,您必须拥有项目的 compute.instances.get 权限。此权限由 Compute Engine Network Viewer 和 Project Viewer IAM 角色提供。