콘텐츠로 이동

JVM (Micrometer)


이 문서는 SpringBoot를 전제로 Micrometer 관련 의존성을 도입해 JVM 지표를 수집하는 방법을 설명합니다.

설정

설명: prom 수집기를 활성화하고, prom 수집기를 통해 jvm 지표 정보를 수집합니다.

애플리케이션을 Prometheus에 연동

여기서는 SpringBoot의 spring-boot-starter-actuatormicrometer를 사용합니다.

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를 설정하며, 다른 파라미터는 필요에 따라 조정할 수 있습니다.

urls =["http://localhost:8091/actuator/prometheus"]
source = "jvm-prom"

measurement_prefix = "jvm_"

위 설정은 jvm_로 시작하는 메트릭 세트를 생성합니다.

  • DataKit 재시작

DataKit 재시작

문서 평가

이 페이지가 도움이 되었나요?