Reputation: 21
In my Springboot-based app I cannot use @EnableAutoConfiguration
therefore I must add all configurations manually to @Import
annotation. I know how to enable general endpoint /actuator
and some others like /actuator/health
or /actuator/env
(example below). However even though I tried thousands options I cannot make metrics
working (with @EnableAutoConfiguration
it works).
My config is as follows:
@SpringBootConfiguration
@ComponentScan(excludeFilters = { @ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@ComponentScan.Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@Import({
ServletWebServerFactoryAutoConfiguration.class,
DispatcherServletAutoConfiguration.class,
WebMvcAutoConfiguration.class,
ManagementContextAutoConfiguration.class,
EndpointAutoConfiguration.class,
WebEndpointAutoConfiguration.class,
HealthIndicatorAutoConfiguration.class,
HealthEndpointAutoConfiguration.class,
EnvironmentEndpointAutoConfiguration.class,
//---------- configs metrics related:
MetricsAutoConfiguration.class,
CompositeMeterRegistryAutoConfiguration.class,
JvmMetricsAutoConfiguration.class,
MetricsEndpointAutoConfiguration.class,
SystemMetricsAutoConfiguration.class,
SimpleMetricsExportAutoConfiguration.class,
WebMvcMetricsAutoConfiguration.class
}
)
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
With such config even though I can see metrics
endpoint listed on /actuator
page:
actuator main page
if I go there it it shows empty collection: no metrics
And it should contain system and jvm metrics (and http endpoints metrics after first http call). Any idea what I should do in order to enable Spring Actuator metrics?
Upvotes: 1
Views: 1441
Reputation: 21
I found a solution, the order of metrics imports was incorrect, the order should be as follows:
MetricsAutoConfiguration.class,
SimpleMetricsExportAutoConfiguration.class,
CompositeMeterRegistryAutoConfiguration.class,
JvmMetricsAutoConfiguration.class,
MetricsEndpointAutoConfiguration.class,
SystemMetricsAutoConfiguration.class,
WebMvcMetricsAutoConfiguration.class
Upvotes: 1