工业网关分布式追踪:从 Jaeger 到 Tempo 的工程实战
工业边缘的分布式追踪后端选型关键工业边缘的分布式追踪后端选型关键。本文从工程实战角度梳理。一、为什么后端采集仅是第一步存储查询展示后端承载完整链路。二、主流后端JaegerCNCF 项目长期演进TempoGrafana 出品长期演进Zipkin经典开源长期演进SkyWalking国内活跃长期演进Datadog APM商业方案长期演进三、Jaeger 部署# docker-compose.ymlservices:jaeger:image:jaegertracing/all-in-one:latestenvironment:COLLECTOR_OTLP_ENABLED:trueports:-16686:16686# UI-4317:4317# OTLP gRPC-4318:4318# OTLP HTTP# 跨配置 Exporterfromopentelemetry.exporter.otlp.proto.grpc.trace_exporterimportOTLPSpanExporter exporterOTLPSpanExporter(endpointjaeger:4317,insecureTrue)四、Tempo 部署# tempo.yamlserver:http_listen_port:3200distributor:receivers:otlp:protocols:grpc:endpoint:0.0.0.0:4317http:endpoint:0.0.0.0:4318storage:trace:backend:s3s3:bucket:tempo-tracesendpoint:s3.example.comaccess_key:...secret_key:...pool:max_workers:100queue_depth:10000五、Collector 中转# otel-collector-config.yamlreceivers:otlp:protocols:grpc:endpoint:0.0.0.0:4317http:endpoint:0.0.0.0:4318processors:batch:timeout:1ssend_batch_size:1024memory_limiter:check_interval:1slimit_mib:1500tail_sampling:policies:-name:errorstype:status_codestatus_code:status_codes:[ERROR]exporters:otlp/tempo:endpoint:tempo:4317tls:insecure:trueservice:pipelines:traces:receivers:[otlp]processors:[memory_limiter,batch,tail_sampling]exporters:[otlp/tempo]六、Grafana 集成# datasourcesapiVersion:1datasources:-name:Tempotype:tempourl:http://tempo:3200jsonData:tracesToLogs:datasourceUid:lokitags:[app,env]mapTagNamesEnabled:truetracesToMetrics:datasourceUid:prometheustags:[{key:service.name,value:service}]serviceMap:datasourceUid:prometheus七、TraceQL 查询# 跨基本 { service.name gateway } # 跨过滤 { service.name gateway status error } # 跨延迟 { duration 1s } # 跨组合 { resource.service.name gateway span.http.status_code 500 span.http.method POST }八、性能与成本StorageJaegerCassandra / ESTempo对象存储长期演进索引JaegerCassandra 索引Tempo仅索引 ID长期演进成本Tempo 更低长期演进九、几个工程实践实践 1Collector 必备中转 处理长期演进整体灵活实践 2采样合理头部 尾部长期演进整体平衡实践 3存储选型规模 成本长期演进整体可控实践 4三支柱集成traces / metrics / logs长期演进整体可观测实践 5监测体系后端自监长期监测十、几个常见的坑坑 1直接发后端长期不灵活应对Collector 中转。坑 2采样不当长期或贵或漏应对头尾结合。坑 3无集成长期孤岛应对三支柱。坑 4无监测长期黑盒应对完整监测。坑 5版本演进长期兼容应对整体跟踪。十一、运行时层面的角色在工业网关上追踪能力最终要落到协议运行时里。以我们的 Zenova EdgeOS 为例运行时侧的追踪通常这样落地Collector 集成后端可选长期演进整体可观测基础 License ¥400/台起。十二、TL;DR工业网关分布式追踪 —后端Jaeger / Tempo / Zipkin / SkyWalking / Datadog。Jaegerall-in-one。Tempo对象存储。Collector中转 处理。GrafanatracesToLogs / tracesToMetrics / serviceMap。TraceQL查询。性能Tempo 更低成本。实践Collector / 采样 / 存储 / 集成 / 监测。坑直发 / 采样 / 集成 / 监测 / 演进。下一步建议后端选型Collector 部署采样策略Grafana 集成长期演进