220.14. JMX에서 Micrometer 통계 노출

마이크로미터는 통계를 게시하기 위해 MeterRegistry 구현을 사용합니다. 프로덕션 시나리오에서는 Prometheus 또는 Graphite와 같은 전용 백엔드를 선택하는 것이 좋지만, JMX에 통계를 게시하는 테스트 또는 로컬 배포만으로 충분할 수 있습니다.

이를 위해 다음 종속성을 추가합니다.

    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-jmx</artifactId>
      <version>${micrometer-version}</version>
    </dependency>

그리고 JmxMeterRegistry 인스턴스를 추가합니다.

    @Bean(name = MicrometerComponent.METRICS_REGISTRY_NAME)
    public MeterRegistry getMeterRegistry() {
        CompositeMeterRegistry meterRegistry = new CompositeMeterRegistry();
        meterRegistry.add(...);
        meterRegistry.add(new JmxMeterRegistry(
           CamelJmxConfig.DEFAULT,
           Clock.SYSTEM,
           HierarchicalNameMapper.DEFAULT));
        return meterRegistry;
    }
}

HierarchicalNameMapper 전략은 미터 이름과 태그를 MBean 이름으로 어셈블하는 방법을 결정합니다.