如何在 Spring Boot Actuator Prometheus 指标中包含时间戳

Posted

技术标签:

【中文标题】如何在 Spring Boot Actuator Prometheus 指标中包含时间戳【英文标题】:How to include timestamps in Spring Boot Actuator Prometheus metrics 【发布时间】:2021-11-30 23:45:45 【问题描述】:

我正在使用 Spring Boot 2.5.4 和带有 Micrometer 和 Prometheus 支持的 Actuator。 当我打开 /actuator/prometheus 端点时,我会看到如下指标:

# HELP jvm_threads_live_threads The current number of live threads including both daemon and non-daemon threads
# TYPE jvm_threads_live_threads gauge
jvm_threads_live_threads 28.0

请注意,该指标没有附加时间戳。但是,根据OpenMetrics / Prometheus spec,可以在指标输出中添加时间戳。

我的问题:如何告诉 Spring Boot Actuator 生成时间戳并将其添加到它创建的指标中?我还没有找到任何关于它的文档。谢谢!

参考文献

我的pom.xml 依赖项如下所示:

     <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
    </dependency>

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

我的application.yaml 是这样的:


# Application name. Shows up in metrics etc.
spring:
  application:
    name: "some_app_name"

# Expose application on port 8080
server:
  port: $SERVER_PORT:8080

# Expose all Actuator endpoints (don't do this in production!)
management:
  endpoints:
    web:
      exposure:
        include:
        - "*"

【问题讨论】:

【参考方案1】:

千分尺doesn't support this at the moment。团队建议将 Prometheus Java 客户端直接用于时间戳对您很重要的指标。

【讨论】:

以上是关于如何在 Spring Boot Actuator Prometheus 指标中包含时间戳的主要内容,如果未能解决你的问题,请参考以下文章

如何启用Spring Boot Actuator的所有Endpoints

如何启用Spring Boot Actuator的所有Endpoints

使用Actuator 实现Spring Boot应用监控

spring boot actuator 如何显示详细信息

Spring Boot Actuator 的“httptrace”端点在 Spring Boot 2.2.0 中不再存在

Spring Boot Actuator [监控与管理]