Trace 服务是日志服务提供的一种分布式链路追踪功能。Trace 服务基于原生的 OpenTelemetry 协议与标准,支持各类 Trace 数据的接入、存储、检索分析、可视化等功能,实现全链路 Trace 数据的可观测。本文档介绍 Trace 服务的功能概述、使用限制、接入方案等。
在云原生、微服务、分布式等涉及多个服务交互的架构或系统中,一个请求通常需要经过多个微服务的处理,某个性能问题可能涉及多个服务和组件。随着分布式系统的规模和复杂性的不断增加,了解请求在系统中的路径和跨组件的流动变得更加困难。分布式链路追踪可查看请求在系统中的完整调用链路与视图、追踪异常信号的传播路径、监控整个事务的执行过程,从而帮助开发人员了解每个微服务的性能指标,快速、及时定位和解决问题。
日志服务通过 Trace 服务提供基于 OpenTelemetry (简称为 OTel)标准协议的分布式链路追踪能力,适用于性能优化、故障排查、微服务架构监控、服务调用链路分析、分布式事务追踪、安全审计等场景。OpenTelemetry 提供跨语言的标准规范,使所有观测数据有效统一起来,并提供基于 OTel 标准的 API 实现的各种语言的 SDK,支持自定义开发观测数据采集。Trace 数据成功接入日志服务后,日志服务会及时记录全链路的请求及其上下文信息,并将其以统一的标准化格式保存到服务端,以供后续的查询、分析与数据可视化。
目前,日志服务通过 Trace 服务提供以下能力:
资源 | 说明 |
---|---|
日志主题 | 在创建 Trace 实例时,日志服务会同时自动创建 2 个日志主题。日志主题包括:
说明
|
索引 | 日志服务默认为 Trace Topic 配置索引,您也可以在默认索引的基础上添加新的字段索引。请勿修改或删除预置的索引字段,否则会导致 Trace 实例功能异常或数据检索异常。 |
每个火山引擎账号可创建的 Trace 实例数量取决于该 Trace 实例所属日志项目剩余可创建的日志主题数量。
日志服务支持通过原生 OpenTelemetry 协议将 Trace 数据接入到日志服务,推荐的接入方式如下。
接入方式 | 说明 | 参考文档 |
---|---|---|
OpenTelemetry SDK | OpenTelemetry 提供基于 OTel 标准的 API 实现的各种语言 SDK,支持 Trace 数据的采集。您可以使用 OpenTelemetry SDK 直接将 Trace 数据写入到日志服务,其中 OpenTelemetry 支持 HTTPS 协议或 gRPC 方式。 | |
OpenTelemetry Collector | OpenTelemetry Collector 用于接收、处理、输出 OTel Trace 数据,并支持通过配置 pipeline 对 Trace 数据进行处理,输出给指定后端服务。 |
说明