如何覆盖 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