我们在生产中有弹簧应用。它不是Spring-boot。我发现this post关于如何在非弹簧启动应用程序中使用spring-boot-actuator。
但是,对我们的要求是汇总来自/ metrics端点的数据并对其进行一些分析并报告状态指示器。
例如,我们可能会使用诸如的堆参数
{"heap.committed":480768,"heap.init":262144,"heap.used":294461,"heap":3728384,"threads.peak":37}
表示申请的状态 - 致命,警告或健康。
这只是一个例子。我们的要求更复杂。实际上,我们已经有一个status endpoint
我们要添加更多信息(基于来自/metrics
的{{1}}和/health
个端点的数据)。
我想要实现这一目标的一种方式是
使用应用程序对spring-boot-actuator
和/metrics
进行REST调用,收集数据,聚合它们并返回响应。我不认为这是推荐的方式。
如果有一个我可以直接提取这些参数的bean,我会自动将其自动装配并在需要时随时计算它们。 (事实上,我会安排定期计算)。
我对/health
返回的所有属性感兴趣。
我也对/metrics
中的以下内容感兴趣。
/health
我应该自动装配什么豆并免费获取这些属性!
由于
修改
此post有{"diskSpace":{"status":"UP","free":386186194944,"threshold":10485760}}
。但由于某种原因,它只返回自定义计数器属性。它不返回堆,内存信息等
例如:
@Autowired MetricRepository
答案 0 :(得分:22)
/metrics
的输出由MetricsEndpoint
生成。它可以作为bean使用@Autowired
。在其上调用invoke
可以为您提供所需的数据。
您可以/health
使用HealthEndpoint
执行相同操作。