distributed-tracing

利用Jaeger与Tempo实现分布式追踪,跟踪微服务间请求流转并定位性能瓶颈。适用于微服务调试、请求链路分析或构建分布式系统可观测性场景。

作者

安装

热度:23

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-distributed-tracing&locale=zh&source=copy

分布式追踪技能 (Distributed Tracing)

技能概述


使用 Jaeger 和 Tempo 实现分布式追踪,在微服务环境中可视化请求链路、定位性能瓶颈并分析服务依赖关系。

适用场景

  • 调试微服务性能问题

  • 当用户请求响应缓慢时,通过追踪完整请求链路,识别具体是哪个服务或数据库操作导致延迟。

  • 分析服务间调用关系

  • 在复杂的微服务架构中,自动生成服务依赖图,了解服务间的调用频率和成功/失败率。

  • 追踪错误传播路径

  • 当请求失败时,快速定位错误首次发生的服务,分析错误如何在上游/下游服务中传播。

    核心功能

  • 多平台追踪部署

  • 支持 Jaeger 和 Tempo 两种主流分布式追踪平台,提供 Kubernetes、Docker Compose 等多种部署方式。

  • 多语言应用集成

  • 提供 Python (Flask)、Node.js (Express)、Go 等主流语言的 OpenTelemetry 集成代码示例,实现自动追踪。

  • 追踪数据分析

  • 支持按服务名、持续时间、错误标签等条件筛选追踪数据,快速定位问题请求。

    常见问题

    分布式追踪和传统日志监控有什么区别?


    传统日志监控只能看到单个服务内部的执行情况,当请求经过多个服务时,难以关联不同服务的日志。分布式追踪通过在服务间传递追踪上下文(traceparent),将整个请求链路串联起来,可以直观看到每个环节的耗时和状态。

    生产环境采样率设置为多少合适?


    建议生产环境采样率设置为 1% 左右,可以在保留足够问题样本的同时控制存储成本和性能开销。高流量或核心链路可以适当降低,低流量或测试环境可以设置为 100%。

    追踪会对应用性能产生影响吗?


    合理配置的追踪系统对性能影响很小,通常控制在 1% 以内的 CPU 开销。关键措施包括:使用批量 Span 处理器、异步上报追踪数据、设置合适的采样率。