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

Jaeger UI无服务依赖显示问题求助(附K8s部署配置)

Troubleshooting "No service dependencies found" in Jaeger UI with Minikube & Spring Boot

Hey there, let's work through this Jaeger issue together. I notice you've deployed your Spring Boot app with a sidecar Jaeger Agent in Minikube, but aren't seeing any services or dependencies in the Jaeger UI. Let's break down the key fixes and checks to resolve this:

1. Fix Jaeger Agent's Collector Connection

Looking at your Deployment config for the Jaeger Agent, you're using --collector.host-port=jaeger-collector.jaeger-infra.svc:14267 — but you deployed Jaeger into the kube-system namespace (via your kubectl create commands). The correct service address for the Collector should point to the kube-system namespace instead:

--collector.host-port=jaeger-collector.kube-system.svc:14267

If the Agent can't reach the Collector, no traces will be sent to Jaeger's backend, which directly causes the empty UI.

2. Fix Mismatched Service Selector

Your Spring Boot Service has a selector jaeger-infra: jaeger-tax, but your Deployment's pod labels are app: tax-app, version: latest. These don't match at all! The Service can't route traffic to your app pods, so no requests are being traced. Update the Service's selector to match the Deployment's labels:

spec:
  selector:
    app: tax-app

3. Verify Spring Boot Tracing Configuration

Make sure your Spring Boot app is properly set up to send traces to the sidecar Agent:

  • Add the Jaeger starter dependency to your build file (Maven example):
    <dependency>
        <groupId>io.opentracing.contrib</groupId>
        <artifactId>opentracing-spring-jaeger-starter</artifactId>
        <version>3.2.2</version>
    </dependency>
    
  • Add these properties to application.properties (since the Agent shares the same container, localhost works):
    spring.application.name=tax-app
    opentracing.jaeger.udp-sender.host=localhost
    opentracing.jaeger.udp-sender.port=6831
    

This ensures your app generates and sends spans to the Agent for processing.

4. Check Component Health & Logs

  • First, confirm all Jaeger and Elasticsearch components are running in kube-system:
    kubectl get pods -n kube-system | grep -E "jaeger|elasticsearch"
    
  • Check the Jaeger Agent logs for connection errors (replace <pod-name> with your tax-app pod name, which lives in the default namespace unless you specified otherwise):
    kubectl logs <pod-name> jaeger-agent
    
    Look for errors like "failed to connect to collector" — this would confirm the address issue we fixed earlier.
  • Check your Spring Boot app logs to ensure it's receiving requests and generating spans.

5. Generate Test Traces

After fixing the above, send a few requests to your Spring Boot app (you can port-forward the Service to access it locally):

kubectl port-forward service/tax 8080:8080

Then hit your app's endpoints (like http://localhost:8080/your-test-endpoint) a few times. Wait a minute, then refresh the Jaeger UI — you should see your tax-app service appear, along with traces and dependencies.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:09:44