Я пытаюсь интегрировать микрометр в пружинное приложение, созданное с использованием Jersey REST.Я использую Spring Boot 1.5.
Когда у меня есть чистые Spring REST API (с помощью Spring Web Annotations), результаты прометея отображаются как показано ниже
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v2/api/greeting/{name}",} 18.0
http_server_requests_seconds_sum{exception="None",method="GET",status="200",uri="/v2/api/greeting/{name}",} 0.39309228
Но для API, построенных с использованием Jerseyметрики прометея не являются шаблонными.
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_1",} 1.0
http_server_requests_seconds_sum{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_1",} 0.043685372
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_2",} 1.0
http_server_requests_seconds_sum{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_2",} 0.006280183
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_3",} 1.0
http_server_requests_seconds_sum{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_3",} 0.006258448
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_4",} 1.0
http_server_requests_seconds_sum{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_4",} 0.006635791
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_5",} 1.0
http_server_requests_seconds_sum{exception="None",method="GET",status="200",uri="/v1/api/greeting/Jersey_5",} 0.006313993
Похоже, существует открытая проблема с микрометром в списке https://github.com/micrometer-metrics/micrometer/issues/486, которая вызывает эту проблему с Джерси.Средство защиты упоминается в https://github.com/micrometer-metrics/micrometer/issues/486#issuecomment-372446968. Когда я добавляю spring.jersey.type = filter, ни один из API приводов не работает.Ни одна из конечных точек Prometheus не работает.
Я не хочу, чтобы в конечной точке Prometheus появлялись URL без шаблонов.Поскольку мой API может иметь бесконечно много комбинаций (много имен в приведенных выше примерах), он будет создавать большие данные метрик, а сервер Prometheus, в свою очередь, будет иметь тоны метрик.
Любая помощь здесь очень ценится.