2016-08-05 262 views
2

如果我使用下面的查询普罗米修斯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返回结果。任何想法为什么发生这种情况而我需要在第二个查询中更改才能获得前5名?

回答

1

这些与topk观点相同的查询都应返回不超过5个结果。

我说得对,你没有把这个作为一个查询来运行,而是作为一个图表来运行吗?如果真的如此,你想选择哪个5?

+0

确实,它在格拉法纳的图表中使用。我想在这种情况下,我想看到平均CPU使用率最高的前5名。 –

+1

刚发现关于这个确切问题的票https://github.com/prometheus/prometheus/issues/586,所以我想现在没有好的解决方案。 –