zipkin - это инструмент для отслеживания запроса, а также отслеживания промежутка времени, в течение которого служба обрабатывает запрос, полезный в мультисервисных проектах, для его настройки не требуется много усилий, нужно просто добавить зависимость zipkin в свои службы и определить бин семплера.
добавить следующую зависимость в проект
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-zipkin', version: '1.3.2.RELEASE'
добавить компонент сэмплера в ваш проект
` @Value("${spring.sleuth.sampler.percentage}")
String percentage;
@Bean
public PercentageBasedSampler defaultSampler() {
SamplerProperties configuration= new SamplerProperties();
configuration.setPercentage(Float.parseFloat(percentage));
return new PercentageBasedSampler(configuration);
}
`
добавить указанный bean-компонент, если вы хотите, чтобы только часть трассировок ur-запросов отправляла zipkin, иначе определите bean-компонент
` @Bean
public AlwaysSampler defaultSampler() { return new AlwaysSampler();
}
`
добавить
spring.zipkin.base-url=localhost:9411
в файле свойств ur и разместите сервер zipkin на том же порте, определенном выше.
но если вы используете api-шлюз для доступа к zipkin (в случае депиляции в облаке) или внутри прокси, вы можете столкнуться с проблемой поломки элементов пользовательского интерфейса при доступе через шлюз, в этом случае я использую zuul с указанием свойства:
zuul.routes.zipkin.path=/zipkin/*
zuul.routes.zipkin.url=http://localhost:9411