2017-03-12 15 views
0

私のKubernetesオブジェクトには、バージョンや、障害が発生したときに連絡先などを注釈を付けます。これらの注釈値が頻繁に変更されることを知り、どのようにしてこの情報をプロメテウスに中継しますか?この情報をプロメテウスのラベルに取り込むことはできません。これはターゲットの主キーとして機能するためです(バージョンが変更された場合は、新しいターゲットになってしまいます)。ありがとう!Prometheusの様々なラベル

答えて

2

私はちょうどこの正確なトピックについてのブログ記事を書いています! https://www.weave.works/aggregating-pod-resource-cpu-memory-usage-arbitrary-labels-prometheus/

トリックはKubelet/cAdvisorで直接公開されないため、少しエクスポートして実行し、これをPromQLのポッド名と結合します。輸出は次のとおりです。私は、「名前」と呼ばれるラベルを使用していますが、それは任意のラベル可能性があり

sum by (namespace, name) (
     sum(rate(container_cpu_usage_seconds_total{image!=""}[5m])) by (pod_name, namespace) 
    * on (pod_name) group_left(name) 
     k8s_pod_labels{job="monitoring/kube-api-exporter"} 
    ) 

ここに:あなたはこのようプロメテウスに参加行うことができます

https://github.com/tomwilkie/kube-api-exporter

同じトリックを使用して、バージョンごとのメトリック(エラー率など)を取得し、それを使用して継続的な展開システムを駆動します。 kube-api-exporterはKubernetesオブジェクトに関する有用なメタ情報をプロメテウスに輸出します。

希望すると便利です。

関連する問題