本地使用Dapr与.NET集成Zipkin无追踪数据显示问题
Dapr + .NET 开发:Zipkin 无链路追踪数据排查指南
排查步骤
检查Dapr追踪配置文件
确认本地Dapr配置(~/.dapr/config.yaml或项目自定义dapr-config.yaml)的追踪节点配置正确:tracing: samplingRate: "1" zipkin: endpointAddress: "http://localhost:9411/api/v2/spans"启动应用时必须指定该配置:
dapr run --app-id my-dotnet-app --app-port 5000 --config ./dapr-config.yaml dotnet run验证Zipkin服务状态
访问http://localhost:9411确认UI正常加载。未启动的话用Docker拉起:docker run -d -p 9411:9411 openzipkin/zipkin检查.NET应用的Dapr集成
项目需引入Dapr SDK,且Program.cs中正确配置:builder.Services.AddDaprClient(); // Web应用需添加中间件 app.UseCloudEvents(); app.MapSubscribeHandler();所有服务间调用必须通过
DaprClient.InvokeMethodAsync发起,直接HTTP调用不会被Dapr拦截生成追踪数据。查看Dapr Sidecar调试日志
启动时追加--log-level debug参数,查看日志中是否有Zipkin请求记录或报错:dapr run --app-id my-dotnet-app --app-port 5000 --config ./dapr-config.yaml --log-level debug dotnet run确认采样率设置
配置中samplingRate需设为"1"(全量采样),过低的采样率会导致无数据显示。
额外提示
- 本地开发时优先用
localhost作为Zipkin地址,确保应用与Sidecar网络互通;Docker Compose部署时,需保证Zipkin与Dapr在同一网络,地址用容器服务名。
内容的提问来源于stack exchange,提问作者dev
相关产品推荐
相关产品推荐

