日志服务提供基于原生OpenTelemetry协议的分布式链路追踪功能,支持各类Trace数据的接入、存储、分析、可视化、告警、人工智能运维等。本文介绍日志服务分布式链路追踪功能(Trace APP)相关的背景信息、方案介绍、资产说明、费用等。
背景信息
在现代IT系统中,尤其是云原生、微服务系统,一次外部请求往往需要多个内部服务、多个中间件和多台机器的相互调用才能完成。在这一系列的调用中,任何阶段出现的问题都可能导致外部服务失败或延迟升高,影响用户体验。如果您想要精确定位及分析问题,需要使用分布式链路追踪技术。
分布式链路追踪(Distributed Tracing,简称Trace)可提供整个服务调用链路的调用关系、延迟、结果等信息,非常适用于云原生、分布式、微服务等涉及多个服务交互的系统。
目前,OpenTelemetry是目前全球公认的分布式链路追踪标准,兼容OpenTracing、OpenCensus的各类客户端。OpenTelemetry由一组API、SDK和工具组成,用来观察、生成、采集和导出各类可观测性数据(Traces、Logs、Metrics)。
日志服务Trace APP
OpenTelemetry只提供数据的格式定义、产生、收集、发送,但并不提供分析、可视化、告警等功能。日志服务Trace APP基于OpenTelemetry协议实现,支持采集OpenTelemetry以及其他平台(例如Jaeger、Zipkin、SkyWalking等)的Trace数据,并提供Trace数据存储、分析、可视化、告警等功能。

- 支持多种接入方式
- 支持通过OpenTelemetry、Jaeger、Zipkin等协议直接接入Trace数据。
- 支持接入10多种开发语言的Trace数据。
- 支持接入多种Trace平台中的Trace数据。
- 支持通过公网、阿里云内网(经典网络、VPC)、全球加速网络接入Trace数据。
- 遵循OpenTelemetry Trace 1.0标准规范
日志服务Trace数据格式遵循OpenTelemetry Trace 1.0格式,符合云原生、微服务背景下的Trace数据格式需求。
- 高性能
支持日PB级数据接入,支持提取与分析相关指标,提供预计算能力,具备海量场景下Trace数据100%采样的能力。
- 弹性
支持自定义设置日志存储周期,Logstore存储容量可动态伸缩以满足业务增长需求。
- 具备丰富的Trace功能
包括Trace详情展示、服务概览、Trace查询统计、依赖分析等,同时提供自定义SQL分析功能,满足特性化需求。
- 下游生态友好
日志服务Trace数据、计算后的指标数据等都支持对接各类流计算平台、离线计算引擎,并支持自定义订阅数据进行定制化处理。
- 提供多种内置的AIOps算法
自动分析Trace对于性能、错误率的影响,帮助开发者在复杂环境下快速排查问题的根因。
资产详情
- Logstore
注意 禁止更新、删除下述Logstore中的索引,否则会影响Trace APP的正常使用。
- {instance}-traces:存储上报的原始Trace数据。
- {instance}-traces-metrics:存储Trace数据计算后的聚合指标中间结果。
- {instance}-traces-deps:存储Trace数据计算后的依赖项中间结果。
- {instance}-logs:存储上报的原始日志。
- Metricstore
{instance}-metrics :存储上报的指标信息。
- Scheduled SQL
- {instance}-metric_info:用于聚合计算Trace数据的聚合指标信息。
- {instance}-service:用于聚合计算service粒度的依赖项信息。
- {instance}-service_name_host:用于聚合计算service、name、host粒度的依赖项信息。
- {instance}-service_name_host_resource:用于聚合计算service、name、host、resource粒度的依赖项信息。
- Dashboard
- 接入概览:显示Trace数据接入的基本信息,例如Trace数量、Span数量、每个服务的接入情况等。
- 数据统计:显示Trace数据接入的统计信息,例如延迟、QPS、错误率等。
费用说明
日志服务Trace APP只收取日志服务的基础费用(例如索引流量费用、存储费用、读写流量费用、外网读取费用等)。关于计费项的更多信息,请参见计费项。