본문 바로가기
백엔드/스프링

마이크로미터 시작

by ARlegro 2025. 5. 2.

왜 모니터링이 필요한가?

서비스를 운영자에게 필요한 것은 단순 기능을 잘 만드는 것이 아니다.

장애는 필수적으로 오기 마련이다. 따라서, 언제든 발생할 수 있는 장애를 빠르게 감지하고 대응할 수 있는 체계가 필수이다.

앞으로 배울 마이크로미터-프로메테우스-그라파나를 잘 이해하면 문제가 생겨도 빠르게 대응할 수 있다.

✅ 서비스 운영시 필요한 지표

  • CPU
  • 메모리
  • 커넥션 사용
  • 고객 요청 수
  • etc

✅ 위의 지표를 가지고 모니터링 했을 때 효과

  • 어떤 문제가 발생했는지 사전 대응 가능
  • 문제 발생 시 원인을 빠르게 파악 가능

✅ 대표적인 모니터링 툴

1. 그라파나 대시보드

 

2. 핀 포인트 

네이버에서 만든 모니터링 툴로 이게 진짜 좋다고 한다.

분산추적이 가능해서 MSA환경에서 특히나 좋다고 한다.

그래도 지금 배우기에는 너무 시간이 없다..

 

 

 

기존 방식의 문제 - 추상화 없을 때 

기본 상식

모니터링 툴을 이용하려면 각각의 모니터링 툴에 맞도록 만들어서 지표 정보들을 보내주어야 한다.

즉, 아래처럼 애플리케이션 내부에서 해당 모니터링 방식에 맞춰 코드 작성 必

 

 

💢 돌발상황 - 모니터링 툴 변경

 

결합도 문제

  • 모니터링 툴이 변경되면 변경된 툴에 맞게 개발한 애플리케이션을 수정해야한다.
  • 즉, 모니터링 툴 때문에 코드까지 변경해야 하는 문제가 있었다.

모니터링 툴이 굉장히 많은데 그러면 어떻게 해결할까??

 

💡문제 해결 : 이러한 문제를 해결해 주는 것이 바로 “마이크로미터”라는 라이브러리이다.

 

마이크로미터

스프링에서 여러 개념들을 배우다보면 스프링이 어떻게 추상화라는 것을 시켰는지 배웠을 것이다.

이것도 마찬가지로, 다양한 모니터링 도구에 대한 추상화를 제공한다.

 

개발자의 역할

  • micrometer의 표준 측정 방식에 맞춰 지표들을 전달만 하면 된다.
  • 어떤 모니터링 툴을 사용할지 설정

이점

  • 코드 수정 없이 모니터링 도구 변경 가능
  • Spring Actuator와 자연스럽게 통합 가능

https://docs.spring.io/spring-boot/reference/actuator/metrics.html#actuator.metrics