You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置K8s中SpringBoot应用通过OpenTelemetry向Jaeger发追踪数据

Kubernetes中SpringBoot用OpenTelemetry对接Jaeger Operator实例配置指南

关于Jaeger Sidecar注入的说明

不需要在Deployment中添加sidecar.jaegertracing.io/inject: "true"注解。你使用的是OpenTelemetry SDK直接收集并发送追踪数据到Jaeger Collector,该注解是用来注入Jaeger代理sidecar的,当前场景完全不需要额外代理,直接由OTel SDK发送数据即可。

配置端点的具体值

先确认Jaeger Operator部署的Collector服务名称,执行命令查看observability命名空间下的相关服务:

kubectl get svc -n observability

Collector服务名称通常为<你的Jaeger实例名>-collector,比如实例名为prod-jaeger,则服务名为prod-jaeger-collector。

1. OTLP Exporter配置(推荐,OpenTelemetry原生方式)

用OTLP协议直接发送到Jaeger Collector,Spring Boot配置示例:

# HTTP协议(端口4318)
spring.sleuth.otel.exporter.otlp.endpoint=http://<jaeger-collector-service-name>.observability.svc.cluster.local:4318/v1/traces
spring.sleuth.otel.exporter.otlp.protocol=http/protobuf

# 或使用gRPC协议(端口4317)
# spring.sleuth.otel.exporter.otlp.endpoint=grpc://<jaeger-collector-service-name>.observability.svc.cluster.local:4317

2. Jaeger Exporter配置(兼容Jaeger格式)

如果选择用OTel SDK的Jaeger格式 exporter,配置示例:

# gRPC协议(端口14250)
spring.sleuth.otel.exporter.jaeger.endpoint=http://<jaeger-collector-service-name>.observability.svc.cluster.local:14250

# 或HTTP协议(端口14268)
# spring.sleuth.otel.exporter.jaeger.endpoint=http://<jaeger-collector-service-name>.observability.svc.cluster.local:14268/api/traces

额外注意事项

  • 确保Spring Boot应用所在命名空间与observability命名空间网络连通正常,K8s默认DNS解析支持跨命名空间服务访问,只要Collector服务存在即可。
  • 确认项目已引入正确依赖:spring-cloud-starter-sleuth和spring-cloud-sleuth-otel-autoconfigure,保证OTel SDK能正常集成到SpringBoot应用中。

内容的提问来源于stack exchange,提问作者Tair Itzhak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:22:25