如何在Spring-boot中创建指标?

问题描述 投票:0回答:2

如何在SpringBoot2.1.4.RELEASE中创建指标?

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
spring-boot spring-boot-actuator
2个回答
1
投票

如果您正在使用spring-boot-starter-actuator,将创建一个MeterRegistry类型的bean。自动装配后,您可以创建多个指标,例如计数器,指标和指标。其中每个都有一个流畅的构建器,您可以使用它来设置它们,例如:

Counters

Counter可用于简单递增指标,例如,调用方法的次数。

Counter customCounter = Counter
    .builder("my.custom.metric.counter")
    .register(meterRegistry);

通过使用customCounter.increment(),您可以增加价值。

Gauges

另一方面,Gauge是一个动态/实时值,应该直接测量。一个例子是连接池的大小:

 Gauge
      .builder("my.custom.metric.gauge", () -> connectionPool.size())
      .register(meterRegistry);

构建器允许您传递Supplier来测量您想要的任何内容。

Timers

顾名思义,这可以用来衡量做某事所需的时间,例如:

Timer customTimer = Timer
     .builder("my.custom.metric.timer")
     .register(meterRegistry);

通过使用customTimer.record(() -> myMethod()),您可以添加一个关于调用myMethod()所需时间的指标。


您应该能够在运行应用程序时访问这些指标。如果您想通过HTTP查看它们,可以启用指标端点,如下所示:

management.endpoints.web.exposure.include=metrics # Enable metrics endpoint

之后,您应该能够访问http://localhost:8080/actuator以查看已启用的端点列表,其中应包含http://localhost:8080/actuator/metrics

此API应返回可用指标列表,可以作为http://localhost:8080/actuator/metrics/my.custom.metric.counter访问。


0
投票

你可以用千分尺:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>

这将给你终点:/actuator/prometheus

© www.soinside.com 2019 - 2024. All rights reserved.