簡體   English   中英

Springboot:千分尺指標未顯示

[英]Springboot: micrometer metrics not showing up

我正在編寫我的第一個 spring 啟動 (2.6.3) 應用程序。

這里是我正在使用的相關依賴項:

<dependencyManagement>
    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.6.3</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-to-slf4j</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>        

我通過執行器暴露了所有功能:

management:
  endpoint:
    health:
      show-details: always
  endpoints:
    web:
      exposure:
        include: '*'
  info:
    env:
      enabled: true

所以我可以看到 url /actuator列出的所有端點。

現在,我在一些方法中添加了一些注釋,如@Counted@Timed ,我調用了它們,但它們沒有出現在/actuator/metrics中。

我怎么能解決這個問題?

非常感謝您!

您是否知道@Timed注釋僅在@Controller類和@RequestMapping方法上受支持?

https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.metrics.supported.ZC5611D5C8C9F9E896756BF480C0E7

我不確定默認情況下是否支持@Counted

編輯: @Counted注釋默認不起作用。 要使其工作,您需要將CountedAspect添加到您的上下文中。

參見: https://github.com/micrometer-metrics/micrometer/blob/main/micrometer-core/src/main/java/io/micrometer/core/aop/CountedAspect.java

此外,@Counter 自動配置還有一個未解決的問題: @Counter ://github.com/spring-projects/spring-boot/issues/17260

通過添加以下內容解決:

@Bean
CountedAspect countedAspect(MeterRegistry registry) {
    return new CountedAspect(registry);
}
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.8.13</version>
</dependency>

它也適用於 OpenAPI 委托。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM