2016-11-24 122 views
0

我想爲普羅米修斯編寫警報查詢。 如果任何節點消耗的內存超過特定的內存百分比,將引發警報。檢查普羅米修斯警報中每個節點的內存狀態

我想動態地取節點並檢查它的內存狀態。

  1. 閱讀所有節點

  2. 環比與查詢

    總和(container_memory_usage_bytes每個節點{工作= 「kubernetes節點」 ID = 「/」,例如= 「$節點」} )/總和(machine_memory_bytes {工作= 「kubernetes節點」,例如= 「$節點」})* 100

此提醒工作,如果我提供節點

的靜態名稱0
ALERT HighMemoryAlert 
    IF 100 * sum(container_memory_usage_bytes{job="kubernetes-nodes", id="/",instance="ip-170-10-10-17.eu-west-1.compute.internal"})/sum(machine_memory_bytes{job="kubernetes-nodes",instance="ip-170-10-10-17.eu-west-1.compute.internal"}) > 90 
    FOR 15m 
    LABELS { 
    service = "k8s", 
    severity = "warning" 
    } 
    ANNOTATIONS { 
    summary = "HighMemoryAlert" 
    } 

我不想靜態添加IP作爲K8S節點IP可以b切換的時間,如果任何節點崩潰的時期和不同的IP創建

回答

1

,同時保持比如你想要做的是聚集起來標籤,所以

sum by (instance)(container_memory_usage_bytes{job="kubernetes-nodes", id="/"}) 
/
    sum by (instance)(machine_memory_bytes{job="kubernetes-nodes"}) * 100 
+0

這工作..謝謝 – Priyanka