当前位置: 首页 > 知识库问答 >
问题:

合并一个endpoint上的Spring引导执行器和千分尺数据

姬庆
2023-03-14

我有许多应用程序正在使用SpringBoot执行器将度量发布到/metricsendpoint。

我有一些其他应用程序也在使用Micrometer将度量发布到/Prometheusendpoint。

最后,我有一个云提供商,它只允许我从一个endpoint提取度量。他们有许多预先准备好的Grafana仪表板,但大多数是针对执行器变量名的。有些是针对千分尺变量名的。

千分尺输出相同的数据,但它使用的名称与执行器不同,例如“jvm_memory”而不是“mem”。

任何想法都非常感谢。

共有1个答案

伏建修
2023-03-14

最好的解决方案可能取决于仪表板的复杂性。您可以只配置一组仪表,以其他名称报告值,然后只使用千分尺刮取endpoint。例如:

@Bean
public MeterBinder mapToOldNames() {
    return r -> {
        r.gauge("mem", Tags.empty(), r, r2 -> r2.find("jvm.memory.used").gauges()
                .stream().mapToDouble(Gauge::value).sum());
    };
}

请注意,在本例中,我们是如何转换一个以千分尺为单位的内存量规(针对堆/非堆内存的不同方面),并将它们卷成一个量规,以与旧的方式相匹配。

 类似资料:
  • 我试图获得Spring引导执行器的概念度量。执行器度量由千分尺实现。依赖关系已经包含在执行器起动机pom中了,我猜?有一个“/metrics”endpoint。但是数据保存在哪里呢?对于洞时间,我的应用程序正在运行? 我可以加上其他像普罗米修斯这样的监控系统。它将从/Prometheusendpoint刮取数据。但是,它只是相同数据的另一种格式?

  • 我有一个Spring Boot应用程序,我有以下依赖关系:

  • 但我想要一些我可以调用从AWS弹性负载均衡器/自动缩放组。默认情况下,如果一个实例未通过健康检查,ELB/ASG将终止它并用一个新的实例替换它。问题是一些健康检查,如DataSourceHealthIndicator,会在数据库关闭时向下报告,但我的应用程序实例在其他方面是完全健康的。如果我使用默认行为,AWS将抛出完全正常的实例,直到数据库重新启动,这将导致我的账单增加。 我可以去掉DataSo

  • 我有一个使用spring Boot1.4.2和CXF JAXR的项目设置。我想把Spring引导执行器添加到项目中。这是我添加到项目中的配置。 在此之后创建一个WAR文件,然后将其部署在外部tomcat服务器中。但是当我访问健康URL localhost:8080/management/health时,它给出的是404 HTTP代码。服务器正常启动,我可以看到包含以下详细信息的日志: 运行状况配置

  • {“Status”:“Down”} 我需要做什么才能显示自定义健康状况指示器?

  • null 这是我的应用程序。属性: 当我发出此http请求时: 它回报我: