2016-08-05 4 views
2

erwartet Wenn ich die folgende Abfrage verwendenPrometheus TopK gibt mehr Ergebnisse als

topk(5,sum(container_memory_usage_bytes{kubernetes_container_name=~".+", kubernetes_namespace=~".+"}) by (kubernetes_namespace,kubernetes_container_name)) 

es 5 Ergebnisse liefert als epxected.

jedoch mit

topk(5,sum(irate(container_cpu_usage_seconds_total{kubernetes_container_name=~".+", kubernetes_namespace=~".+"}[20s])) by (kubernetes_namespace,kubernetes_container_name)) 

um 18 Ergebnisse zurückgegeben. Irgendeine Idee, warum das passiert? Und was muss ich in der zweiten Abfrage ändern, um nur die Top 5 zu bekommen?

Antwort

1

Das sind die gleichen Abfrage von der topk Standpunkt, beide sollten nicht mehr als 5 Ergebnisse zurückgeben.

Wäre es richtig zu sagen, dass Sie das nicht als Abfrage ausführen, sondern tatsächlich als Diagramm? Wenn ja, welche 5 möchtest du wählen?

+0

Es wird tatsächlich in Grapha in Grafana verwendet. Ich denke, in diesem Fall würde ich gerne die Top 5 mit der höchsten durchschnittlichen CPU-Auslastung sehen. –

+1

Gerade gefunden Ticket https://github.com/prometheus/prometheus/issues/586 über dieses genaue Problem, so denke ich, es gibt keine gute Lösung zu diesem Zeitpunkt. –

Verwandte Themen