闫鹏 腾讯云可观测
概述
随着微服务以及容器技术的发展,系统软件的构建方式也随之发生了改变,微服务调用关系错综复杂,传统的监控方案很难满足当下应用场景的需求,指标、链路追踪以及日志目前已经成为了云原生应用的“必备品”,当把它们集成在一起时,需要拥有一个更加成熟的现代化可观测体系来支撑,以便了解应用系统内发生的事情。通过可观测性体系的建立,我们可以更好的去洞察监控数据,从而能够更快速的做问题定界以及根因定位,降低 MTTR。
随着腾讯云的快速发展,越来越多的企业客户选择腾讯云作为其业务运行的基础设施。为了更好地满足客户需求,提升用户体验,腾讯云在应用性能监控(APM)方面持续发力,提供了全链路追踪功能。本文将分享腾讯云 APM 全链路追踪的落地实践,供您参考。
从监控到可观测的演进历程
伴随着可观测体系的演进历程,全链路追踪的技术栈也得到了进一步的收敛,2019年 OpenTelemetry 诞生后统一了 Trace 模型,逐步成为全链路追踪领域的事实标准。
腾讯云的应用性能监控(APM)的全链路追踪能力,也是基于 OpenTelemetry 的标准上构建的,全面兼容开源标准,并且支持 OpenTelemetry、Jaeger、Skywalking、Zipkin 等多种 Trace 协议上报,且支持 Java、Python、PHP、Node.js 等多种语言的接入。
主流 Trace 框架
基于 OpenTelemetry 开源标准实现并增强,全面兼容主流 Trace 框架。各主流 Trace 框架全链路调用时协议透传的主要 Key 定义
Zipkin | Jaeger | Skywalking | OpenTelemetry |
X-B3-TraceId X-B3-SpanId X-B3-ParentSpanId X-B3-Sampled X-B3-Flags baggage-key |
uber-trace-id jaeger-baggage |
sw8 sw8-correlation |