Турбинная приборная панель не загружается для агрегирования в Spring Cloud Microservice
Я пытаюсь разработать облачную микросервисную службу spring, используя spring MVC и spring загрузочную инфраструктуру. И сервер Eureka, Zuul, Ribbon, hystrix и Turbine, использующие для облака spring. Я уже разработал микросервис и реализовал только панель управления hystrix. Я могу взять панель приборной панели hystrix. Теперь я внедряю больше сервисов. Поэтому я выбрал турбину для агрегирования мониторинга. Но он не получает панель инструментов. Я реализовал турбину в отдельном проекте загрузки spring.
Мой 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>
И мой основной класс, содержащий
@SpringBootApplication
@EnableHystrixDashboard
@EnableCircuitBreaker
@EnableTurbine
public class ZTurbineClientApplication {
public static void main(String[] args) {
SpringApplication.run(ZTurbineClientApplication.class, args);
}
}
И файл моей программы Turbine project.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". И вставил " http://localhost:8085/turbine.stream?cluster=APPCLUSTER". Но возникает ошибка типа "Невозможно подключиться к командному метрическому потоку". Добавление скриншотов ниже.
![введите описание изображения здесь]()
![введите описание изображения здесь]()
Ответы
Ответ 1
Вам нужно удалить место из имен служб, разделенных запятой
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
Используйте http://{turbine host}: {турбинный порт}/turbine.stream?cluster=APPCLUSTER в панели инструментов Hystrix