Agent Skills
返回列表
🔒

分布式追踪

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/distributed-tracing。

技能介绍

微服务里「慢在哪、错从哪来」往往说不清

一次用户请求会穿过网关、多个业务服务和下游存储。各服务各自打日志,request_id 对不齐时,你只能猜:是 A 服务排队、B 调用超时,还是 C 重试把错误放大。没有端到端视图,延迟排查和错误传播分析都会变成串日志的体力活。

技能在做什么

本技能围绕 Jaeger 与 Grafana Tempo 的部署与使用,把一次请求整理成 Trace(追踪),并在每个服务边界留下 Span(跨度)。核心能力包括:

  • 埋点:以 OpenTelemetry 为推荐路径,覆盖 Python(Flask)、Node.js(Express)、Go 等常见栈
  • 上下文传播:经 HTTP 头在服务间传递 Context,必要时扩展 baggage
  • 采样:概率、限流、自适应等策略,避免生产环境全量采集拖垮 CPU
  • 分析:在 Jaeger 中查慢请求与错误,利用自动生成的服务依赖图看请求速率、错误率与平均延迟
  • 与日志联动:用标签(如 user_id、request_id)把 span 和日志对齐,缩短故障排查路径

文档中还给出 Kubernetes / Docker Compose 部署 Jaeger、Tempo 在 K8s 上的部署思路,以及 references/jaeger-setup.md、references/instrumentation.md 等可执行参考。

适用边界

任务与分布式追踪无关,或必须依赖本技能范围外的其他领域/工具时,不应硬套本技能。生产上宜控制采样(常见建议 1–10%)、统一 span 命名、在边界传播上下文,并监控追踪自身开销;若「没有 trace」或「延迟开销过高」,需从收集器端点、采样率、批量处理器与导出器配置逐项核对。

使用场景

  • 线上接口 P99 升高,需要在 Jaeger 里按 Trace 对比各服务 Span 耗时,定位慢在哪个边界
  • 新服务上线前,用 Jaeger 依赖图核对调用链与错误率,确认上下游关系是否符合设计
  • 用户报错偶发,需沿 HTTP 上下文传播追踪错误 Span,看从网关到哪一层开始失败
  • 生产全链路采样后开销偏大,要调整概率采样并在查询侧验证慢请求仍能被抽到

适合人员

  • 在 Kubernetes 上维护微服务、值班时要查跨服务延迟与故障点的 SRE / 平台工程师
  • 负责 Flask、Express 或 Go 服务,需要按 OpenTelemetry 规范补埋点并传播上下文的业务后端
  • 负责部署 Jaeger 或 Grafana Tempo 收集链路,并配置采样与导出器的可观测性平台同学
  • 故障排查时需把应用日志与 Trace 标签(如 request_id)对齐的 on-call 工程师