在 proxy/zuul-gateway 中托管 zipkin
hosting zipkin inside proxy/zuul-gateway
zipkin 是一种用于跟踪请求以及跟踪服务处理请求所花费的时间跨度的工具,在多服务项目中很有用它不需要ui设置你只需要做的工作在您的服务中添加 zipkin 依赖项并定义采样器 bean。
在项目中添加如下依赖
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-zipkin', version: '1.3.2.RELEASE'
在您的项目中添加采样器 bean
` @Value("${spring.sleuth.sampler.percentage}")
String percentage;
@Bean
public PercentageBasedSampler defaultSampler() {
SamplerProperties configuration= new SamplerProperties();
configuration.setPercentage(Float.parseFloat(percentage));
return new PercentageBasedSampler(configuration);
}
`
当您只想将请求跟踪的一部分发送到 zipkin 时添加上面的 bean,否则定义一个 bean
` @Bean
public AlwaysSampler defaultSampler() { return new AlwaysSampler();
}
`
添加
spring.zipkin.base-url=localhost:9411
在你的属性文件中,并在上面定义的相同端口上托管 zipkin 服务器。
但是如果你使用 api-gateway 访问 zipkin(在云中部署的情况下)或在代理内部你可能会在这种情况下通过网关访问时遇到 ui 元素损坏的问题我将 zuul 与 propertis 一起使用为:
zuul.routes.zipkin.path=/zipkin/*
zuul.routes.zipkin.url=http://localhost:9411
我找到的解决 zipkin through gateway 损坏的 ui 最简单的解决方案
是通过更改 zipkin 服务器
内的 zipkin-server-shared.yml 文件的以下 属性
zipkin:
ui:
base-path: /zipkin
将 属性 以上更改为
zipkin:
ui:
base-path: /api/tracing/zipkin
并将您的 zuul 路径更改为以下
zuul.routes.zipkin.path=/api/tracing/*
然后使用 follwing url
访问 zipkin
https://gatewayhost:port/api/tracing/zipkin/
注意配置中的小细节,不要忘记在 url
中的 zipkin 后面加上尾随的“/”
zipkin 是一种用于跟踪请求以及跟踪服务处理请求所花费的时间跨度的工具,在多服务项目中很有用它不需要ui设置你只需要做的工作在您的服务中添加 zipkin 依赖项并定义采样器 bean。
在项目中添加如下依赖
compile group: 'org.springframework.cloud', name: 'spring-cloud-starter-zipkin', version: '1.3.2.RELEASE'
在您的项目中添加采样器 bean
` @Value("${spring.sleuth.sampler.percentage}")
String percentage;
@Bean
public PercentageBasedSampler defaultSampler() {
SamplerProperties configuration= new SamplerProperties();
configuration.setPercentage(Float.parseFloat(percentage));
return new PercentageBasedSampler(configuration);
}
`
当您只想将请求跟踪的一部分发送到 zipkin 时添加上面的 bean,否则定义一个 bean
` @Bean
public AlwaysSampler defaultSampler() { return new AlwaysSampler();
}
`
添加
spring.zipkin.base-url=localhost:9411
在你的属性文件中,并在上面定义的相同端口上托管 zipkin 服务器。
但是如果你使用 api-gateway 访问 zipkin(在云中部署的情况下)或在代理内部你可能会在这种情况下通过网关访问时遇到 ui 元素损坏的问题我将 zuul 与 propertis 一起使用为:
zuul.routes.zipkin.path=/zipkin/*
zuul.routes.zipkin.url=http://localhost:9411
我找到的解决 zipkin through gateway 损坏的 ui 最简单的解决方案 是通过更改 zipkin 服务器
内的 zipkin-server-shared.yml 文件的以下 属性zipkin:
ui:
base-path: /zipkin
将 属性 以上更改为
zipkin:
ui:
base-path: /api/tracing/zipkin
并将您的 zuul 路径更改为以下
zuul.routes.zipkin.path=/api/tracing/*
然后使用 follwing url
访问 zipkinhttps://gatewayhost:port/api/tracing/zipkin/
注意配置中的小细节,不要忘记在 url
中的 zipkin 后面加上尾随的“/”