Spirng Cloud Hystrix DashBoard 单机版

概述

这篇文章主要介绍的是Hystrix DashBoard的单机版

新建项目

这里可以访问我的项目[项目地址](https://github.com/wuxiaobocom/springCloud.git)

引入pom文件

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.17.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<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>Edgware.SR5</spring-cloud.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<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>

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

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

在启动类上加上注解

package com.bobo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

//开启HystrixDashBoard
@EnableHystrixDashboard
@SpringBootApplication
public class HystrixDashboardApplication {

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

修改消费者

在消费者中加入pom文件
		 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

启动项目

分别是一个eureka server,两个client端和一个comsume端,同时还要启动Hystrix dashboard.

访问Hystrix daashborad

Spirng Cloud Hystrix DashBoard 单机版

这是Hystrix Dashboard的监控首页,该页面中并没有具体的监控信息。从页面的文字内容中我们可以知道, Hystrix Dashboard
共支持三种不同的监控方式,如下所示。
	默认的集群监控:通过URL http://turbine-hostname:port/turbine.stream开启,实现对默认集群的监控。
	指定的集群监控:通过URL http://turbine-hostname:port/turbine.stream?cluster=[clusterName]开启,实现对clusterName集群
		的监控。
	单体应用的监控:通过URL http://hystrix-app:port/hystrix.stream开启,实现对具体某个服务实例的监控。
在输入框中输入consumer的地址

Spirng Cloud Hystrix DashBoard 单机版

得到的结果是这样的。这样就开启了一个监控。

页面介绍

	实心圆:其有两种含义。通过颜色的变化代表了实例的健康程度,如下图所示它的健康度从绿色、黄色、橙色、红色递减。
	该实心圆除了颜色的变化之外,它的大小也会根据实例的请求流量发生变化,流量越大该实心圆就越大。所以通过该实心圆
	的展示,我们可以在大量的实例中快速发现故障实例和高压力实例。
	曲线:用来记录2分钟内流量的相对变化,可以用过它来观察流量的上升和下降。

Spirng Cloud Hystrix DashBoard 单机版

备注

忘记介绍了Hystrix dashbard 页面上的两个参数
	Delay:控制服务器上轮询监控信息的延迟时间,默认是2000毫秒,可以通过配置该属性
	来降低客户端的网络和CPU消耗。
	Title:对应了头部标题Hystrix Stream之后的内容。