Prometheus-匹配除一个指标外的所有指标

时间:2018-08-14 10:25:30

标签: prometheus

我该如何匹配除某些指标以外的所有Prometheus指标?

例如:{__name__!~"metric_to_discard"}

不起作用,它返回Error executing query: parse error at char 35: vector selector must contain at least one non-empty matcher

谢谢

1 个答案:

答案 0 :(得分:1)

这是一种安全机制,可避免因意外使用过宽的选择器而对Prometheus造成沉重负担。通常,您不需要查询(几乎)所有具有所有标签尺寸的指标。

通过添加带有..*.+完全匹配选择器的另一个维度来实现some hacky solution to workaround this safety check。 (安全检查也禁止使用.*

{job=~"..*", __name__!~"metric_to_discard"}

警告:请注意,此查询可能会非常严重地影响您的Prometheus实例,因此不应在生产系统上使用。

正如已经说过的那样,可能有一种更好的方法来获取您喜欢的结果,而无需查询几乎每个指标。请考虑发布一个新问题,描述您真正想要达到的结果。