<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
management.endpoints.web.exposure.include=*
management.metrics.enable.all=true
package com.example.demo;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.server.LocalServerPort;
import static io.restassured.RestAssured.given;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class IntegrationTest {
@LocalServerPort
private int port;
private String baseUrl;
@BeforeEach
public void setup() {
baseUrl = "http://localhost:" + port;
}
@Test
public void metricsEndpoint() throws Exception {
given().when().get(baseUrl + "/demo/actuator/prometheus")
.then()
.statusCode(200);
}
}
我在这里得到的错误是
java.lang.AssertionError: 1 expectation failed.
Expected status code <200> but was <404>.
而如果我对springboot执行器提供的任何其他endpoint重复相同的请求,我就会正确地获得响应,例如,我尝试了/acturet/health,/acturet/info,/acturet/metrics等。
只有在使用@springboot注释的集成测试中才会出现这种情况,这很奇怪,因为如果我运行应用程序并用postman向地址localhost:8080/actulator/prometheus发出请求,我会正确地得到响应。
这也发生在我身上,用的是Spring Boot2.4.1
我唯一能想到的是,@SpringBootTest中包含的endpoint使用了@Endpoint注释。
例如:
@Endpoint(id = "metrics")
public class MetricsEndpoint {}
@Endpoint(id = "loggers")
public class LoggersEndpoint {}
@WebEndpoint(id = "prometheus")
public class PrometheusScrapeEndpoint {}
我使用Spring-Boot2.0.0并尝试公开/acturet/prometheusendpoint。我启用了所有web管理endpoint,但只有prometheusendpoint未公开。有什么帮助吗?
我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s
null 使用默认配置和轻微的定制。 我可以访问prometheus、grafana和alertmanager,查询度量标准并查看精美的图表。 但是prometheus-adapter在启动时不断抱怨它不能访问/发现度量: 在我的设置中,对于prometheus-adapter的正确值是什么?
我要监控的应用程序为健康检查提供了一个apiendpoint,该endpoint使用json中的指标进行响应。例如: 我已经设置了Prometheus blackbox\u exporter,以监视此endpoint是否返回200 Ok,但理想情况下,我也希望获得这些指标。我知道instrumentation直接从应用程序导出这些数据。但是,由于应用程序已经在导出json对象中我想要的内容,我更希
关于整合齐普金和普罗米修斯的可能性的小问题。 目前,我们已经有了一个完全可用的Zipkin实例,以及它的web UI。Zipkin超级酷,一切都很好。 我们能够让所有微服务向Zipkin发送跟踪信息,并让Zipkin汇总这些信息。 我们还可以在UI中搜索痕迹等等,超级酷。 另一方面,我们也有一个非常成熟的经过实战检验的Prometheus Grafana,其中已经包含了容器级指标、应用程序级指标和
我在web服务中使用Prometheus Java simpleclient来跟踪有多少事件导致了这种或那种状态。 我可以在日志中检查计数器是否正在被调用,是否在内部递增,但是似乎很多时候数据都没有到达/metricsendpoint。 例如,就在刚才,在每隔几分钟为同一状态递增计数器3次之后,日志将打印出“当前值= 0,新值= 1”三次。前两次在/metricsendpoint上没有显示任何数据