2016-10-30 3 views
4

kubernetes 클러스터에있는 모든 포드의 CPU 사용량을 계산하고 싶습니다. 나는 프로 메테우스의 두 지표가 유용 할 수 있습니다 발견 :모니터링으로 prometheus와 kubernetes에서 컨테이너의 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="/"}의 모든 두 번째의 증가를 발견했다. 그래서 사용 ... 1보다 클 수 있습니다

답변

6

내가 클러스터 레벨에서 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]))