"Hystrix dashboard circuit breaker dashboard, monitoring information"

hystrix dashboard circuit breaker dashboard

Insert picture description here

hystrix 对请求的降级和熔断,可以产生监控信息,hystrix dashboard可以实时的进行监控

  • Actuator is a service monitoring tool provided by spring boot, which provides various monitoring endpoints for monitoring information
  • management.endpoints.web.exposure.include Configuration options
  • You can specify the endpoint name to expose the monitoring endpoint
  • If you want to expose all endpoints, you can use “*”

Actuator monitoring tool

Can expose various monitoring information in the project

  • health status
  • System environment variables
  • All objects in the spring container
  • mapping access path
  • hystrix.stream (Hystrix监控数据断点)

Configuration:

  • Add actuator dependency
  • Configure monitoring breakpoints in yml

pom.xml add actuator dependency

负载均衡服务器中调用

xml dependency:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Adjust application.yml configuration and expose hystrix.stream monitoring endpoint

spring:
  application:
    name: hystrix
    
server:
  port: 3001
  
eureka:
  client:
    service-url:
      defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
      
ribbon:
  MaxAutoRetriesNextServer: 1
  MaxAutoRetries: 1
  OkToRetryOnAllOperations: true
  
hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 500

management:
  endpoints:
    web:
      exposure:
        include: hystrix.stream

Visit the actuator path to view the monitoring endpoint

http://localhost:3001/actuator
Insert picture description here


Hystrix dashboard

1-Hystrix dashboard system error monitoring

2-Rely on the actuator tool to expose monitoring data

  • Expose breakpoints: hystrix

3-Build a dashboard project

  • Add Hystrix dashboard dependency

  • @EnableHystrixDashboard


New hystrix-dashboard project

创建springboot项目

Insert picture description here

依赖

Insert picture description here


pom file

<?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"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.tedu</groupId>
    <artifactId>sp08-hystrix-dashboard</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>sp08-hystrix-dashboard</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
    </properties>

    <dependencies>
        <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-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.7.RELEASE</version>
                <configuration>
                    <mainClass>com.tedu.sp08.Sp08HystrixDashboardApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

application.yml configuration file

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

eureka:
  client:
    service-url:
      defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka

hystrix:
  dashboard:
    proxy-stream-allow-list: localhost

Adding the main program @EnableHystrixDashboardand@EnableDiscoveryClient

@EnableDiscoveryClient
@EnableHystrixDashboard
@SpringBootApplication
public class Sp08HystrixDashboardApplication {
    
    

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

}

Start, and visit the test

Insert picture description here
Insert picture description here

Visit hystrix dashboard

http://localhost:4001/hystrix

Insert picture description here

Fill in the monitoring endpoint of hystrix and start monitoring

  • http://localhost:3001/actuator/hystrix.stream
  • Insert picture description here

Access the service multiple times through hystrix and observe the monitoring information

http://localhost:3001/item-service/35
Insert picture description here
Insert picture description here
Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_45103228/article/details/114107925