Prometheus 如何从联邦成员端点获取所有指标?
我们有一个层次结构的普罗米修斯设置,其中一些服务器与另一些服务器相冲突。 我们希望有一些服务器从其他服务器上获取所有指标 目前,我们尝试使用Prometheus 如何从联邦成员端点获取所有指标?,prometheus,Prometheus,我们有一个层次结构的普罗米修斯设置,其中一些服务器与另一些服务器相冲突。 我们希望有一些服务器从其他服务器上获取所有指标 目前,我们尝试使用match[]=“{{uuuuu name\uuuuu=~“*”}”作为度量选择器,但这会在char 16处产生错误parse error:向量选择器必须至少包含一个非空的匹配器 有没有一种方法可以从远程普罗米修斯(prometheus)中刮取所有度量值,而不将每个(前缀)列为匹配选择器?是的,您可以这样做:match[]=“{uuuuuuuuuuuu na
match[]=“{{uuuuu name\uuuuu=~“*”}”
作为度量选择器,但这会在char 16处产生错误parse error:向量选择器必须至少包含一个非空的匹配器
有没有一种方法可以从远程普罗米修斯(prometheus)中刮取所有度量值,而不将每个(前缀)列为匹配选择器?是的,您可以这样做:
match[]=“{uuuuuuuuuuuu name.=~+“}”
(请注意+
而不是*
以不匹配空字符串)
普罗米修斯在一个标签匹配器集中至少需要一个匹配器,但该匹配器并不匹配所有内容。联盟并不打算传输所有指标,如果您尝试这样做,最终会遇到问题
相反,把你想要的指标汇总起来,然后只将它们联合起来。我已经尝试了多个例子,即使是普罗米修斯文档中的例子,但都不起作用 相反,这对我有用
http://prometheus-ip:9090/federate?match[]={job!=""}
这是我的配置文件 有了这些限制,您可以筛选出哪些出口商(工作)将被裁掉:
params:
'match[]':
- '{job=~"node-exporter|kube-state|fluentbit"}'
- '{__name__=~"job:.*"}'
将这些添加到您的联合作业中
params:
match[]:
- '{__name__=~".+"}'
- '{__name__=~"^job:.*"}'
- '{job="prometheus"}'
- '{job="node"}'
- '{__name__="server_labels"}'
我试图达到相同的配置,在尝试了多个解决方案后,实际对我有效的解决方案是:
params:
match[]:
- '{job=~".+"}'
这个简单的设置收集了所有具有
作业
的度量。同样的方法不适用于{{uuuuu name\uuuu=~“job:.*}
谢谢您的警告。当我们遇到麻烦的时候,我会记住这一点,但现在我确信删除所有的指标是可以的。当事情解决后,我们会回到愤怒前,我们对需要查找什么和不需要查找什么有了更好的理解。我发现在prom 2.0.0上uuuu name uuu=~“.*”工作正常。注意{}之外不必要的“标记”。某些记录规则度量没有标签作业