JVM (Micrometer)¶
팁
이 문서는 SpringBoot를 전제로 Micrometer 관련 의존성을 도입해 JVM 지표를 수집하는 방법을 설명합니다.
설정¶
설명: prom 수집기를 활성화하고, prom 수집기를 통해 jvm 지표 정보를 수집합니다.
애플리케이션을 Prometheus에 연동¶
여기서는 SpringBoot의 spring-boot-starter-actuator와 micrometer를 사용합니다.
Micrometer¶
Micrometer
Micrometer는 Java 플랫폼에서 성능 데이터를 수집하기 위한 공통 API를 제공하며, 다양한 메트릭 유형(Timers, Guauges, Counters등)을 지원합니다. 또한 Influxdb, Graphite, Prometheus 등 여러 모니터링 시스템과의 연동도 지원합니다. Micrometer를 통해 Java 성능 데이터를 수집하고, Prometheus 모니터링 시스템과 함께 실시간으로 데이터를 가져와 최종적으로 Grafana에 표시할 수 있으므로, 애플리케이션 모니터링을 쉽게 구현할 수 있습니다.
- 애플리케이션에는 다음 의존성을 추가해야 합니다
<!-- spring-boot-actuator 의존성 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- prometheus 의존성 -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
- application.yaml 설정
다음 설정을 추가합니다
management:
server:
port: 8091
endpoints:
web:
exposure:
include: "*"
metrics:
tags:
application: ${spring.application.name}
env: ${spring.profiles.active}
- 지표 접근
애플리케이션이 시작된 후 브라우저에서 http://localhost:8091/actuator/prometheus 를 열면 됩니다. 이 포트는 management 포트입니다.
URL 접근이 정상이라면 애플리케이션이 prometheus에 성공적으로 연동된 것입니다.
DataKit에서 prom 수집기 활성화¶
- 수집기 활성화
수집기 디렉터리는 datakit/conf.d/prom 입니다. 디렉터리로 들어간 뒤 prom.conf.sample을 복사하고 새 파일 이름을 jvm-prom.conf로 변경합니다. 주로 URL과 source를 설정하며, 다른 파라미터는 필요에 따라 조정할 수 있습니다.
위 설정은 jvm_로 시작하는 메트릭 세트를 생성합니다.
- DataKit 재시작