【问题标题】:Spring Boot 2.0.0.M6: Show all metrics with one requestSpring Boot 2.0.0.M6:一次请求显示所有指标
【发布时间】:2017-11-10 09:35:18
【问题描述】:

使用 Spring Boot 2.0.0.M6 和新的执行器指标端点,当我请求时

GET /application/metrics

仅显示指标的名称

{
  "names" : [ "data.source.active.connections", "jvm.buffer.memory.used", "jvm.memory.used", "jvm.buffer.count", "logback.events", "process.uptime", "jvm.memory.committed", "data.source.max.connections", "http.server.requests", "system.load.average.1m", "jvm.buffer.total.capacity", "jvm.memory.max", "process.start.time", "cpu", "data.source.min.connections" ]
}

显然,我可以使用 GET /application/metrics/jvm.memory.used

但是有没有办法通过一个请求查看所有指标?

【问题讨论】:

    标签: spring spring-boot spring-boot-actuator


    【解决方案1】:

    这就是 metrics 端点在 Spring Boot 2.0.0M* 版本中的行为方式。 endpoint class中只定义了两个读操作:

    • ListNamesResponse listNames()
      • 解析为GET /application/metrics
    • MetricResponse metric(@Selector String requiredMetricName, @Nullable List<String> tag)
      • 解析为GET /application/metrics/jvm.memory.used

    指标支持在 2.x 中发生了巨大变化(现在由 Micrometer 提供支持),Spring Boot 2.x upgrade guide 目前缺乏指标的任何细节,但它正在进行中,所以大概更多细节会随着 Spring 到来Boot 2.0 更接近 GA 版本。

    我怀疑从分层指标到维度指标的转变导致维护人员认为 1.x(分层)指标显示不再可行/不合适。

    【讨论】:

      【解决方案2】:

      Spring boot 2 默认已删除此功能,但如果这是您的应用程序的要求,那么此自定义实现将满足您的目的:https://github.com/csankhala/spring-metrics-grabber

      从本地存储库中为您的应用添加依赖项

      compile("org.springframework.boot:spring-metrics-grabber:1.0.0-SNAPSHOT");
      compile("org.springframework.boot:spring-boot-starter-actuator");
      

      将 MetricxEndpoint.class 添加到@SpringBootApplication 扫描路径

      import org.springframework.metricx.controller.MetricxEndpoint;
      
      @SpringBootApplication(scanBasePackageClasses = { MetricxEndpoint.class, YourSpringBootApplication.class })
      public class YourSpringBootApplication {
          public static void main(String[] args) {
              new SpringApplication(YourSpringBootApplication.class).run(args);
          }
      }
      

      所有指标都将发布在 '/metricx' 端点上,同时具有名称和值

      还支持模式搜索,例如'/metricx/jvm.*'

      【讨论】:

      猜你喜欢
      • 2018-04-22
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 2018-06-06
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      相关资源
      最近更新 更多