Turbine實現多服務或集羣的數據監控

  1. Turbine是聚合服務器發送事件流數據的一個工具,hystrix的監控中,只能監控單個服務或單個節點,實際生產中都爲多服務集羣,因此可以通過turbine來監控多集羣服務。
    Turbine在Hystrix Dashboard中的作用如下:
    在這裏插入圖片描述
  2. 添加依賴
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
</dependency>
  1. 添加配置
turbine:
  # 配置Eureka中的serviceId列表,標記監控哪些服務,多個服務名用逗號分隔,可以配置監控的服務,必須開啓了Hystrix Dashboard
  app-config: EUREKA-CLIENT-CONSUMER
  # 指定聚合哪些集羣,多個使用","分割,default代表默認集羣。集羣就是服務名稱。需要配置clusterNameExpression使用
  cluster-name-expression: "default"

spring:
  application:
    name: turbine
server:
  port: 8080
eureka:
  client:
    service-url:
      defaultZone: http://admin:[email protected]:8761/eureka/
  1. 編寫啓動類
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.turbine.EnableTurbine;

@SpringBootApplication
@EnableTurbine
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  1. 最後再Hystrix Dashboard視圖監控服務中,使用http://ip:port/turbine.stream作爲監控數據來源,提供可視化監控界面。

注意:使用Turbine做多服務監控的時候,要求全局配置文件中配置的服務列表命名在Eureka註冊中心中可見。就是先啓動Application client再啓動Turbine

在spring cloud中,服務名相同的多服務結點會自動形成集羣,並提供服務。在Turbine中,監控服務集羣不需要提供任何的特殊配置,因爲turbine.appConfig已經配置了要監控的服務名稱。集羣監控數據會自動收集。
在Hystrix Dashboard的可視化監控界面中,hosts信息會顯示出服務集羣中的節點數量。
注意:使用Turbine做服務集羣監控的時候,必須先啓動application client集羣,再啓動Turbine。保證Turbine啓動的時候,可以在eureka註冊中心中發現要監控的服務集羣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章