我使用Spring启动执行器作为内部API,另一个API使用它来监视Spring Boot应用程序。
问题是你必须查询每个属性。即/actuator/metrics/jvm.memory.used
因此,对于每个GET请求,我必须发出多个请求(与指标一样多)。
是否可以一次查询所有这些?
你没有开箱即用的弹簧开关api,但如果你愿意,你可以很容易地做到。您需要使用在查询MetricsEndpoint
apis时框架使用的端点/metrics
。
您需要在服务中使用@Autowire
,之后您可以使用listNames()
方法获取所有指标的名称。从提供的名称列表开始,您可以一次查询每个指标的详细信息。
Here你有参考页面。
如果您使用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
...