2017-11-17 26 views
1

저는 zipkin 서버와 discovery-server (eureka) 및 config-server를 사용하는 spring-boot를 기반으로 mircroservice 환경을 사용합니다. 이제 zipkin 서버에 로그를 보내는 rest-microservice가 있으며이 microservice는 zipkin 서버가 discovery-server를 사용하여 어디에 있는지 확인해야합니다.microservice가 discovery-server를 사용하여 zipkin 서비스를 찾을 수 없습니다.

다음은 zipkin 구성입니다. 내 rest-microservice의 application.properties (config-server에서 가져옴)에 있습니다.

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

여기서 MTD-ZIPKIN-SERVER는 검색 서버에서 zipkin-server name입니다.

탐색 서버 대시 보드. enter image description here 하지만 discovery-server에서 zipkin을 해결하지는 않습니다. 대신 spring.zipkin.baseUrl을 사용하여 직접 연결을 시도하지만 예외가 발생합니다.

인해 ResourceAccessException 1 개 스팬으로 떨어졌다 ("http://MTD-ZIPKIN-SERVER/api/v1/spans"의 POST 요청에 대한 I/O 에러 : MTD-지프 킨-SERVER, 중첩 예외 java.net.UnknownHostException이다 MTD-지프 킨-SERVER)

org.springframework.web.client.ResourceAccessException : 의 입출력 오류 "http://MTD-ZIPKIN-SERVER/api/v1/spans"에 대한 POST 요청 : MTD-ZIPKIN-SERVER; org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java:666)에서 MTD-지프 킨-SERVER org.springframework.web.client.RestTemplate.execute (AT : 중첩 예외이다 java.net.UnknownHostException org.springframework.cloud.sleuth.zipkin.RestTemplateSender.post에서 org.springframework.web.client.RestTemplate.exchange (RestTemplate.java:590) 에서 RestTemplate.java:628) (RestTemplateSender.java:73) zipkin.reporter.AsyncReporter $ BoundedAsyncReporter.flush (AsyncReporter.java:245),691에서 org.springframework.cloud.sleuth.zipkin.RestTemplateSender.sendSpans (RestTemplateSender.java:46) 에서 at zipkin.reporter.AsyncReporter $ Builder.lambda $ build $ 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) at java.net.SocksSocketImpl.connect (SocksSocketImpl. 자바 : 392)

것은 내가 정확한 아래

spring.zipkin.baseUrl=http://localhost:5555/ 
,369 같은 속성 spring.zipkin.baseUrl의 URL을 지프 킨 제공하는 경우

내 rest-microservice가 zipkin-server에 연결할 수 있습니다.

나의 목표는 discovery-srever에서 zipkin-server location을 읽는 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? Spring-Boot Rest-microservice에 주석을 달 수있는 zipkin을 추가해야합니까?

+1

작동하려면 Edgware 릴리스 트레인을 사용해야합니다. 어떤 버전의 사자를 사용하십니까? –

+0

spring-cloud-sleuth-core-1.2.5.RELEASE.jar을 사용하고 있습니다. – arjunagarwal

답변

2

이 기능은 edgware 릴리스 트레인에서 사용할 수 있습니다. 그것은 버전 1.3.x의 slew에 해당합니다