• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
爱吃雪糕的小布丁
帮助3

一、服务监控 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分钟内流量的相对变化,可以通过它来观察到流量的上升和下降趋势。
        学新通
      • 整图说明
        学新通
    • 搞懂一个才能看懂复杂的
      学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfejaeg
系列文章
更多 icon
同类精品
更多 icon
继续加载