프로그래밍/Spring
액츄에이터 Actuator
hwangsehee
2025. 1. 15. 00:13
📌spring boot가 제공하는 Actuator 는 애플리케이션의 상태를 모니터링하고 관리할 수 있는 유용한 기능을 제공하는 운영도구이다.
마이크로미터, 프로메테우스, 그라파나 같은 모니터링 시스템과 매우 쉽게 연동할 수 있는 기능도 제공한다.
액추에이터가 제공하는 기능 하나하나를 엔드포인트라고 한다.
각각의 엔드포인트는 /actuator/{엔드포인트명}과 같은 형식으로 접근 할 수 있다
ex) http://localhost:8080/actuator/health : 애플리케이션 헬스 정보를 보여준다.
실시간 로그 레벨 변경해보기 (서버 재시작하면 다시 원복)
post로 body에 json으로 trace로 변경 메세지 전송
get으로 다시 확인했을 때 로그 레벨이 trace로 바뀌어있음
마이크로미터(micrometer)
- 마이크로미터 표준 측정 방식을 통해 손쉽게 모니터링 툴을 갈아 끼울 수 있다.
- 마이크로미터가 추상화를 통해서 구현체를 쉽게 갈아끼울 수 있도록 해두었다.
- 스프링 부트 액츄에이터는 마이크로미터를 기본을 내장해서 사용한다.
- 개발자는 마이크로미터가 정한 표준 방법으로 메트릭(측정 지표)를 전달하면된다.
- 스프링 부트 엑츄에이터는 마이크로미터가 제공하는 지표 수집을 @AutoConfiguration을 통해 자동으로 등록해준다.
- 사용자가 직접 메트릭을 정의할 수도있다. ex) 주문수, 취소수
프로메테우스(Prometheus)
- 애플리케이션에서 발생한 메트릭을 과거 이력까지 함께 확인하려면 메트릭을 보관하는 DB가 필요하다.
- 어디선가 메트릭을 지속해서 수집하고 DB 에 저장해야 한다. > 프로메테우스의 역할
- 스프링 부트 액츄에이터와 마이크로미터를 사용하면 수 많은 메트릭을 자동으로 생성한다.
- 마이크로미터 프로메테우스 구현체는 프로메테우스가 읽을 수 있는 포멧으로 메트릭을 생성한다.
- 프로메테우스는 이렇게 만들어진 메트릭을 지속해서 수집한다.
- 프로메테우스는 수집한 메트릭을 내부 DB에 저장한다.
- 사용자는 그라파나 대시보드 툴을 통해 그래프로 편리하게 메트릭을 조회한다.
- 이때 필요한 데이터는 프로메테우스를 통해 조회한다.
간단하게 system cpu 사용량 조회해보기
※ 김영한 - 스프링부트 핵심 원리와 활용편을 듣고 복습 목적으로 작성되었습니다.