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,可以得到

原文地址:https://www.cnblogs.com/yhood/p/11573980.html

时间: 2024-10-09 12:57:19

spring boot 使用Hystrix-dashboard 监控Feign的单个应用的相关文章

Spring Boot Admin 集成自定义监控告警

Spring Boot Admin 集成自定义监控告警 前言 Spring Boot Admin 是一个社区项目,可以用来监控和管理 Spring Boot 应用并且提供 UI,详细可以参考 官方文档. Spring Boot Admin 本身提供监控告警功能,但是默认只提供了 Hipchat.Slack 等国外流行的通讯软件的集成,虽然也有邮件通知,不过考虑到使用体检决定二次开发增加 钉钉 通知. 本文基于 Spring Boot Admin 目前最新版 1.5.7. 准备工作 Spring

【Spring Boot】利用 Spring Boot Admin 进行项目监控管理

利用 Spring Boot Admin 进行项目监控管理 一.Spring Boot Admin 是什么 Spring Boot Admin (SBA) 是一个社区开源项目,用于管理和监视 Spring Boot 应用程序.应用程序通过 http 的方式注册到 Spring Boot 管理客户端,或者通过 Spring Cloud 的服务发现机制,然后针对 actuator 接口将数据通过 Vue.js 进行可视化管理. 对于我们来说,我们可以通过 Spring Boot Admin 浏览所有

Spring Boot使用Druid和监控配置

Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource Druid是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能. 下面来说明如何在 Spring Boot 中配置使用Druid (1)添加Maven依赖 (或jar包)\ <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId&g

Spring Boot整合actuator实现监控管理

Spring Boot使用actuator监控管理 1.在pom文件中导入相关的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> 2.直接启动Spring Boot项目,可以看到控制台中打印如下信息 注意:Spring Boot2.

SpringBoot:spring boot使用Druid和监控配置

Druid是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能. Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource 业界把 Druid 和 HikariCP 做对比后,虽说 HikariCP 的性能比 Druid 高,但是因为 Druid 包括很多维度的统计和分析功能,所以这也是大家都选择使用它的原因. 下面来说明如何在 spring Boot 中配置使用Druid 整体步骤: (1)    ——   Druid简

使用Swagger生成Spring Boot REST客户端(支持Feign)(待实践)

如果项目上使用了Swagger做RESTful的文档,那么也可以通过Swagger提供的代码生成器生成客户端代码,同时支持Feign客户端. 但是经过测试,生成Feign代码和REST客户端有些臃肿. 官方网站:https://github.com/swagger-api/swagger-codegen 参考: https://stackoverflow.com/questions/46019180/how-to-generate-spring-cloud-feign-client-using-

spring boot 2.0.3+spring cloud (Finchley)熔断器Hystrix

在分布式系统中服务与服务之间的依赖错综复杂,一种不可避免的情况就是某些服务会出现故障,导致依赖于他们的其他服务出现远程调度的线程阻塞.某个服务的单个点的请求故障会导致用户的请求处于阻塞状态,最终的结果是整个服务的线程资源消耗殆尽.由于服务的依赖性,会导致依赖于该故障服务的其他服务也处于线程阻塞状态,最终导致这些服务的线程资源消耗殆尽,知道不可用,从而导致整个服务系统不可用,即雪崩效应.为了防止雪崩效应,产生了熔断器模型. Hystrix是Netflix公司开源的一个项目,提供了熔断器功能,能阻止

Spring Cloud 学习 (四) Hystrix &amp; Hystrix Dashboard &amp; Turbine

在复杂的分布式系统中,可能有几十个服务相互依赖,这些服务由于某些原因,例如机房的不可靠性.网络服务商的不可靠性等,导致某个服务不可用 . 如果系统不隔离该不可用的服务,可能会导致整个系统不可用.Hystrix 提供了熔断器功能,能够阻止分布式系统中出现联动故障.Hystrix 是通过隔离服务的访问点阻止联动故障的,并提供了故障的解决方案,从而提高了整个分布式系统的弹性. 使用 Hystrix 在 Ribbon 使用 Hystrix 添加依赖包 <dependency> <groupId&

Spring Cloud第十三篇 | Spring Boot Admin服务监控

本文是Spring Cloud专栏的第十三篇文章,了解前十二篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Cloud第二篇 | 使用并认识Eureka注册中心 Spring Cloud第三篇 | 搭建高可用Eureka注册中心 Spring Cloud第四篇 | 客户端负载均衡Ribbon Spring Cloud第五篇 | 服务熔断Hystrix Spring Cloud第六篇 | Hystrix仪表盘监控