Spring Boot Actuator записывает запросы OPTIONS с динамическим параметром URL

мы не используем Spring Boot 1.5.9 и предоставляем метрики для Prometheus.

Когда мы получаем запросы OPTIONS, параметр пути не заменяется. Для запросов GET параметр заменяется. Контроллер выглядит так:

@Slf4j
@RequestMapping(method = { RequestMethod.GET }, path = "/claims/{token}")
@RestController
public class ClaimDetailController {

    @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, params = "token")
    public ResponseEntity getDetail(@PathVariable(value = "token") final String token) {
      ...
    }
}

При вызове актуатора с помощью endpoint / prometheus получаем:

# HELP gauge_response_claims_clgrRFhIRlNDV3pJTXhXRG40dWlPWURrVTJnMU1nPT0 gauge_response_claims_clgrRFhIRlNDV3pJTXhXRG40dWlPWURrVTJnMU1nPT0
# TYPE gauge_response_claims_clgrRFhIRlNDV3pJTXhXRG40dWlPWURrVTJnMU1nPT0 gauge
gauge_response_claims_clgrRFhIRlNDV3pJTXhXRG40dWlPWURrVTJnMU1nPT0 5.0
# HELP gauge_response_claims_token gauge_response_claims_token
# TYPE gauge_response_claims_token gauge
gauge_response_claims_token 1502.0

Первый из запроса OPTIONS. Второй из запроса GET.

Так почему же токен из запроса OPTIONS не заменяется? Можно ли этого добиться? Если нет - можно ли убрать запросы OPTIONS из метрик?

И это результат / metrics:

counter.status.200.claims.clgrRFhIRlNDV3pJTXhXRG40dWlPWURrVTJnMU1nPT0 2 counter.status.200.cloudfoundryapplication 4

Вот некоторые используемые нами зависимости:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>
    
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-cloudfoundry-web</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-spring-legacy</artifactId>
    <version>1.3.16</version>
</dependency>

<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_spring_boot</artifactId>
    <version>0.3.0</version>
</dependency>
<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_servlet</artifactId>
    <version>0.3.0</version>
</dependency>
<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_hotspot</artifactId>
    <version>0.3.0</version>
</dependency>

person Tobias Schnupp    schedule 03.02.2021    source источник
comment
Понятия не имею, о чем вы здесь пытаетесь спросить. Тема говорит о журналах, но я не вижу никаких журналов в этом вопросе.   -  person eis    schedule 04.02.2021
comment
Спасибо за комментарий. Spring Boot Actuator записывает запрос в своих метриках.   -  person Tobias Schnupp    schedule 04.02.2021
comment
да, но это не связано с ведением журнала. Значит, вы беспокоитесь об именах в показателях? кроме того, уверены ли вы, что simpleclient_spring_boot записывает показатели, а не Spring? и как выглядит ваш контроллер параметров?   -  person eis    schedule 04.02.2021
comment
если ваши запросы OPTIONS относятся к несопоставленным метрикам, они даже отображаются на какой-либо контроллер ...   -  person eis    schedule 04.02.2021
comment
Запросы OPTIONS не отображаются мной. Для этого запроса я использую Spring Mapping по умолчанию.   -  person Tobias Schnupp    schedule 05.02.2021


Ответы (1)


Похоже, обновление Spring Boot до 1.5.22.RELEASE

приводит к выводу таких запросов OPTIONS:

# HELP counter_status_200_unmapped counter_status_200_unmapped
# TYPE counter_status_200_unmapped gauge
counter_status_200_unmapped 5.0

Это не идеально, но все запросы OPTIONS собираются в одну метрику, а не каждый в отдельную.

person Tobias Schnupp    schedule 04.02.2021