Turbine 仪表板未在 Spring 云微服务中加载聚合
Turbine Dashboard Is not Loading for Aggregation in Spring Cloud Microservice
我正在尝试使用 spring MVC 和 spring 引导框架开发 spring 云微服务。以及用于 spring 云的 Eureka 服务器、Zuul、Ribbon、hystrix 和 Turbine。我已经开发了一个微服务并且只实现了 hystrix 仪表板。我能够使用 hystrix 仪表板。现在我正在实施更多服务。所以我选择了turbine来做监控的聚合。但它没有在单独的 spring 引导项目中获得 dashboard.I 实现的涡轮机。
我的pom.xml包含,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
我的主要 class 包含,
@SpringBootApplication
@EnableHystrixDashboard
@EnableCircuitBreaker
@EnableTurbine
public class ZTurbineClientApplication {
public static void main(String[] args) {
SpringApplication.run(ZTurbineClientApplication.class, args);
}
}
我的 Turbine 项目 application.properties 文件包含,
server.port=8085
spring.application.name=espace-Turbine
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
turbine:
aggregator:
clusterConfig: APPCLUSTER
app-config: espaceService1,espaceService2
instanceUrlSuffix.APPCLUSTER: /hystrix.stream
还有我之前的第一个服务的 application.properties 文件,例如
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=espaceService1
server.port=8080
eureka:
instance:
prefer-ip-address: true
leaseRenewalIntervalInSeconds: 3
leaseExpirationDurationInSeconds: 3
metadata-map:
cluster: APPCLUSTER
第二个服务的应用程序 属性 文件包含,
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=espaceService2
server.port=8081
eureka:
instance:
prefer-ip-address: true
leaseRenewalIntervalInSeconds: 3
leaseExpirationDurationInSeconds: 3
metadata-map:
cluster: APPCLUSTER
这些是我的实施细节。
之后我拿了URL“http://localhost:8085/hystrix.dashboard". And pasted "http://localhost:8085/turbine.stream?cluster=APPCLUSTER”。但是出现 "Unable to connect to Command Metric Stream" 这样的错误。在下面添加屏幕截图。
您需要从逗号分隔的服务名称中删除 space
turbine.aggregator.cluster-config=espace-Second_Microservice,espaceFirst_Microservice
您不能聚合来自不同集群名称的流,要么在 espace-Second_Microservice 和 espace-First_Microservice 中使用一个集群名称,要么根本不使用集群。
To define one cluster name use below config
eureka:
instance:
prefer-ip-address: true
leaseRenewalIntervalInSeconds: 3
leaseExpirationDurationInSeconds: 3
metadata-map:
cluster: APPCLUSTER
使用下面提到的涡轮机配置
turbine:
aggregator:
clusterConfig: APPCLUSTER
app-config: espace-Second_Microservice,espace-First_Microservice
instanceUrlSuffix.APPCLUSTER: /hystrix.stream
在 Hystrix 仪表板中使用 http://{turbine host}:{turbine Port}/turbine.stream?cluster=APPCLUSTER
我正在尝试使用 spring MVC 和 spring 引导框架开发 spring 云微服务。以及用于 spring 云的 Eureka 服务器、Zuul、Ribbon、hystrix 和 Turbine。我已经开发了一个微服务并且只实现了 hystrix 仪表板。我能够使用 hystrix 仪表板。现在我正在实施更多服务。所以我选择了turbine来做监控的聚合。但它没有在单独的 spring 引导项目中获得 dashboard.I 实现的涡轮机。
我的pom.xml包含,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
我的主要 class 包含,
@SpringBootApplication
@EnableHystrixDashboard
@EnableCircuitBreaker
@EnableTurbine
public class ZTurbineClientApplication {
public static void main(String[] args) {
SpringApplication.run(ZTurbineClientApplication.class, args);
}
}
我的 Turbine 项目 application.properties 文件包含,
server.port=8085
spring.application.name=espace-Turbine
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
turbine:
aggregator:
clusterConfig: APPCLUSTER
app-config: espaceService1,espaceService2
instanceUrlSuffix.APPCLUSTER: /hystrix.stream
还有我之前的第一个服务的 application.properties 文件,例如
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=espaceService1
server.port=8080
eureka:
instance:
prefer-ip-address: true
leaseRenewalIntervalInSeconds: 3
leaseExpirationDurationInSeconds: 3
metadata-map:
cluster: APPCLUSTER
第二个服务的应用程序 属性 文件包含,
eureka.client.serviceUrl.defaultZone=http://localhost:8071/eureka/
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
spring.application.name=espaceService2
server.port=8081
eureka:
instance:
prefer-ip-address: true
leaseRenewalIntervalInSeconds: 3
leaseExpirationDurationInSeconds: 3
metadata-map:
cluster: APPCLUSTER
这些是我的实施细节。
之后我拿了URL“http://localhost:8085/hystrix.dashboard". And pasted "http://localhost:8085/turbine.stream?cluster=APPCLUSTER”。但是出现 "Unable to connect to Command Metric Stream" 这样的错误。在下面添加屏幕截图。
您需要从逗号分隔的服务名称中删除 space
turbine.aggregator.cluster-config=espace-Second_Microservice,espaceFirst_Microservice
您不能聚合来自不同集群名称的流,要么在 espace-Second_Microservice 和 espace-First_Microservice 中使用一个集群名称,要么根本不使用集群。
To define one cluster name use below config
eureka:
instance:
prefer-ip-address: true
leaseRenewalIntervalInSeconds: 3
leaseExpirationDurationInSeconds: 3
metadata-map:
cluster: APPCLUSTER
使用下面提到的涡轮机配置
turbine:
aggregator:
clusterConfig: APPCLUSTER
app-config: espace-Second_Microservice,espace-First_Microservice
instanceUrlSuffix.APPCLUSTER: /hystrix.stream
在 Hystrix 仪表板中使用 http://{turbine host}:{turbine Port}/turbine.stream?cluster=APPCLUSTER