如何覆盖 Hystrix 指标流端点的 URL 后缀?
How to override URL suffix for Hystrix metrics stream endpoint?
在我们的设置中,我们有很多 Dropwizard 服务,这些服务将它们的指标流式传输到 Hystrix 仪表板。
我们正在 Spring Boot 中编写一项新服务,并希望指标流与 Dropwizard 相同 URL,但我找不到如何覆盖流 servlet 的 URL 模式。
我确定这是可以配置的,有什么想法吗?
必须注册自定义 bean 以覆盖应用程序中这样的硬编码值 class:
@Bean
public CustomHystrixStreamEndpoint customHystrixStreamEndpoint() {
return new CustomHystrixStreamEndpoint();
}
然后像这样创建自定义包装器 class:
public class CustomHystrixStreamEndpoint extends ServletWrappingEndpoint {
public CustomHystrixStreamEndpoint() {
super(HystrixMetricsStreamServlet.class, "customHystrixStream",
"/tenacity/hystrix.stream",
false, true);
}
}
然后在配置文件中像这样关闭默认的:
hystrix.stream.endpoint.enabled: false
仅供参考,默认包装器 class 称为 HystrixStreamEndpoint
在我们的设置中,我们有很多 Dropwizard 服务,这些服务将它们的指标流式传输到 Hystrix 仪表板。
我们正在 Spring Boot 中编写一项新服务,并希望指标流与 Dropwizard 相同 URL,但我找不到如何覆盖流 servlet 的 URL 模式。
我确定这是可以配置的,有什么想法吗?
必须注册自定义 bean 以覆盖应用程序中这样的硬编码值 class:
@Bean
public CustomHystrixStreamEndpoint customHystrixStreamEndpoint() {
return new CustomHystrixStreamEndpoint();
}
然后像这样创建自定义包装器 class:
public class CustomHystrixStreamEndpoint extends ServletWrappingEndpoint {
public CustomHystrixStreamEndpoint() {
super(HystrixMetricsStreamServlet.class, "customHystrixStream",
"/tenacity/hystrix.stream",
false, true);
}
}
然后在配置文件中像这样关闭默认的:
hystrix.stream.endpoint.enabled: false
仅供参考,默认包装器 class 称为 HystrixStreamEndpoint