본문 바로가기
Spring

SpringBoot : healthCheck() { Spring Boot Actuator }

by yaans 2023. 7. 9.

Why Health Check ?

처음에 회사 코드에서 health check api를 발견했을 때, 조금 의아하기도 했다

이 단순한 api는 뭐지...?

 

조금 생각해보니 health check란건 꽤 간편하고 괜찮은 방안이었다

운영 환경에 있다보면 항상 예상할 수 없는 상황들이 발생하고

이게 애플리케이션의 문제인지, 환경의 문제인지 빠르게 파악할 수 있기 때문이다

 

또한

[aws 로드밸런서에서 타겟 그룹을 지정하고 헬스체크 api를 등록] 과정을 거치면, 로드밸런서 자체에서 주기적으로 http 요청을 보내고 200 상태를 응답하는지 확인해주는 등 다양하게 활용이 가능하다

 

⬇⬇ aws load balancing health check 문서 참고

 

또한 애플리케이션이 서버에서 정상적으로 구동되고 있는지 확인하기 위해서, 굳이~ 굳이~ 개발해놓은 기능 api를 하나 찾아서 호출해보는 과거의 나를 보더라도...

"애플리케이션이 정상적으로 실행되는지 확인하는 API"는 훨씬 효율적이다

 


Spring Boot Actuator 

health check API를 구현하기 위해 Spring Boot Actuator 모듈을 사용했다

Spring Boot Actuator 는 애플리케이션에 대한 모니터링 정보를 복잡한 구성 없이 endpoint로 확인할 수 있다

애플리케이션, 데이터베이스, 매트릭, 디스크 공간 등 다양한 리소스의 상태 정보를 제공받을 수 있다

 

 

in code 🚜

> build.gradle : 라이브러리 추가

dependencies {
    ...
    implementation 'org.springframework.boot:spring-boot-starter-actuator:3.1.0'
    ...
}

 

> postman : Rest API 호출

기본 매핑은 /actuator/health

> application.yaml : path 설정

/actuator/health 은 너무 번거롭다. 간단하게 /health 로 매핑해보자 

.

 

 

 

 

 

 

... ing

 

 

 

Refences

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#actuator.endpoints

 

Spring Boot Reference Documentation

This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is nothing particularly spe

docs.spring.io

 

https://www.devkuma.com/docs/spring-boot/actuator/

 

Spring Boot Actuator - 애플리케이션 상태 확인, 모니터링 지원 기능

Spring Boot Actuator에 대한 설명, 예제 프로젝트 생성

www.devkuma.com

 

'Spring' 카테고리의 다른 글

Spring Framework : basics() { Spring MVC 구조 }  (1) 2021.10.13

댓글