일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Grafana
- 항해99
- 메서드
- aop
- 회고
- css
- GIT
- 코딩
- Entity
- wil
- 배열
- HTML
- Til
- 우선순위 큐(priorityqueue)
- Spring
- github
- 코딩문제
- 면접(java
- Java
- cs 공부)준비
- 개발자 취업
- 코딩테스트 준비
- 자바
- 이진 탐색(binary search)
- 자료구조
- 프로그래머스
- 99클럽
- 정렬 알고리즘(sort algorithm)
- ArrayList
- 코딩공부
- Today
- Total
hayu's 개발 일지
[TIL]240420 프로메테우스와 스프링 연결하기 본문
애플리케이션 설정
- 스프링의 마이크로미터가 프로메테우스가 사용하는 포멧에 맞추어 메트릭을 만들어 준다. 각각의 메트릭들은 내부에서 마이크로미터 표준 방식으로 측정되고 있기 때문에 우리는 어떤 구현체를 사용할지 지정만 해주면 된다.
build.gradle에 내용 추가
// Prometheus
implementation 'org.springframework.boot:spring-boot-starter-actuator' // actuator
implementation 'io.micrometer:micrometer-registry-prometheus'
이제 엑추에이터에 프로메테우스 메트릭 수집 엔드포인트( /actuator/prometheus )가 자동으로 추가된다. /actuator/prometheus 엔드포인트로 들어가보면 모든 메트릭이 프로메테우스 포멧으로 만들어져 있다.
프로메테우스 수집 설정
프로메테우스가 애플리케이션의 /actuator/prometheus 를 호출해서 메트릭을 주기적으로 수집하도록 설정해보자.
다운로드 받은 프로메테우스 폴더에 있는 prometheus.yml 파일을 수정한다.
파일을 열어서 다음 코드를 추가한다. (# 추가 부분)
- job_name : 수집하는 이름. ( 임의의 이름을 사용하면 된다. )
- metrics_path : 수집할 경로를 지정.
- scrape_interval : 수집할 주기를 설정
- targets : 수집할 서버의 IP, PORT를 지정
+ 테스트 용도로 매트릭을 빠르게 확인하기 위해서 수집주기를 1초로 설정했다. 하지만 수집 주기가 너무 짧으면 애플리케이션 성능에 영향을 줄 수 있으므로 운영에서는 10s ~ 1m 정도를 권장한다.
설정이 끝났으면 파일을 저장하고 프로메테우스를 재시작하고 프로메테우스에 접속해 추가한 설정 정보가 반영되어 있는지 확인한다. ( 프로메테우스 메뉴 → status )
연동한 애플리케이션의 메트릭 정보가 있는지 확인한다.(프로메테우스 메뉴 → status → targets)
State 가 UP 으로 되어 있으면 정상, DOWN 으로 되어 있으면 연동 X
참고 자료
- https://developer-nyong.tistory.com/49
- https://do0911.tistory.com/19
- https://benlee73.tistory.com/60
'프레임워크 > spring' 카테고리의 다른 글
[TIL]240423 그라파나와 프로메테우스 연동 (0) | 2024.04.23 |
---|---|
[TIL]240422 Grafana 그라파나 설치 (0) | 2024.04.22 |
[TIL]240418 영속성 컨텍스트 (0) | 2024.04.18 |
[TIL]240415 테스트란 (0) | 2024.04.15 |
[TIL]240413 Scheduler, Batch, Quartz / 프로젝트 Spring Scheduler 선택 이유 (0) | 2024.04.13 |