背景:基于pringcloud(六)继续
springcloud集成Turbine
1.创建工程spring-cloud-turbine,pom.xml文件依赖如下
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zsx</groupId>
<artifactId>spring-cloud-turbine</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-cloud-turbine</name>
<description>Spring Cloud Turbine project</description>
<parent>
<groupId>com.zsx</groupId>
<artifactId>spring-cloud-customize-dependencies</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../spring-cloud-customize-dependencies/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.zsx.TurbineApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
2. application.yml配置文件
spring:
application.name: spring-cloud-turbine
server:
port: 8086
turbine:
aggregator:
# 指定聚合哪些集群,多个使用","分割,默认为default。可使用http://.../turbine.stream?cluster={clusterConfig之一}访问
clusterConfig: default
# 配置Eureka中的serviceId列表,表明监控哪些服务
appConfig: spring-cloud-feign,spring-cloud-ribbon
# 1. clusterNameExpression指定集群名称,默认表达式appName;此时:turbine.aggregator.clusterConfig需要配置想要监控的应用名称
# 2. 当clusterNameExpression: default时,turbine.aggregator.clusterConfig可以不写,因为默认就是default
# 3. 当clusterNameExpression: metadata['cluster']时,
# 假设想要监控的应用配置了eureka.instance.metadata-map.cluster: ABC,则需要配置,同时turbine.aggregator.clusterConfig: ABC
clusterNameExpression: new String("default")
# 此处根据management.context-path=/xxx进行设置instanceUrlSuffix: /xxx/hystrix.stream
instanceUrlSuffix: hystrix.stream
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8081/eureka/
3. 引导类TurbineApplication
package com.zsx;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;
@SpringBootApplication
@EnableTurbine
@EnableHystrixDashboard
public class TurbineApplication {
public static void main(String[] args) {
SpringApplication.run(TurbineApplication.class, args);
}
}
4. 依次启动 启动注册中心,服务提供者、Ribbon消费者、Feign消费者
5.查看请求http://localhost:8086/turbine.stream
6. 查看请求http://localhost:8086/hystrix,并添加http://localhost:8086/turbine.stream 到仪表盘监控
7. 查看仪表盘监控状态
到此集成turbine结束