SpringCloud-Netflix学习笔记12——Hystrix-Dashboard实现服务监控

一、服务监控 hystrixDashboard

  除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求,多少成功,多少失败等等。

  Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控,SpringCloud也提供了Hystrix-Dashboard的整合,对监控内容转化成可视化界面!

在这里插入图片描述

二、新建工程springcloud-consumer-hystrix-dashboard-9001

1、Pom.xml

复制之前80项目的pom文件,新增以下依赖!

        <!--hystrix-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.4.7.RELEASE</version>
        </dependency>
        <!--hystrix监控依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
            <version>1.4.7.RELEASE</version>
        </dependency>
2、application.yml

配置端口号和流映射:

server:
  port: 9001

hystrix:
  dashboard:
    proxy-stream-allow-list: "localhost"
3、主启动类DeptConsumerDashboard_9001

添加注解 @EnableHystrixDashboard ,开启监控页面:

@SpringBootApplication
@EnableHystrixDashboard //开启监控(保证服务提供者要有监控信息的依赖,即actuator)
public class DeptConsumerDashboard_9001 {
    public static void main(String[] args) {
        SpringApplication.run(DeptConsumerDashboard_9001.class, args);
    }
}
4、所有的Provider微服务提供类(8001/8002/8003) 都需要监控依赖配置
        <!--完善监控信息,即Status那个页面的信息-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
5、启动springcloud-consumer-hystrix-dashboard-9001该微服务监控消费端

http://localhost:9001/hystrix

在这里插入图片描述

三、测试一

  1. 启动eureka集群
  2. 启动springcloud-consumer-hystrix-dashboard-9001
  3. 在 springcloud-provider-dept-hystrix-8001 启动类中增加一个bean
    //增加一个Servlet,用来配合Hystrix Dashboard监控该服务
    @Bean
    public ServletRegistrationBean hystrixMetricsStreamServlet(){
        ServletRegistrationBean registrationBean = new ServletRegistrationBean(new HystrixMetricsStreamServlet());
        registrationBean.addUrlMappings("/actuator/hystrix.stream");
        return registrationBean;
    }

4.启动 springcloud-provider-dept-hystrix-8001

  1. http://localhost:8001/dept/queryDeptById/1
  2. http://localhost:8001/actuator/hystrix.stream 【查看1秒一动的数据流】
监控测试
  • 多次刷新 http://localhost:8001/dept/queryDeptById/1
  • 观察监控窗口,就是那个豪猪页面
    • 添加监控地址
      在这里插入图片描述Delay : 该参数用来控制服务器上轮询监控信息的延迟时间,默认为2000毫秒,可以通过配置该属性来降低客户端的网络和CPU消耗。
      Title : 该参数对应了头部标题HystrixStream之后的内容,默认会使用具体监控实例URL,可以通过配置该信息来展示更合适的标题。

    • 监控结果
      在这里插入图片描述

    • 如何看

      • 7色
        在这里插入图片描述
      • 一圈
        实心圆:公有两种含义,他通过颜色的变化代表了实例的健康程度
        它的健康程度从绿色<黄色<橙色<红色 递减。
        该实心圆除了颜色的变化之外,它的大小也会根据实例的请求流量发生变化,流量越大,该实心圆就越大,所以通过该实心圆的展示,就可以在大量的实例中快速发现故障实例和高压力实例。
        在这里插入图片描述
      • 一线
        曲线:用来记录2分钟内流量的相对变化,可以通过它来观察到流量的上升和下降趋势。
        在这里插入图片描述
      • 整图说明
        在这里插入图片描述
    • 搞懂一个才能看懂复杂的
      在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃雪糕的小布丁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值