1


我用 Spring boot 2 尝试了涡轮 + hystrix 仪表板。但我遇到了问题,涡轮仪表板只显示:
正在加载...我有工作的 Eureka 服务器和应用程序(发送正确 的
hystrix.stream)

: ping
data: {"reportingHostsLast10Seconds":0,"name":"meta","type":"meta","timestamp":1533038381277}

我正在寻找很多问题,但我无法得到答案。

这是涡轮 pom 文件:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.netflix.archaius</groupId>
        <artifactId>archaius-core</artifactId>
        <version>0.7.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix-turbine</artifactId>
        <version>2.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
        <version>2.0.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        <version>2.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        <version>2.0.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.0.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

应用程序属性

server.port=9090
spring.application.name=turbine-dashboard
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
turbine.app-config=RANDOMNUMBERSERVICE

应用程序

@SpringBootApplication
@EnableDiscoveryClient
@EnableTurbine
@EnableHystrixDashboard
public class TurbineTestApplication {

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

1 回答 1

1

@janusz 请附上仪表板的屏幕截图以更清晰。

如果您在屏幕上看到此内容: 在此处输入图像描述

这可能意味着:

  • 您需要点击包含@HystrixCommand注释函数的端点(在您的情况下,我假设它是RANDOMNUMBERSERVICE应用程序的端点),以便为仪表板创建数据以显示。
  • 您没有正在运行的 serviceId 实例RANDOMNUMBERSERVICE
  • 检查您的集群是否配置正确:http://localhost:9090/clusters不应 [] 在您的浏览器上返回。

如果您在屏幕上看到此内容: 在此处输入图像描述

  • 检查您的集群是否配置正确:http://localhost:9090/clusters不应 [] 在您的浏览器上返回。通常,此问题是由于无法从配置的实例访问 /hystrix.steam 但您已声明您已经收到流。

我建议在您的application.properties文件中使用以下内容可以纠正这一点:

turbine.appConfig = randomnumberservice
turbine.aggregator.clusterConfig = RANDOMNUMBERSERVICE

最后,确保您为启用涡轮机的仪表板输入的 URL 指向您的仪表板所在的端口。在您的情况下,它应该是:

http://localhost:9090/turbine.stream?cluster=yourclustername

于 2018-09-05T10:46:53.577 回答