Spring Cloud 2-Hystrix DashBoard仪表盘(五)

Spring Cloud  Hystrix DashBoard

  • 1.监控系统配置

    • pom.xml
    • application.yml
    • Application.java
  • 2.被监控服务配置
    • pom.xml
    • application.yml
  • 3.集群监控配置
    • pom.xml
    • application.xml
    • Application.java

Hystrix DashBoard 监控仪表盘用来监测请求访问量

1.监控系统配置

pom.xml

<!-- dashboard 客户端 -->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>

application.yml

spring:
  application:
    name: hystrix-dashboard
server:
  port: 8010

Application.java

@EnableHystrixDashboard
@SpringBootApplication
public class HystrixDashboardApplication {

 public static void main(String[] args) {
  SpringApplication.run(HystrixDashboardApplication.class, args);
 }

}

@EnableHystrixDashboard 开启仪表盘功能

访问: http://localhost:8010/hystrix

仪表盘

2.被监控服务配置

pom.xml

<!-- 系统健康监控工具 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

每个需要被监控的项目都要加,且是使用熔断机制的项目

application.yml

spring:
  application:
    name: hystrix-client

server:
  port: 8091

feign:
  hystrix:
    enabled: true

management:
  endpoints:
    web:
      exposure:
        include: "*" # 暴露endpoints节点 2.x版本需要手动开启

management.endpoints 管理端点, 2.x版本需要手动开启

监控页面输入: http://localhost:8091/actuator/hystrix.stream

仪表盘

访问被监听的服务可以看到

监控页面

或者被监控的项目采用如下配置

@Bean
public ServletRegistrationBean getServlet() {
 HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
 ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
 registrationBean.setLoadOnStartup(1);
 registrationBean.addUrlMappings("/hystrix.stream");
 registrationBean.setName("HystrixMetricsStreamServlet");
 return registrationBean;
}

监控页面输入: http://localhost:8091/hystrix.stream 进行监控

3.集群监控配置

创建spring-boot项目并添加依赖

pom.xml

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

application.xml

spring:
  application:
    name: turbine-client

server:
  port: 8020

turbine:
  app-config: hystrix-client
  aggregator:
    cluster-config: default
  cluster-name-expression: new String("default")
  combine-host-port: true

app-config 被监控集群的服务名称

Application.java

@EnableTurbine
@SpringBootApplication
public class TurbineClientApplication {

 public static void main(String[] args) {
  SpringApplication.run(TurbineClientApplication.class, args);
 }

}

监控页面输入: http://localhost:8020/turbine.stream

监控页面

原文地址:https://www.cnblogs.com/linyufeng/p/10204572.html

时间: 2024-10-11 09:13:29

Spring Cloud 2-Hystrix DashBoard仪表盘(五)的相关文章

Spring Cloud中Hystrix、Ribbon及Feign的熔断关系

在Spring Cloud中Hystrix.Ribbon以及Feign它们三者之间在处理微服务调用超时从而触发熔断降级的关系是什么? 我们知道在Spring Cloud微服务体系下,微服务之间的互相调用可以通过Feign进行声明式调用,在这个服务调用过程中Feign会通过Ribbon从服务注册中心获取目标微服务的服务器地址列表,之后在网络请求的过程中Ribbon就会将请求以负载均衡的方式打到微服务的不同实例上,从而实现Spring Cloud微服务架构中最为关键的功能即服务发现及客户端负载均衡调

笔记:Spring Cloud Feign Hystrix 配置

在 Spring Cloud Feign 中,除了引入了用户客户端负载均衡的 Spring Cloud Ribbon 之外,还引入了服务保护与容错的工具 Hystrix,默认情况下,Spring Cloud Feign 会为将所有 Feign客户端的方法都封装到 Hystrix 命令中进行服务保护,需要注意的是 Ribbon 的超时与 Hystrix 的超时是二个概念,需要让 Hystrix 的超时时间大于 Ribbon 的超时时间,否则 Hystrix 命令超时后,该命令直接熔断,重试机制就没

springcloud学习04- 断路器Spring Cloud Netflix Hystrix

依赖上个博客:https://www.cnblogs.com/wang-liang-blogs/p/12072423.html 1.断路器存在的原因 引用博客 https://blog.csdn.net/zhou199252/article/details/80745151 的说明 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务通常会集群部署.

(三)Spring Cloud教程——Hystrix(F版本)

参考:方志鹏的专栏 1. Hystrix简介 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务通常会集群部署.由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪.服务与服务之间的依赖性,故障会传播,会对整个微服务

(五)springcloud 断路器-Spring Cloud Netflix Hystrix

较低级别的服务中的服务故障可能导致级联故障一直到用户. 当对特定服务的调用超过circuitBreaker.requestVolumeThreshold(默认值:20个请求)且失败百分比大于circuit.rolllingStats.timeInMilliseconds定义的滚动窗口中的circuitBreaker.errorThresholdPercentage(默认值:> 50%)时(默认值:10秒) 设计原则: 防止单个服务的故障,耗尽整个系统服务的容器(比如tomcat)的线程资源,避免

spring cloud feign+hystrix

server: port: 8081 spring: application: name: spring-hy-sale feign: hystrix: enabled: true hystrix: command: HelloClient#toHello(): execution: isolation: thread: timeoutInMilliseconds: 500 circuitBreaker: requestVolumeThreshold: 3 eureka: client: ser

【微服务架构】Spring Cloud之Hystrix(三)

一.雪崩效应 在微服务架构中,由于服务和服务之间可以互相调用,一项工作的完成可能会依赖调用多个微服务模块,但由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪:再加上服务和服务之间的依赖性,瘫痪会迅速传播,给整个微服务系统造成严重的后果,这就是服务故障的“血崩”效应. 服务雪崩效应形成的阶段 1.服务提供者不可用 硬件故障.硬件损坏导致服务器主机宕机,或网络硬件

Hystrix + Hystrix Dashboard搭建(Spring Cloud 2.X)

本机IP为  192.168.1.102 一.搭建Hystrix Dashboard 1.   新建 Maven 项目  hystrix-dashboard 2. pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven

spring cloud熔断监控Hystrix Dashboard和Turbine

参考: http://blog.csdn.net/ityouknow/article/details/72625646 完整pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&qu