Я использую проект Spring Boot с WebFlux + Spring Reactor, и он вызывает другие службы с помощью ReactiveFeignClient
.
Как мне интегрировать Prometheus, чтобы я мог отслеживать время отклика (с @Timer
) и процент каждого кода состояния, возвращаемого имитирующим вызовом? Например, 200, 400, 404 ... Я нашел только способы:
После всей проделанной мной работы я не видел в выводе Prometheus счетчиков реактивных симулированных клиентов, хотя я определил bean-компонент регистратора, например:
@Bean
public MetricsWebClientFilterFunction metricsWebClientFilterFunction(PrometheusMeterRegistry meterRegistry,
WebClientExchangeTagsProvider provider) {
return new MetricsWebClientFilterFunction(
meterRegistry,
provider,
APP_NAME + "reactive-client-request",
AutoTimer.ENABLED
);
}
@Bean
public MicrometerReactiveLogger feignReactiveLogger(Clock clock,
PrometheusMeterRegistry meterRegistry) {
return new MicrometerReactiveLogger(
clock,
meterRegistry,
APP_NAME + ".feign.client_metrics",
MetricsTag.getMandatory()
);
}
Кроме того, я обнаружил, что невозможно включить /actuator/prometheus
, а только /_system/check/prometheus
. Я включил и выставил конечные точки metrics
и prometheus
.
management:
health:
diskspace:
enabled: false
endpoint:
metrics.enabled: true
prometheus.enabled: true
endpoints:
web:
base-path: /_system/check
exposure:
include: info,health,loggers,metrics,prometheus
path-mapping:
health: /simple