我有一个 Spring Cloud Consul 服务,它有两个注册为appservice1
和的应用程序appservice2
。这两个应用程序都通过以下方式公开 hystrix 流:http://ip1:8080/appservice1/hystrix.stream
因此http://ip2:8080/appservice2/hystrix.stream
我可以使用 Hystrix Dashboard 检查另一个应用程序中的指标。
我已经使用 Turbine 创建了一个应用程序,以将具有相同集群(CLUSTER_NAME)的两个应用程序流聚合到 hystrix 仪表板中。
注意:我现在什至不需要集群,我只想要 Hystrix Dashboard 中的两个应用程序
这是我的application.yml
:
turbine:
aggregator:
clusterConfig: CLUSTER_NAME
appConfig: appservice1,appservice2
instanceUrlSuffix.CLUSTER_NAME: /hystrix.stream
这里的问题是,因为我的两个应用程序都有一个特定的server.contextPath
,turtle 无法找到应用程序/hystrix.stream
,因为没有使用每个应用程序上下文路径构建 url。
我得到这个工作的唯一方法是使用这个application.yml
:
turbine:
aggregator:
clusterConfig: appservice1,appservice2
appConfig: appservice1,appservice2
instanceUrlSuffix.appservice1: /appservice1/hystrix.stream
instanceUrlSuffix.appservice2: /appservice2/hystrix.stream
但是,这样我会有两个集群,一个用于每个应用程序,这意味着我必须将每个集群/turbine.stream?cluster=appserviceX
分别插入到仪表板中。