我有一个Spring Cloud Consul服务,其中有两个应用程序注册为appservice1
和appservice2
。这两个应用程序都通过:http://ip1:8080/appservice1/hystrix.stream
和http://ip2:8080/appservice2/hystrix.stream
公开了一个hystrix流,因此我可以使用Hystrix仪表板检查另一个应用程序中的指标。
我已经使用Turbine创建了一个应用程序,将我的两个应用程序流与同一个集群(CLUSTER_NAME)聚合到hystrix仪表板中。
注意:我现在甚至不需要拥有群集,我只想在Hystrix仪表板中使用这两个应用程序
这是我的application.yml
:
turbine:
aggregator:
clusterConfig: CLUSTER_NAME
appConfig: appservice1,appservice2
instanceUrlSuffix.CLUSTER_NAME: /hystrix.stream
这里的问题是因为我的两个应用程序都有一个特定的server.contextPath
,因此涡轮机无法找到应用程序/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
分别插入仪表板。