https://megamaker.tistory.com/391
[Spring Boot] 마이크로미터(Micrometer), 프로메테우스(Prometheus) 알아보기
지금까지는 단순히 프로젝트 개발과 배포만 하고 그 이후의 일은 크게 생각해본적이 없었다. 마이크로미터, 프로메테우스, 그라파나는 들어보기만 했는데 이번에 모니터링 관련 내용을 잘 배워
megamaker.tistory.com
ㄴ 이전 게시글
이전에 스프링에서 제공하는 마이크로미터를 사용해서 프로메테우스를 활용해보았다. 프로메테우스는 메트릭을 수집, 저장하고, 그래프로 만들어 확인할 수 있다. 그런데 일일이 세부 사항을 매번 확인하는 것은 번거롭고, 다른 그래프와 같이 비교하여 볼 수 있는 한눈에 들어오는 뭔가가 부족한 것을 느낄 수 있다. 그래서 이 부분을 그라파나를 통해 해결해보고자 한다.
그라파나 설치
https://grafana.com/grafana/download
Download Grafana | Grafana Labs
Overview of how to download and install different versions of Grafana on different operating systems.
grafana.com
위 사이트에서 다운로드 받으면 된다.
다운로드 받으면 이런 파일들이 들어있는데 bin 폴더 내에 들어가서 윈도우 기준 grafana-server.exe를 실행하면 된다.
물론 실행하기 전에 어플리케이션과 프로메테우스를 실행하여야 제대로 동작한다.
이건 작은 팁인데, Windows + Tab으로 새 데스크톱을 만든 후, 실행시켜놓기만 하는 것들을 새 데스크톱으로 끌어다 놓으면 쾌적한 환경에서 사용할 수 있다.
참고로 Ctrl + Windows + 좌,우화살표로 데스크톱 이동을 빠르게 할 수 있다.
localhost:3000으로 접속하면 위와 같은 화면이 뜬다.
학습용으로 사용할 것이기 때문에 admin / admin 으로 로그인하고 스킵을 누른다.
위와 같이 뜬다면 잘 실행된 것이다.
좌측 메뉴에서 대시보드를 선택해 들어가면 다음과 같은 화면이 나타난다.
Hello Dashboard는 연습용으로 만든 대시보드이고,
JVM (Micrometer)와 Spring Boot 2.1 System Monitor는 외부 대시보드를 ID를 입력해 가져온 것이다.
위 두 대시보드는 Actuator에서 제공하는 메트릭 정보를 대부분 보여주는 것으로 유용한 정보가 많아 자주 사용된다고 한다.
그라파나 대시보드
대시보드에 들어가보면 위와 같은 화면을 볼 수 있다.
나는 이전에 만들어놓았기 때문에 이렇게 보이는 것이고, 새로운 환경이라면 새 대시보드를 만들고나서 Add - Visualization을 통해 새 패널을 만들어야 한다.
/actuator/prometheus 경로로 들어가보면 프로메테우스에서 제공하는 메트릭 정보를 볼 수 있다. 우리는 프로메테우스의 메트릭 정보를 가져와 그라파나 대시보드 패널에 나타낼 것이기 때문에 위 정보를 이용하여 새 패널을 추가할 수 있다.
프로메테우스로 가져올 수 있는 정보 중 하나인 히카리CP 커넥션 풀의 최댓값 정보를 가져와보았다.
이런 식으로 PromQL을 통해 원하는 정보를 가져올 수 있다.
Options의 범레(Legend)를 custom으로 변경하여 원하는 내용으로 바꿀 수 있다. {{method}}로 메서드명을 지정할 수도 있다.
메트릭 종류
마이크로미터에서 제공하는 메트릭 종류는 크게 두 가지가 있다.
- Counter(카운터) - 단순히 값이 증가 ex) 상품 주문 요청 수
- Gauge(게이지) - 오르락내리락하는 값 ex) cpu 사용량
Counter의 특징으로는 일반적으로 접미사로 _total이 붙는다.
단순히 값이 증가하기 때문에 그래프로 나타내면 증가하는 그래프로만 보이기 때문에 자체로는 큰 의미가 없다.
그래서 increase()나 rate() 같은 함수를 사용해서 얼마나 증가했는지 나타내도록 하는 것이 좋다.
스프링 부트 - 핵심 원리와 활용 강의 | 김영한 - 인프런
김영한 | 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., 백엔드 개발자를 위한 스프링 부트 끝판왕! 실무에 필요한 내용을 모두 담았습니다. [임베딩 영상] 김영한의 스
www.inflearn.com
'공부 > Spring' 카테고리의 다른 글
[Spring] 타임리프(Thymeleaf) 알아보기 2 (1) | 2024.09.19 |
---|---|
[Spring] 타임리프 알아보기 1 (1) | 2024.09.17 |
[Spring Boot] 마이크로미터(Micrometer), 프로메테우스(Prometheus) 알아보기 (0) | 2024.09.09 |
[Spring Boot] Environment, @Value, @ConfigurationProperties (0) | 2024.09.07 |
[Spring Boot] 외부 설정 알아보기 (0) | 2024.08.31 |