
Spring Boot Actuator는 애플리케이션의 상태(헬스 체크, 메트릭, 환경 정보 등)을 모니터링하고 관리할 수 있는 다양한 엔드포인트를 제공한다.
공식문서: https://docs.spring.io/spring-boot/reference/actuator/metrics.htm
Micrometer는 다양한 모니터링 시스템과 통합할 수 있는 벤더 중립적인 메트릭 수집 라이브러리.
SLF4J가 로깅의 추상화를 제공한다면 Micrometer는 메트릭 수집의 추상화를 제공. 이를 통해 Prometheus, Datadog, New Relic 등 다양한 모니터링 시스템과 쉽게 통합 가능.
스프링 2.0부터 Spring Actuator는 내부적으로 Micrometer를 이용해 메트릭을 수집한다. 즉 Micrometer가 메트릭을 수집하면, 이를 Actuator가 외부로 노출시키는 역할을 함.
Prometheus: 시계열 데이터베이스로, 애플리케이션에서 수집한 메트릭을 저장하고 쿼리 가능.
Grafana: 시각화 도구로, Prometheus에서 수집한 데이터를 기반으로 대시보드를 구성하여 메트릭을 시각적으로 표현 가능.
프로메테우스를 기존 프로젝트에 도커 컴포즈로 한번에 붙이기 전에, 윈도우 환경으 로컬에 따로 설치해서 확인해보려고 한다.
//Actuator
implementation 'org.springframework.boot:spring-boot-starter-actuator'
//Prometheus
implementation 'io.micrometer:micrometer-registry-prometheus'
management:
endpoints:
web:
exposure:
include: "health, info, metrics, prometheus"
endpoint:
prometheus:
enabled: true
프로메테우스 공식 홈페이지: https://prometheus.io/
프로메테우스 yml파일에서 target을 설정해준다.
그라파나 공식 홈페이지: https://grafana.com/