個人部落格網:www.lfuping.cn (你想要這裡多有)
Dashboard僅僅是單機服務監控實際項目基本都是叢集,是以這裡叢集監控用的是turbine。
turbine是基于Dashboard的。
一、建立turbine監控項目:springcloud-hystrix-turbine-1
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-turbine</artifactId>
</dependency>
application.yml:
server:
port: 9091
context-path: /
eureka:
instance:
hostname: eureka1 #eureka用戶端主機執行個體名稱
appname: hystrix #用戶端服務名
instance-id: springcloud-hystrix:9091 #用戶端執行個體名稱
prefer-ip-address: true #顯示IP
client:
service-url:
defaultZone: http://localhost:7001/eureka/
#叢集模式defaultZone: http://lifuping.eureka3.com:6001/eureka/,http://lifuping.eureka2.com:5001/eureka/,http://lifuping.eureka1.com:7001/eureka/ # 叢集
#單機defaultZone: http://localhost:7001/eureka
#把服務注冊到eureka注冊中心
turbine:
app-config: PROVIDER # 指定要監控的應用名稱,如果是多個服務用 , 間隔
clusterNameExpression: "'default'" #表示叢集的名字為default
spring:
application:
name: turbine
二、建立啟動類:HystrixTurbineApplication
加注解:@EnableTurbine
package com.li.spingcloud.hystrix.turbine;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;
import org.springframework.context.annotation.Bean;
import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
@EnableTurbine
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class,
HibernateJpaAutoConfiguration.class })
public class HystrixTurbineApplication {
public static void main(String[] args) {
SpringApplication.run(HystrixTurbineApplication.class, args);
}
}
三、測試:
- 先啟動eureka單機或者叢集(叢集記得修改配置);
- 在啟動服務生産者單機或者叢集;
- 然後啟動服務消費者;
- 啟動springcloud-hystrix-dashboard-1監控;
-
請求http://localhost:8080/consumer/list
傳回正常業務;
-
在浏覽器直接輸入位址http://localhost:9091/turbine.stream 這個路徑即可;
一直是ping,然後data傳回資料;
- 輸入http://localhost:9090/hystrix/ 進入儀表盤,輸入位址; http://localhost:9091/turbine.stream 看到圖形監控界面
源碼連結: https://pan.baidu.com/s/1_yWYFhxdzvzg53adfiwddQ
提取碼: mcyg
歡迎關注我的微信公衆号:平川大叔