2017-06-15 105 views
0

我想推送指標,例如處理HTTP請求或當前堆大小的時間,通過Spring Boot應用程序中的Pushgateway傳遞給Prometheus。在Spring Boot中將指標推送到普羅米修斯Pushgateway

我很掙扎,因爲有很多來自Spring Metrics或Prometheus的文檔,但他們都沒有解決我的具體問題。

最簡單的方法是使用@Timed註釋上RestController類,如下所述:http://projects.spring.io/spring-metrics/ 不過,我沒有看到,在那裏我可以爲pushgateway配置URL,如果@Timed註釋問自己剛將度量標準導出到/prometheus端點,並將它們從中拉出。

普羅米修斯指南,但是,告訴我使用simpleclient_pushgateway庫:https://github.com/prometheus/client_java#exporting-to-a-pushgateway

最後,還有另一種名爲SimpleClient的simpleclient_spring_boot,這將是普羅米修斯融入春天啓動的第三條道路。

能否請你告訴我,我怎麼能做到

A)從preferrably註解爲基礎的方法推動指標HTTP請求

B)爲每x秒

ÇJVM度量的一些方法)的配置(在application.yml文件)pushgateway

非常感謝您

回答

0

這是處理事情的錯誤方式,pushgateway不適用於每個實例的指標,如堆大小或請求時間(https://prometheus.io/docs/practices/pushing/)。

你想要做的是使用simpleclient_spring_boot揭露一個普羅米修斯會直接刮掉的/metrics端點。

+0

對不起,我應該說明爲什麼我需要pushgateway :-) 我們的應用程序已部署到Cloud Foundry。使用Prometheus輪詢它們會導致不同的值,這取決於當前哪個實例響應請求。這就是爲什麼我喜歡將每個實例的指標推送到pushgateway並在Grafana中區分它們。 – user3105453

+0

這仍然不是推薦的方法。我相信Cloud Foundry的方法是做一些服務發現,然後做一些事情來添加一個HTTP標頭來與正確的實例交談。 –

相關問題