Prometheus 理解PromQL聚合的结构?

Prometheus 理解PromQL聚合的结构?,prometheus,Prometheus,我是普罗米修斯的新手,我试图理解PromQL查询的语法规则。从文档中可以看出,([parameter,])[without | by()],考虑到它们所展示的示例,这是有意义的 然而,在Robust Perception的博客中,他展示了一些查询,如sum without(cpu)(rate(node_cpu[1m]),并且在内部有一个查询,用于扫描所有具有健康指标的作业countby(job)(up) 我在这里试图理解的是,似乎将参数或向量表达式传递到聚合器中是可选的——如果是,当您忽略向量表

我是普罗米修斯的新手,我试图理解PromQL查询的语法规则。从文档中可以看出,
([parameter,])[without | by()]
,考虑到它们所展示的示例,这是有意义的

然而,在Robust Perception的博客中,他展示了一些查询,如
sum without(cpu)(rate(node_cpu[1m])
,并且在内部有一个查询,用于扫描所有具有健康指标的作业
countby(job)(up)

我在这里试图理解的是,似乎将参数或向量表达式传递到聚合器中是可选的——如果是,当您忽略向量表达式时会查询什么

看来
count by(job)(向上)
count by(job)(向上)
是相似的,可能是等效的?这种格式是Go编程语言的产物,还是查询语言中未记录的灵活性

我在这里试图理解的是,似乎将参数或向量表达式传递到聚合器中是可选的——如果是,当您忽略向量表达式时会查询什么

如果不传递显式by/without子句,则与
by()
相同

这种格式是Go编程语言的产物,还是查询语言中未记录的灵活性


这两种方法都得到了支持,关于使用哪种方法存在争议。我建议将by/without放在前面,因为阅读非琐碎的表达式要容易得多。

我认为应该是“与
by()
”相同,而不是“与
without()
”相同。没错,你是对的。