221.5. Meter Registry
デフォルトでは、Camel Micrometer コンポーネントは、主にテストに適した SimpleMeterRegistry
インスタンスを作成します。MeterRegistry
Bean を提供して、専用のレジストリーを定義する必要があります。Micrometer レジストリーは、主に使用するバックエンドモニタリングシステムを決定します。CompositeMeterRegistry
を使用して、複数のモニタリング対象に対処できます。
たとえば、Spring Java 設定を使用すると、次のようになります。
@Configuration public static class MyConfig extends SingleRouteCamelConfiguration { @Bean @Override public RouteBuilder route() { return new RouteBuilder() { @Override public void configure() throws Exception { // define Camel routes here } }; } @Bean(name = MicrometerComponent.METRICS_REGISTRY_NAME) public MeterRegistry getMeterRegistry() { CompositeMeterRegistry registry = ...; registry.add(...); // ... return registry; } }
@Configuration
public static class MyConfig extends SingleRouteCamelConfiguration {
@Bean
@Override
public RouteBuilder route() {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
// define Camel routes here
}
};
}
@Bean(name = MicrometerComponent.METRICS_REGISTRY_NAME)
public MeterRegistry getMeterRegistry() {
CompositeMeterRegistry registry = ...;
registry.add(...);
// ...
return registry;
}
}
または CDI を使用:
class MyBean extends RouteBuilder { @Override public void configure() { from("...") // Register the 'my-meter' meter in the MetricRegistry below .to("metrics:meter:my-meter"); } @Produces // If multiple MetricRegistry beans // @Named(MicrometerComponent.METRIC_REGISTRY_NAME) MetricRegistry registry() { CompositeMeterRegistry registry = ...; registry.add(...); // ... return registry; } }
class MyBean extends RouteBuilder {
@Override
public void configure() {
from("...")
// Register the 'my-meter' meter in the MetricRegistry below
.to("metrics:meter:my-meter");
}
@Produces
// If multiple MetricRegistry beans
// @Named(MicrometerComponent.METRIC_REGISTRY_NAME)
MetricRegistry registry() {
CompositeMeterRegistry registry = ...;
registry.add(...);
// ...
return registry;
}
}