spring boot 使用Hystrix-dashboard 监控Feign的单个应用

Posted yhood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot 使用Hystrix-dashboard 监控Feign的单个应用相关的知识,希望对你有一定的参考价值。

上一篇,使用了Feign的熔断器Hystrix,去对Consumer进行了改造,使其拥有了对服务异常的处理能力。

接下来要做对服务的访问情况进行监控

Hystrix-dashboard 熔断监控,在实际集群中同服务的节点有许多个,这里仅作单个服务节点的监控,集群中的监控会在下一篇有讲

对消费者Consumer进行改造

 pom.xml 新增3个依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>

        <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>

启动类

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@EnableHystrixDashboard
@EnableCircuitBreaker
public class ApplicationStart 

    @Bean
    @LoadBalanced
    RestTemplate restTemplate()
        return new RestTemplate();
    

    @Bean
    public ServletRegistrationBean getServlet()
        HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();    //监控实例
        ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);    //servlet注册接口
        registrationBean.setLoadOnStartup(1);
        registrationBean.addUrlMappings("/actuator/hystrix.stream");   //路径
        registrationBean.setName("HystrixMetricsStreamServlet");
        return registrationBean;
    

    public static void main(String[] args) 
        SpringApplication.run(ApplicationStart.class);
    

1.新增注解

@EnableHystrixDashboard      开启熔断监控
@EnableCircuitBreaker     开启断路器

2.注册servlet,实例化HystrixMetricsStreamServlet(较新版本需要添加,低版本略过)

启动Consumer,访问http://localhost:8051/hystrix    (8051是我这边在application配置文件中设置的端口)

技术图片

 

 看到这种界面,说明启动成功了,这里有3个提示

查看默认集群:http://turbine-hostname:port/turbine.stream

查看指定集群:http://turbine-hostname:port/turbine.stream?cluster=[clusterName]

查看本应用:http://hystrix-app:port/actuator/hystrix.stream

现在只查看本应用的访问情况,在输出框内输入:http://localhost:8051/actuator/hystrix.stream ,点击monitor stream

技术图片

 

 如果显示loading,访问一下应用地址,我这边是:http://localhost:8051/message/remote/hello/   之后再回去看就有了

如果想单独将监控数据拿出来,自己做预警,如邮件通知,短信通知,可以直接调用接口http://localhost:8051/actuator/hystrix.stream,可以得到

技术图片

 

以上是关于spring boot 使用Hystrix-dashboard 监控Feign的单个应用的主要内容,如果未能解决你的问题,请参考以下文章

spring boot 2.0之使用spring boot

spring boot8.spring boot的日志框架使用

(转)Spring Boot 2 :使用 Docker 部署 Spring Boot

Spring boot- Spring Boot特性2

Spring Boot(十七):使用 Spring Boot 上传文件

spring boot:Spring Boot中Redis的使用