是否可以在restendpoint中公开所有的Spring度量?
我使用的是spring Boot2.2.2并添加了这个依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.3.1</version>
</dependency>
application.yml
management:
endpoints:
web:
exposure:
include: health, metrics, prometheus
在想法的层面上,你做的一切都是正确的,千分尺确实是这里要走的路。
在pom.xml
定义级别,您不需要设置版本:如果Spring Boot的version或Micrometer/Micrometer-Prometheus
模块与您的定义发生冲突,它可能无法正常工作。
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
除此之外,如果您只使用core-micrometer(甚至没有prometheus集成),那么您有metrics
endpoint,它也以“通用”格式显示所有的度量。普罗米修斯以普罗米修斯可以刮削的格式显示度量标准。对于您的用例,似乎两种方式都可以工作,但您必须熟悉您选择的任何一种方式的格式。
还有一件事我想回答:你说终结点没有完成。
我只能推测,因为基本上可能有很多原因(其中之一是我上面提到的版本冲突)--但都是bug,它不应该像那样工作。
另一个原因是,您可能已经定义了一个以千分尺为单位的量规,为了进行计算,它会执行一些“昂贵”的计算:转到出于某种原因需要很长时间才能访问的数据库,调用一些昂贵的httpendpoint,等等。
当调用restendpoint时,它获取所有计量原语的“快照”(当前值),对于量规,它实际上调用可以执行任何操作的自定义代码,所以我会检查这一点。
还有一个原因可能是连接/安全配置(请求根本没有到达执行器),但考虑到您提供的信息,我不能说更多...
我正在使用Spring Boot Data Rest,我可以使用下面的URL列出所有endpoint: 它列出了以下endpoint: } 但我在控制器中创建了一个自定义endpoint,如下所示 } 但是这个终点(http://localhost:8080/api/tacos/recent)执行“在基本路径上获取”时未列出。
我正在使用非spring-boot应用程序,但我需要公开endpoint,它将返回在应用程序中配置的缓存。我看到了这篇文章,但它是针对Spring-Boot-ActuretVersion1.x的,我使用的是Spring-Boot-ActuretVersion2.1.3.Release,因为缓存endpoint在这个版本中可用。
我们是关于Spring Boot1.5.2应用程序和执行器endpoint的一些问题。 有时,当我们启动Spring Boot应用程序时,spring mvc不会通过HTTP公开执行器endpoint。我没有找到任何模式,我新启动了相同的应用程序3或4次,以便公开这些endpoint。 null application.yml中的配置: 在日志中,我们希望找到如下所示: 但我们发现:
问题内容: 我刚刚尝试发现它现在不包含本机方法,而是将它们委托给some ,例如: 反过来,最新的实际上看起来像旧的,但是现在这些方法都带有一些注释: 那么,使用启动JDK9是否“安全” ?现在是公共官方API吗? 问题答案: 这是一个很好的解释: https://adtmag.com/blogs/watersworks/2015/08/java-9-hack.aspx 在Java 9中如何处理s
可以用与Spring-Boot1.5类似的方式获取hystrix度量信息? 在1.5度量endpoint中,我有如下内容: 但现在有了使用千分尺的执行器/度量endpoint,我找不到任何对术语“Hystrix”、“Netflix”等的引用。 有什么方法可以不像我以前那样使用hystrix.streamendpoint来获取这些信息?或者这应该是有效的,我做错了什么吗?