日志服务提供基于原生OpenTelemetry协议的分布式链路追踪功能,支持各类Trace数据的接入、存储、分析、可视化、告警、人工智能运维等。本文介绍日志服务分布式链路追踪功能(Trace APP)相关的背景信息、方案介绍、资产说明、费用等。

背景信息

在现代IT系统中,尤其是云原生、微服务系统,一次外部请求往往需要多个内部服务、多个中间件和多台机器的相互调用才能完成。在这一系列的调用中,任何阶段出现的问题都可能导致外部服务失败或延迟升高,影响用户体验。如果您想要精确定位及分析问题,需要使用分布式链路追踪技术。

分布式链路追踪(Distributed Tracing,简称Trace)可提供整个服务调用链路的调用关系、延迟、结果等信息,非常适用于云原生、分布式、微服务等涉及多个服务交互的系统。

目前,OpenTelemetry是目前全球公认的分布式链路追踪标准,兼容OpenTracingOpenCensus的各类客户端。OpenTelemetry由一组API、SDK和工具组成,用来观察、生成、采集和导出各类可观测性数据(Traces、Logs、Metrics)。

日志服务Trace APP

OpenTelemetry只提供数据的格式定义、产生、收集、发送,但并不提供分析、可视化、告警等功能。日志服务Trace APP基于OpenTelemetry协议实现,支持采集OpenTelemetry以及其他平台(例如Jaeger、Zipkin、SkyWalking等)的Trace数据,并提供Trace数据存储、分析、可视化、告警等功能。

SLS 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对于性能、错误率的影响,帮助开发者在复杂环境下快速排查问题的根因。

资产详情

通过日志服务Trace APP创建的所有资产都保存在目标Project下,Project内的资产如下:
  • 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只收取日志服务的基础费用(例如索引流量费用、存储费用、读写流量费用、外网读取费用等)。关于计费项的更多信息,请参见计费项