2017-07-03 68 views
2

我配置prometheus.yml文件普羅米修斯不能拉配置指標

# my global config 
global: 
scrape_interval:  15s # Set the scrape interval to every 15 seconds. 
Default is every 1 minute. 
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is 
every 1 minute. 
# scrape_timeout is set to the global default (10s). 

# Attach these labels to any time series or alerts when communicating with 
# external systems (federation, remote storage, Alertmanager). 
external_labels: 
monitor: 'codelab-monitor' 

# A scrape configuration containing exactly one endpoint to scrape: 
# Here it's Prometheus itself. 
scrape_configs: 
- job_name:  'example-random' 

# Override the global default and scrape targets from this job every 5 seconds. 
scrape_interval: 5s 

static_configs: 
    - targets: ['localhost:8090'] 
    labels: 
     group: 'dummy' 

和註冊度量與普羅米修斯

public class PrometheusMetricsServlet extends MetricsServlet { 

private static final Gauge emailCount = Gauge.build().name("email_count") 
     .help("Number of emails sent by the user") 
     .register(); 



@Override 
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
    resp.setStatus(200); 
    emailCount.set(54); 
} 
} 

則配置在web.xml一個servlet

<servlet> 
    <servlet-name>PrometheusServlet</servlet-name> 
    <servlet-class>prometheusSpike.PrometheusMetricsServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>PrometheusServlet</servlet-name> 
    <url-pattern>/metrics</url-pattern> 
</servlet-mapping> 

目標的狀態顯示爲UP,最後一次刮擦發生在幾秒之前,但該度量不是開始克反映在普羅米修斯。

該怎麼做prometheus從目標中提取配置的指標?

回答

2

當您覆蓋doGet時,您無法運行公開指標的代碼。按原樣使用MetricsServlet,您將看到您的指標。

+0

謝謝,這解決了我的問題 – poojabh

相關問題