2016-10-30 13 views
4

kubernetesクラスタ内のすべてのポッドのCPU使用率を計算します。私はプロメテウスに2つの指標が有用である可能性が見つかりました:プロメテウスを監視しているキューブネットでコンテナのCPU使用量を計算するには?

container_cpu_usage_seconds_total: Cumulative cpu time consumed per cpu in seconds. 
process_cpu_seconds_total: Total user and system CPU time spent in seconds. 

Cpu Usage of all pods = increment per second of sum(container_cpu_usage_seconds_total{id="/"})/increment per second of sum(process_cpu_seconds_total) 

しかし、私はsum(process_cpu_seconds_total)の増加分よりも大きなcontainer_cpu_usage{id="/"}の毎秒の増加を発見しました。だから、使用量が...

答えて

6

この1よりも大きくすることができる私は、クラスタレベルでCPU使用率を取得するために使用しています:

sum (rate (container_cpu_usage_seconds_total{id="/"}[1m]))/sum (machine_cpu_cores) * 100 

私も各ポッドのCPU使用状況を追跡します。

sum (rate (container_cpu_usage_seconds_total{image!=""}[1m])) by (pod_name) 

私は多分複数のメトリックのお手伝いをすることができ、GitHubの上に完全なkubernetes-プロメテウスのソリューションを持っている:https://github.com/camilb/prometheus-kubernetes

enter image description here

enter image description here

+0

'sum(rate(container_cpu_usage_seconds_total {id ="/"} [1m]))/ sum(machine_cpu_cores)* 100 は、CPU使用率のパーセンテージ、またはコンテナが消費するコア数? –

0

だけでなくあなたにも、クエリの下に使用することができます

avg (rate (container_cpu_usage_seconds_total{id="/"}[1m]))

関連する問題