for*_*has 4 java monitoring prometheus
我在 Tomcat 上运行了一个简单的 java Web 应用程序,我想使用Prometheus对其进行监控。我使用官方客户端向我的 java 应用程序添加了一些计数器和仪表,我在另一台服务器上安装了 Prometheus,并且不想使用 Prometheus 从我的 java 应用程序中提取指标。
普罗米修斯有大量的出口商,但我不清楚哪一个适合我的用例。我考虑过使用Prometheus 推送网关,但根据文档,Pushgateway 的唯一有效用例是捕获服务级批处理作业的结果,这不是我的情况。我应该怎么做才能从我的 java 应用程序中提取指标?
为了注册 MetricsServlet:
如果您使用 spring-boot 注册一个 bean 来表示端点:
@Bean
ServletRegistrationBean registerPrometheusExporterServlet(CollectorRegistry metricRegistry) {
ServletRegistrationBean srb = new ServletRegistrationBean();
srb.setServlet(new MetricsServlet(metricRegistry));
srb.setUrlMappings(Arrays.asList("/prometheus"));
return srb;
}
Run Code Online (Sandbox Code Playgroud)
如果是非 Spring 应用程序,请在 web.xml 中添加 servlet:
<servlet>
<servlet-name>metrics</servlet-name>
<servlet-class>io.prometheus.client.exporter.MetricsServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>metrics</servlet-name>
<url-pattern>/metrics/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5012 次 |
| 最近记录: |