微服务无法使用discovery-server找到zipkin服务

时间:2017-11-17 04:44:23

标签: spring-boot microservices spring-cloud netflix-eureka zipkin

我有基于spring-boot的mircroservice环境,我使用zipkin服务器和发现服务器(eureka)和config-server。现在我有一个rest-microservice,它将日志发送到zipkin服务器,这个微服务需要解决zipkin服务器在哪里使用发现服务器。

以下是我在rest-microservice的application.properties(从config-server中提取)中的zipkin配置。

spring.zipkin.baseUrl=http://MTD-ZIPKIN-SERVER/
spring.zipkin.locator.discovery.enabled=true
spring.zipkin.enabled=true
...

此处MTD-ZIPKIN-SERVER是发现服务器中的zipkin-server名称。

发现 - 服务器仪表板。 enter image description here 但它没有尝试从发现服务器解析zipkin,而是尝试使用spring.zipkin.baseUrl直接连接,我得到以下异常。

  

由于ResourceAccessException而丢弃1个跨度(POST请求中的“http://MTD-ZIPKIN-SERVER/api/v1/spans”的I / O错误:   MTD-基普金-SERVER;嵌套异常是java.net.UnknownHostException:   MTD-基普金-SERVER)

     

org.springframework.web.client.ResourceAccessException:I / O错误   POST请求“http://MTD-ZIPKIN-SERVER/api/v1/spans”:   MTD-基普金-SERVER;嵌套异常是java.net.UnknownHostException:   MTD-ZIPKIN-SERVER在   org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:666)     在   org.springframework.web.client.RestTemplate.execute(RestTemplate.java:628)     在   org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:590)     在   org.springframework.cloud.sleuth.zipkin.RestTemplateSender.post(RestTemplateSender.java:73)     在   org.springframework.cloud.sleuth.zipkin.RestTemplateSender.sendSpans(RestTemplateSender.java:46)     在   zipkin.reporter.AsyncReporter $ BoundedAsyncReporter.flush(AsyncReporter.java:245)     在   zipkin.reporter.AsyncReporter $ Builder.lambda $建立$ 0(AsyncReporter.java:166)     at zipkin.reporter.AsyncReporter $ Builder $$ Lambda $ 1.run(未知   来自java.lang.Thread.run(Thread.java:745)引起的:   java.net.UnknownHostException:MTD-ZIPKIN-SERVER at   java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)     在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

如果我在属性spring.zipkin.baseUrl中提供精确的zipkin url,如下所示

spring.zipkin.baseUrl=http://localhost:5555/

然后我的rest-microservice能够连接到zipkin-server。

我的目标是从discovery-srever读取zipkin-server位置。我究竟做错了什么?我是否需要在spring-boot rest-microservice上添加一些zipkin启用注释?

1 个答案:

答案 0 :(得分:3)

此功能在edgware版本系列中可用。这相当于侦探版本1.3.x