코알못

5분 안에 구축하는 hystrix - Dashboard 연동 본문

JAVA

5분 안에 구축하는 hystrix - Dashboard 연동

코린이s 2022. 1. 30. 23:53
728x90

hystrix circuit open/close 상태를 알기 위해 log 를 찍어 둘 수 있지만 dash board 를 이용해 실시간으로 확인 할 수 있다.

그러나 해당 대시보드는 실시간으로만 확인 가능하고 이전에 circuit open/close 상태를 볼 수 없어 로그를 찍어 두는 것을 추천 한다!

그럼 이용해보자!

1. dashboard 프로젝트를 만든다.


# build.gradle

implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard:2.2.9.RELEASE' // hystrix dashboard

# application

- @EnableHystrixDashboard 추가

@EnableHystrixDashboard
@SpringBootApplication
public class HystrixDashboardApplication {

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

}

# application.yml

# dashboard
hystrix:
  dashboard:
    proxy-stream-allow-list: localhost
server:
  port: 9000

 

2. 모니터링 대상 서버에서 상태 정보를 보내주기 위해 actuator 추가

# build.gradle

implementation 'org.springframework.boot:spring-boot-starter-actuator:2.5.6' // dashboard 에서 상태를 확인할 수 있는 정보를 반환 가능하도록 하기 위함.

# application.yml

server:
  port: 8888
# actuator 라이브러리관련 설정으로 dashboard 에서 상태 정보를 모두 반환해주겠다는 의미
management:
  endpoints:
    web:
      exposure:
        include: "*"

 

자 접속해보자 !

- http://localhost:9000/histrix 접속

- http://localhost:8888/actuator/hystrix.stream 입력

- delay 에는 모니터링 주기 입력

- title 은 적고 싶은 타이틀 입력

- circuit close 화면 (A 라는 commendkey 가 표기 되어 있다.)

- circuit open 화면

그러나 실제 상용 환경에서는 어플리케이션을 하나만 띄우는 것이 아니기 때문에 dashboard 를 여러개 띄워서 확인해야하여 관리가 용이하지 않다. > Turbine 을 사용하자!

Turbine 을 이용하면 어플리케이션 마다 DashBoard 를 띄우지 않고 하나의 UI 에서 관리할 수 있다.

다음 시간에 셋팅해본다!

:: https://github.com/works-code/hystrix-dashboard

 

GitHub - works-code/hystrix-dashboard: hystrix dashboard 간단 구현

hystrix dashboard 간단 구현. Contribute to works-code/hystrix-dashboard development by creating an account on GitHub.

github.com

 

728x90
Comments