【问题标题】:Monitor Java web-app using Prometheus使用 Prometheus 监控 Java Web 应用程序
【发布时间】:2017-10-19 06:25:15
【问题描述】:
【问题讨论】:
标签:
java
monitoring
prometheus
【解决方案1】:
为了注册 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;
}
如果是非 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>
【解决方案2】:
您应该让您的应用程序通过 HTTP 公开指标。您可能希望将servlet 挂接到您现有的网络服务器中。