SpringCloud —— HystrixDashboard 服务监控

前文

SpringCloud 简介

SpringCloud 版本选型

SpringCloud 工程构建

SpringCloud —— Eureka 注册中心

SpringCloud —— Eureka 集群

SpringCloud —— 服务注册进 Eureka 集群

SpringCloud —— Eureka 自我保护

SpringCloud —— SpringCloud Consul 实现服务注册中心

SpringCloud —— 三个注册中心的异同点

SpringCloud —— Ribbon

SpringCloud —— Ribbon 负载均衡算法

SpringCloud —— OpenFeign

SpringCloud —— Hystrix 简介

SpringCloud —— Hystrix 断路器

服务监控 HystrixDashboard

概述

    除了隔离依赖服务的调用外,Hystrix 还提供了 准实时的调用监控(Hystrix Dashboard),Hystrix 会持续地记录所有通过 Hystrix 发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等。Netflix 通过 hystrix-metrics-event-stream 项目实现了对以上指标的监控。SpringCloud 也提供了 Hystrix Dashboard 的整合,对监控内容转化成可视化界面

新建 Module

在这里插入图片描述

添加依赖

<dependencies>
  <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

编写 application.yml 文件

server:
  port: 9001

编写启动类

package com.java.springcloud;

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

/**
 * @author Woo_home
 * @create 2020/3/28 21:01
 */

@SpringBootApplication
@EnableHystrixDashboard
public class DashBoardHystrix {
    public static void main(String[] args){
        SpringApplication.run(DashBoardHystrix.class,args);
    }
}

所有 Provider 微服务提供类都需要监控依赖配置

需要监控的服务必须要有以下的依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

启动服务

在这里插入图片描述

测试访问

访问 http://localhost:9001/hystrix 即可进入以下界面
在这里插入图片描述

9001 监控 8001

启动三个微服务,7001 是 EurekaServer 端,8001 是提供者服务,9001 是 Dashboard 监控
在这里插入图片描述

测试访问

访问 EurekaServer OK
在这里插入图片描述
先测试 8001 能正常访问
在这里插入图片描述
错误的也能正常访问
在这里插入图片描述

监控服务

上述测试 OK 之后,在 Hystrix Dashboard 界面输入以下内容,点击监控按钮

在这里插入图片描述
未进行测试 8001 前的 HystrixDashboard,circuit 默认是开启的状态
在这里插入图片描述
访问正确的 http://localhost:8001/payment/circuit/1 后的 HystrixDashboard 监控信息,circuit 是关闭的状态
在这里插入图片描述
访问错误的 http://localhost:8001/payment/circuit/-1 后的 HystrixDashboard 监控信息,circuit 是开启的状态

在这里插入图片描述

实心圆:共有两种含义,它通过颜色的变化代表了实例的健康程度

它的健康度从 绿色 < 黄色 < 橙色 < 红色递减

该实心圆除了颜色的变化之外,它的大小也会根据实例的请求流量发生变化,流量越大该实心圆就越大。所以通过该实心圆的展示,就可以在大量的实例中快速发现 故障实例和高压力实例


曲线:用来记录 2 分钟内流量的相对变化,可以通过它来观察到流量的上升和下降趋势

完整代码已上传至码云,感兴趣的朋友可以下载测试下 代码地址

发布了227 篇原创文章 · 获赞 1032 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/Woo_home/article/details/105168348
今日推荐