使用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
但是有没有办法通过一个请求查看所有指标?
答案 0 :(得分:0)
这就是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
Mex支持在2.x中发生了巨大变化(目前由Micrometer支持),而Spring Boot 2.x upgrade guide目前缺少有关指标的任何细节,但这是一项正在进行中的工作,因此可能更多细节随着Spring Boot 2.0越来越接近GA发布,它将会成为现实。
我怀疑从分层指标到维度指标的转变导致维护者认为1.x(层级)指标显示不再可行/适合。
答案 1 :(得分:0)
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。*'