如何一次查询所有/执行器/指标?

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

我使用Spring启动执行器作为内部API,另一个API使用它来监视Spring Boot应用程序。

问题是你必须查询每个属性。即/actuator/metrics/jvm.memory.used

因此,对于每个GET请求,我必须发出多个请求(与指标一样多)。

是否可以一次查询所有这些?

java spring-boot spring-boot-actuator
2个回答
3
投票

你没有开箱即用的弹簧开关api,但如果你愿意,你可以很容易地做到。您需要使用在查询MetricsEndpoint apis时框架使用的端点/metrics

您需要在服务中使用@Autowire,之后您可以使用listNames()方法获取所有指标的名称。从提供的名称列表开始,您可以一次查询每个指标的详细信息。

Here你有参考页面。


2
投票

如果您使用Prometheus,它将公开新的/actuator/prometheus端点,它将立即列出所有指标。见this tutorial for examples

# HELP jvm_buffer_memory_used_bytes An estimate of the memory that the Java virtual machine is using for this buffer pool
# TYPE jvm_buffer_memory_used_bytes gauge
jvm_buffer_memory_used_bytes{id="direct",} 81920.0
jvm_buffer_memory_used_bytes{id="mapped",} 0.0
# HELP jvm_threads_live The current number of live threads including both daemon and non-daemon threads
# TYPE jvm_threads_live gauge
jvm_threads_live 23.0
# HELP tomcat_global_received_bytes_total  
# TYPE tomcat_global_received_bytes_total counter
tomcat_global_received_bytes_total{name="http-nio-8080",} 0.0
...
© www.soinside.com 2019 - 2024. All rights reserved.