我该如何匹配除某些指标以外的所有Prometheus指标?
例如:{__name__!~"metric_to_discard"}
不起作用,它返回Error executing query: parse error at char 35: vector selector must contain at least one non-empty matcher
。
谢谢
答案 0 :(得分:1)
这是一种安全机制,可避免因意外使用过宽的选择器而对Prometheus造成沉重负担。通常,您不需要查询(几乎)所有具有所有标签尺寸的指标。
通过添加带有..*
或.+
完全匹配选择器的另一个维度来实现some hacky solution to workaround this safety check。 (安全检查也禁止使用.*
)
{job=~"..*", __name__!~"metric_to_discard"}
警告:请注意,此查询可能会非常严重地影响您的Prometheus实例,因此不应在生产系统上使用。
正如已经说过的那样,可能有一种更好的方法来获取您喜欢的结果,而无需查询几乎每个指标。请考虑发布一个新问题,描述您真正想要达到的结果。