2016-11-24 6 views
0

prometheusの警告クエリを書きたいと思います。 いずれかのノードがメモリの特定の%以上を消費している場合に警告を発します。prometheusのアラート内のすべてのノードのメモリ状態を確認してください

ノードを動的に取得し、そのメモリステータスをチェックしたいと考えています。

  1. クエリ

    和(container_memory_usage_bytes {ジョブが= "kubernetes・ノード"、ID = "/"、インスタンス= "$ノード"}を有する各ノード上

  2. ループすべてのノードを読み取ります)/ SUM(machine_memory_bytes {ジョブ= "kubernetes・ノード"、インスタンス= "$ノード"})* iがノード

    の静的な名前を提供する場合100

このアラート作品インスタンスを維持しながら、私はK8SノードIPとして静的にIPを追加したくない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を使用して作成Bすることができます

答えて

1

何がやりたいことは、最大凝集体でありますラベルなので、

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

これはうまくいきました。 – Priyanka

関連する問題