我想使用Prometheus在我的应用程序中添加路径“ localhost:8080 / metrics”,以查看变量上的Counter
。我读到,对于Spring Boot应用程序,我只需要主类上的注释。
package hello;
import io.prometheus.client.spring.boot.EnablePrometheusEndpoint;
import io.prometheus.client.spring.boot.EnableSpringBootMetricsCollector;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnablePrometheusEndpoint
@EnableSpringBootMetricsCollector
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
如何在没有@SpringBootApplication
的非Spring Boot应用程序中获得相同的结果。
可以通过注册多个servlet来实现吗?
答案 0 :(得分:3)
您可能想将Prometheus servlet添加到您的应用程序。
我将举例说明the documentation中引用的Jetty服务器:
Server server = new Server(1234);
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
server.setHandler(context);
context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
依赖项io.prometheus.simpleclient_spring_boot
是Spring Boot的集成。相反,您应该查看核心库io.prometheus.simpleclient
。