2016-08-05 9 views
2

Если я использую следующий запросPrometheus TopK возвращает больше результатов, чем ожидалось

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

возвращает 5 результатов epxected.

Однако с

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

около 18 результатов возвращаются. Любая идея, почему это происходит? И что мне нужно изменить во втором запросе, чтобы получить только пятерку?

ответ

1

Те же запросы с точки зрения topk, оба должны возвращать не более 5 результатов.

Буду ли я прав, говоря, что вы не выполняете это как запрос, а фактически как график? Если так, какие именно 5 вы хотите выбрать?

+0

Он действительно используется на графике в Графане. Думаю, в этом случае я бы хотел увидеть пятерку с самым высоким средним значением процессора. –

+1

Только что нашел билет https://github.com/prometheus/prometheus/issues/586 об этой точной проблеме, поэтому я думаю, что в настоящее время нет хорошего решения. –

 Смежные вопросы

  • Нет связанных вопросов^_^