1、新建項目
microservicecloud-consumer-hystrix-dashboard
2、yml文件
server:
port: 9001
3、在pom.xml文件增加如下內容
<dependencies> <!-- 自己定義的api --> <dependency> <groupId>com.yufeng.springcloud</groupId> <artifactId>microservicecloud-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 修改后立即生效,熱部署 --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> <!-- Ribbon相關 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!-- feign相關 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> <!-- hystrix和 hystrix-dashboard相關 --> <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> </dependencies>
4、主啟動類添加EnableHystrixDashboard
@ EnableHystrixDashboard開啟儀表盤監控注解
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard; @SpringBootApplication @EnableHystrixDashboard public class DeptConsumer_DashBoard_App { public static void main(String[] args) { SpringApplication.run(DeptConsumer_DashBoard_App .class, args); } }
5、微服務提供者添加監控jar
例如:微服務提供者 microservicecloud-provider-dept-8001/8002/8003
pom.xml文件添加以下jar包,才能被dashboard監控
<!-- actuator監控信息完善 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
6、測試
(1)啟動3個 eureka 服務;
(2)啟動新建的監控服務:microservicecloud-consumer-hystrix-dashboard
(3)瀏覽器中訪問:http://localhost:9001/hystrix,若顯示如下圖所示,則表示微服務監控服務正常啟動;
(3)啟動被監控的帶Hystrix的微服務: microservicecloud-provider-dept-hystrix-8001
<1> 在瀏覽器中打開:http://localhost:8001/hystrix.stream (即:http://{hystrix-app}:{port}/hystrix.stream)
<2> 在9001的監控界面輸入要監控的微服務(http://localhost:8001/hystrix.stream),如下所示:
顯示以下監控內容:
(a)Deplay 該參數用來控制服務器上輪詢監控信息的延遲時間,默認是2000毫秒,可以通過配置該屬性來降低客戶端的網絡和cpu消耗。
(b)Title該參數對應了頭部標題Hystrix Stream之后的內容,默認會使用哦具體監控實例的URL,可疑通過配置該信息來展示更合適的標題。
<4> 在瀏覽器中輸入:http://localhost:8001/dept/get/1,並多次刷新,顯示如下:
實心圓:共有兩種含義。它通過顏色的變化代表了實例的健康程度,它的健康程度從 綠色 > 黃色 > 橙色 > 紅色 遞減;
該實心圓除了顏色的變化之外,它的大小也會根據實例的請求流量發生變化,流量越大實心圓就越大,所以通過該實心圓的展示,就可以在大量實例中快速的發現故障實例和高壓力實例。
<5> 說明