2016-10-04 69 views
0

更新:我已将代码推送到my repo,以便人们可以在那里查看可能出错的地方。使用Spring Cloud Sleuth向OpenZIpkin发送跟踪数据

编辑:我几乎可以肯定它不会发表任何统计数据到服务器的客户端代码,但低于既不导游讲解如何来启用:有,我很想念配置设置?

我一直跟着两个OpenZipkinSpring Sleuth快速启动:我从docker-zipkin使用docker-compose和卡桑德拉作为后台运行基普金服务器:

$ d ps 
CONTAINER ID  IMAGE        COMMAND     CREATED    STATUS    PORTS                    NAMES 
5ca0f0b29900  openzipkin/zipkin:1.12.1    "/bin/sh -c 'test -n " 14 minutes ago  Up 8 minutes  0.0.0.0:9410-9411->9410-9411/tcp             zipkin 
7b243a0b61e3  openzipkin/zipkin-dependencies  "crond -f"    14 minutes ago  Up 8 minutes                       dependencies 
e2e047fb3851  openzipkin/zipkin-cassandra:1.12.1 "/bin/sh -c /usr/loca" 14 minutes ago  Up 8 minutes  7000-7001/tcp, 0.0.0.0:3306->3306/tcp, 7199/tcp, 0.0.0.0:9042->9042/tcp, 9160/tcp cassandra 

我已经创建并运行Spring Sleuth sample app,它似乎是正确配置跟踪呼叫:

# application.properties) 
server.port = 9099 
spring.application.name = zipkin-demo 
spring.zipkin.baseUrl = http://localhost:9411/ 
spring.sleuth.sampler.percentage = 1.0 

日志似乎表明的痕迹应该被记录:

2016-10-04 15:20:02.115 INFO [zipkin-demo,c6e06ff47bddaf4d,f7437cf1c7089522,true] 70899 --- [nio-9099-exec-3] com.apple.its.api.ApiController   : Forwarding to http://localhost:8088/api/v1/hello 
2016-10-04 15:20:02.709 INFO [zipkin-demo,de3c25ea46e8b010,f7e6017757f0ce5e,true] 70899 --- [nio-9099-exec-4] com.apple.its.api.ApiController   : Forwarding to http://localhost:8088/api/v1/hello 
2016-10-04 15:20:06.480 INFO [zipkin-demo,4c9fdeaab69b79b4,1dc8b9b7ce5c6fa5,true] 70899 --- [nio-9099-exec-5] com.apple.its.api.ApiController   : Sleeping for [278] millis 
2016-10-04 15:20:08.833 INFO [zipkin-demo,2eb26be1a6867e5,b566753eb137026,true] 70899 --- [nio-9099-exec-8] com.apple.its.api.ApiController   : Sleeping for [467] millis 
2016-10-04 15:20:10.608 INFO [zipkin-demo,eec83e7fc4ea9c9d,c88723b29ca4335c,true] 70899 --- [nio-9099-exec-1] com.apple.its.api.ApiController   : Sleeping for [20] millis 
2016-10-04 15:20:12.035 INFO [zipkin-demo,63259dd1bac357e9,5cf013d16bb1ee98,true] 70899 --- [nio-9099-exec-4] com.apple.its.api.ApiController   : Sleeping for [22] millis 

但是,无论我做什么,UI都不会显示任何痕迹。 奇怪的是,localhost:9411/trace显示了一堆痕迹(它们似乎主要来自Zipkin本身),但zipkin-demo应用程序中没有任何痕迹。

我相信这是由于演示应用程序没有发送跟踪到主机,但我只是使用Spring's example app,所以我能做什么错?

+0

您的应用程序正在调用另一个应用程序吗? AFAIR您至少需要2个素描图 –

+0

该应用程序简直就是Spring Sleuth的“入门”应用程序;但是,正如您在日志中看到的那样,轨迹正在生成。我相信缺少的是发送到Zipkin服务器。 – Marco

+0

您是否将采样器百分比设置为1.0或添加了AlwaysSampler? –

回答

2

如果我没有弄错(我想我不是),难怪你没有发送Span到Zipkin,因为你没有添加Zipkin依赖。使用Zipkin通过HTTP检查Sleuth与文档的部分:http://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html

dependencyManagement { 
    imports { 
     mavenBom "org.springframework.cloud:spring-cloud-dependencies:Brixton.RELEASE" 
    } 
} 
dependencies { 
    compile "org.springframework.cloud:spring-cloud-starter-zipkin" 
} 
+0

我们可以标记为已解决? –

0

这个配置在我的应用程序中1为我工作:

spring.zipkin.baseUrl = localhost:9411 
    spring.sleuth.enabled = true 
    spring.sleuth.sampler.percentage = 1.0 

启用属性可能做的伎俩!