хостинг zipkin внутри прокси / zuul-шлюза - PullRequest
0 голосов
/ 06 мая 2018

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

1 Ответ

0 голосов
/ 06 мая 2018

самое простое решение, которое я нашел для решения сломанного интерфейса для zipkin через шлюз путем изменения следующего свойства файла zipkin-server-shared.yml внутри сервера zipkin

zipkin: ui: base-path: /zipkin изменить вышеуказанное свойство на

zipkin: ui: base-path: /api/tracing/zipkin

и измените ваш путь на следующий zuul.routes.zipkin.path=/api/tracing/*

и доступ к zipkin с помощью следующего URL

https://gatewayhost:port/api/tracing/zipkin/

обратите внимание на мелкие детали в конфиге и не забудьте поставить конечный символ "/" после zipkin в URL

...