[英]Use Container Metrics from Prometheus
我將Prometheus以及cAdvisor和Grafana部署到了群集中。 它工作得非常好。 我在Grafana的UI上獲得了我需要的所有數據。 我開始使用Prometheus Java API來使用此數據。 例如,獲取CPU使用率,如果它具有某個值,則將執行某些操作。
我在Grafana上顯示的是每個容器的容器CPU使用率。 現在,如果可能的話,我想通過Java API獲得該信息(如果沒有的話)。 但是,當然PromQL查詢在Java程序中不可用(根據我的嘗試,但我可能是錯的)。
我想到了幾種方法:
例如: node_cpu
會給我一些數據。 但是,如果我想要更精確的信息,則需要發送一個請求,例如irate(node_cpu{job="prometheus"}[5m])
,這是無法通過Java實現的。
有沒有辦法讓我獲得更精確的指標?
Prometheus支持與語言無關的REST API請求。 您只需要發送帶有查詢的HTTP請求並處理響應即可。
請參見下面的示例,該示例是從其網站復制而來的。
以下HTTP GET請求:
http://localhost:9090/api/v1/query?query=up&time=2015-07-01T20:10:51.781Z
返回如下內容:
{
"status" : "success",
"data" : {
"resultType" : "vector",
"result" : [
{
"metric" : {
"__name__" : "up",
"job" : "prometheus",
"instance" : "localhost:9090"
},
"value": [ 1435781451.781, "1" ]
},
{
"metric" : {
"__name__" : "up",
"job" : "node",
"instance" : "localhost:9100"
},
"value" : [ 1435781451.781, "0" ]
}
]
}
}
還有更多細節, 在這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.