SPRING/Spring Boot

[SpringBoot] 메트릭(Metric) 이란?

IT록흐 2023. 5. 11. 22:19
반응형

 

 

[SpringBoot] 모니터링 - 엑츄에이터(Actuator)(1)

개발이 완료되면 App을 모니터링해야 한다. ( Production-Ready ) App상태정보, 트래픽, DB상태정보 등등 다양한 모니터링 데이터를 파악해야 하는데 개발자가 하나 하나 파악하기에 어려움이 있다. Sprin

lordofkangs.tistory.com

 

 

메트릭(Metric)이란?

 

시간이 지남에 따라 변화하는 데이터를 의미한다. 메모리 사용률, CPU 사용률, 스레드 사용률 등등.. 시간에 따른 추이를 추적할 가치가 있는 데이터를 메트릭(Metric)이라 부른다.

 

메트릭 수집은 마이크로미터(MicroMeter) 모듈이 담당하는데, 이는 엑츄에이터 안에 내장되어 있다.

 

 

마이크로미터는 일정한 시간간격으로 메트릭을 수집한다. 수집된 메트릭 데이터는 프로메테우스나 그라파나 같은 툴로 시각화되어 표현할 수 있다. 

 

 

메트릭(Metric) 구조

엑츄에이터 디펜던시를 추가하고 프로젝트를 실행한다.  ( 자세한 내용은 이전 포스팅 참고! )

 

URL : http://localhost:8080/actuator/metrics/jvm.memory.used

 

jvm.memory.used 는 메트릭 이름이다. 위 URL은 아래 결과를 반환한다.

 

 

 

 

name : 메트링 이름

description : 설명

baseUnit : 단위

measurements  : 측정값

availableTags : 태그 정보

 

availableTags는 태그정보 즉, 상세 정보를 다룬다. 

jvm.memory.used 메트릭은 jvm이 사용하고 있는 메모리 사용량을 나타낸다. 메모리는 Heap 메모리와 Non-Heap 메모리로 나뉘어 진다. 태그를 사용하면 상세 정보인 Heap 메모리 사용량을 알 수 있다.

 

➢ 요청 포맷 : http://localhost:8080/actuator/metrics/jvm.memory.used?tag=area:heap

                                                                                                 [ 메트릭명 ]    ?tag=[태그명]:[Value명]

 

 

 

Heap 메모리 사용량만 따로 필터링하여 보여준다.

 

 

엑츄에이터는 정말 다양한 메트릭을 제공한다. 메트릭 데이터를 사용하려면 2가지 환경이 필요하다.

 

1. 수집된 메트릭을 보관할 DB ( = 프로메테우스 )

2. 수집된 메트릭을 시각화 할 대시보드 ( = 그라파나 )

 

다음 포스팅에서는 프로메테우스와 그라파나에 대해서 알아보겠다.

 


 

참고자료

 

스프링 부트 - 핵심 원리와 활용 - 인프런 | 강의

실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., - 강의 소개 | 인프런

www.inflearn.com

 

반응형