[英]Prometheus cAdvisor docker monitoring
我使用Prometheus,Grafana和cAdvisor建立了一個docker監控堆棧。 使用此查詢來獲取正在運行的容器:
count_scalar(container_last_seen{name=~container1|container2})
它可以直接拿起容器,一旦我啟動一個新的容器就可以立即拿起它。 問題是當一個容器被停止或移除時它不會撿起它,它仍然將它顯示為一個正在運行的容器。
從cAdvisor / metrics端點,一旦容器停止,它就會被刪除。
查詢有問題嗎?
(這是我用於堆棧的內容: https : //github.com/vegasbrianc/prometheus )
它似乎與cAdvisor將數據存儲在內存中的時間量有關 。
雖然cAdvisor將數據保存在內存中,但您仍然在container_last_seen
指標中有一個有效的日期。 因此count_scalar
指令仍然“看到”容器,因為它具有有效值。
在我的測試設置中,cAdvisor在5分鍾內保存數據。 在此期間之后,我從您的公式中獲取了正確的信息,因為container_last_seen
指標已消失。
您可以使用--storage_duration
標志更改此cAdvisor配置。
--storage_duration=2m0s: How long to store data.
作為替代方案,如果您不想快速提醒,您還可以考慮運行一個查詢,將上次看到的日期與當前日期進行比較:
count_scalar(time()-container_last_seen{name=~"container1|container2"}<=60)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.