2016-06-07 3 views
1

Перед работой на приборной панели турбины я столкнулся с проблемой. Поскольку я могу получить поток турбины для данного кластера, но не способен видеть что-либо на панели управления, поскольку он просто загружается, как показано ниже в скриншотах. Пожалуйста, помогите, если какая-либо конфигурация отсутствует.Панель приборов с пружинной турбиной не работает

Ниже приведены мои конфигурации:

config.properties

turbine.aggregator.clusterConfig=SpringHystrixDemo2 
    turbine.instanceUrlSuffix=:9080/hystrix.stream 
    turbine.EurekaInstanceDiscovery.hystrix2.instances=localhost 
    InstanceDiscovery.impl=com.netflix.turbine.discovery.EurekaInstanceDiscovery.class 
    turbine.InstanceMonitor.eventStream.skipLineLogic.enabled=false 

Application.yml

server: 
    port: 8080 

    turbine: 
    aggregator: 
    clusterConfig: SPRINGHYSTRIXDEMO2 
    clusterNameExpression: new String("default") 
    appConfig: SpringHystrixDemo2 

    InstanceMonitor: 
    eventStream: 
    skipLineLogic: 
    enabled: false 

bootstrap.yml

spring: 
    application: 
    name: SpringTurbine 
    cloud: 
    config: 
    discovery: 
    enabled: true 

    eureka: 
    instance: 
    nonSecurePort: ${server.port:8080} 
    client: 
    serviceUrl: 
    defaultZone: http://${eureka.host:localhost}:${eureka.port:8761}/eureka/ 

Application.java

@SpringBootApplication 
    @EnableHystrix 
    @EnableEurekaClient 
    @EnableHystrixDashboard 
    @EnableTurbine 
    public class DemoApplication { 

    public static void main(String[] args) { 
    SpringApplication.run(DemoApplication.class, args); 
    } 
    } 

Для кластера SpringHystrixDemo2 я настроил его в другое приложение работает на другом порту:

application.yml -

server: 
    port: 9080 

    hystrix: 
    command: 
    RemoteMessageClientCommand: 
    execution: 
    isolation: 
    thread: 
    timeoutInMilliseconds: 5000 
    RemoteMessageAnnotationClient: 
    execution: 
    isolation: 
    thread: 
    timeoutInMilliseconds: 5000 

bootstrap.yml

spring: 
    application: 
    name: SpringHystrixDemo2 
    cloud: 
    config: 
    enabled: true 
    discovery: 
    enabled: true 
    serviceId: SPRINGCONFIGSERVER 

    eureka: 
    instance: 
    nonSecurePort: ${server.port:9080} 
    client: 
    serviceUrl: 
    defaultZone: http://${eureka.host:localhost}:${eureka.port:8761}/eureka/ 

Application.java - это от службы приборной панели hystrix.

@SpringBootApplication 
    @EnableHystrix 
    @EnableHystrixDashboard 
    @EnableEurekaClient 
    @EnableDiscoveryClient 
    public class DemoApplication { 

    public static void main(String[] args) { 
    SpringApplication.run(DemoApplication.class, args); 
    } 
    } 

У меня настроен сервер eureka на порту 8761. который lisening все остальные эврика client.as

Eureka server

Это, как я не в состоянии видеть любой турбины приборной панели. поскольку он просто загружается. turbine stream view

ответ

0

Первое, что приходит в голову, что вы могли бы объявить конечную точку управления, как это:

management: 
    port: 9081 
    contextPath: /management 

Затем поток турбины будет подъезд через {YOURHOST}: 9081/менеджмент/турбины. поток, а Hystrix панель будет подан под {YOURHOST}: 9080/Hystrix

0

из того, что я прочитал и известно, от конфигурации

turbine.aggregator.clusterConfig=SpringHystrixDemo2 
turbine.instanceUrlSuffix=:9080/hystrix.stream 
turbine.EurekaInstanceDiscovery.hystrix2.instances=localhost InstanceDiscovery.impl=com.netflix.turbine.discovery.EurekaInstanceDiscovery.class 
turbine.InstanceMonitor.eventStream.skipLineLogic.enabled=false 

следующие, возможно, проблемы.

У вас недостаточно нескольких конфигураций, и, возможно, у вас также есть дополнительные конфиги.

  1. Вам не нужна «турбина.EurekaInstanceDiscovery.hystrix2.instances», если у вас действительно нет нескольких экземпляров.
  2. Вам не нужно «turbine.InstanceMonitor.eventStream.skipLineLogic.enabled», потому что его значение false по умолчанию и оно требуется, если вы хотите, чтобы оно было истинным, когда у вас высокая латентность.
  3. Вам нужно «turbine.appConfig =». В вашем случае я думаю, что это что-то вроде SpringHystrixDemo2 или, может быть, hystrix2 ... используйте здесь собственное имя.
  4. вам нужно «turbine.aggregator.clusterConfig =», который работал для меня только тогда, когда я использовал в CAPITAL т.е. HYSTRIX2
  5. , если вы используете другой порт управления на службу, «turbine.instanceUrlSuffix.HYSTRIX2 =:/Hystrix. поток
  6. этого «turbine.instanceInsertPort = ложь» отключает вставку порта по умолчанию турбины .. в основном, вы говорите эврика не вставлять любой порт сам по себе при попытке поиска hystrix.strem ..

следующие мои объекты.

#turbine.clusterNameExpression=new String('default') 
#turbine.clusterNameExpression="'default'" 
turbine.instanceInsertPort=false 
turbine.appConfig=service1 
turbine.aggregator.clusterConfig=SERVICE1 
turbine.instanceUrlSuffix.SERVICE1=:51512/hystrix.stream 
#turbine.ConfigPropertyBasedDiscovery.USER.instances=service1-host1.abc.com,service1-host2.abc.com 
InstanceDiscovery.impl=com.netflix.turbine.discovery.EurekaInstanceDiscovery.class 
#for high latencies 
#turbine.InstanceMonitor.eventStream.skipLineLogic.enabled=false 

и попробовать поток турбины на

http://host:port/turbine.stream?cluster=SERVICE1 
Смежные вопросы