Wie berechne Container' cpu-Auslastung im kubernetes mit prometheus als monitoring?
Möchte ich berechnen, die cpu-Auslastung alle Hülsen in einem kubernetes cluster. Ich fand zwei Metriken in prometheus können hilfreich sein:
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)
Allerdings fand ich jede Sekunde in einer Schrittweite von container_cpu_usage{id="/"}
größer als die Schrittweite der sum(process_cpu_seconds_total)
. Also die Verwendung größer sein kann als 1...
InformationsquelleAutor Haoyuan Ge | 2016-10-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diesen werde ich benutzen, um die CPU-Auslastung auf cluster-Ebene:
Ich auch den CPU-Auslastung für jeden pod.
Habe ich eine komplette kubernetes-prometheus-Lösung auf GitHub, vielleicht können die Ihnen helfen, mit mehr Metriken: https://github.com/camilb/prometheus-kubernetes
sum (rate (container_cpu_usage_seconds_total{id="/"}[1m])) / sum (machine_cpu_cores) * 100
stellt einen Prozentsatz der cpu-Auslastung, oder einfach eine Reihe von Kern, dass der container verbrauchen?Ich bin immer einige seltsame Ergebnisse mit
sum (rate (container_cpu_usage_seconds_total{id="/"}[1m])) / sum (machine_cpu_cores) * 100
alle meine Container bekomme ich eine Zahl zwischen 0 und 1, aber für nginx-eindringen-controller und fluentd-gcp-ich bekomme von 0 bis 3...InformationsquelleAutor Camil
gut Sie können, verwenden Sie die folgende Abfrage als auch
avg (rate (container_cpu_usage_seconds_total{id="/"}[1m]))
InformationsquelleAutor Deepak
Ich meine eigene prometheus-Exporteur (https://github.com/google-cloud-tools/kube-eagle), in Erster Linie, um einen besseren überblick über meine Ressourcen-Auslastung auf einer pro-Knoten-basis. Aber es bietet auch eine intuitivere Art der überwachung der CPU-und RAM-Ressourcen. Die Abfrage an den cluster breiten CPU-Auslastung würde dann so Aussehen:
Aber Sie können auch leicht die CPU-Nutzung von namespace-Knoten oder nodepool.
InformationsquelleAutor kentor