Я пытаюсь интегрировать сыщик в приложение Spring Boot, чтобы оно разговаривало с zipkin-сервером для отслеживания, но мне не очень везет. Я выполнил несколько руководств (ссылка на учебник), и у них нет проблем с тем, чтобы заставить их разговаривать с zipkin, но это плохо переводится в мое приложение, и я не уверен, где искать.
по сути, в файле build.gradle в раздел зависимостей я добавил:
compile('org.springframework.cloud:spring-cloud-starter-sleuth')
compile("org.springframework.cloud:spring-cloud-sleuth-zipkin")
В контроллер я добавил эти два bean-компонента:
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
@Bean
public AlwaysSampler defaultSampler() {
return new AlwaysSampler();
}
и я добавил их в файл application.properties:
spring.application.name=pie2-lcp-endpoints
logging.level.org.springframework.web.servlet.DispatcherServlet=DEBUG
Когда я делаю все это в демонстрациях, они отправляют трассировки на мой хост Zipkin по адресу localhost: 4911, просто отлично (пока я просто запускаю jar-файл быстрого запуска). Когда я делаю все это в своем приложении, я вижу, что у меня есть записи журнала сыщика со строками вроде:
[pie2-partner-integration,768070516213fc75,768070516213fc75,true]
Итак, я знаю, что Сыщик работает.
Когда я запускаю демонстрационное приложение с отключенным серверным приложением zipkin, приложение выглядит так, как будто оно работает нормально, но, что достаточно разумно, в файлах журнала отображается большая старая трассировка стека ConnectionRefused. Когда я пытаюсь провести тот же эксперимент с моим приложением, я не вижу трассировки стека в моих журналах приложения, и приложение также работает нормально.
Вне моего более крупного приложения я не могу воспроизвести свою проблему и не знаю, чем еще поделиться с вами. У кого-нибудь есть предложения о том, с чего начать?