Prometheus 正则表达式匹配不同的标签

Prometheus regex match on different labels

我想在 prometheus 中基于所有标签做一个过滤器。假设我在 prometheus 中的标签是实例,cpu,查询模式 node_cpu_seconds_total,我想做这样的操作,

input = ".*abc.*"

node_cpu_seconds_total{instance=~".*abc.*" or mode=~".*abc.*" or cpu=~".*abc.*"}

基本上我希望将我的正则表达式与所有标签值进行比较。有解决办法吗?

您无法通过 vector selectors but you can use union operator OR 获得选择的并集:

node_cpu_seconds_total{instance=~".*abc.*"} or \
node_cpu_seconds_total{mode=~".*abc.*"} or \
node_cpu_seconds_total{cpu=~".*abc.*"}

但是没有 all label values 选择器 - 这意味着您必须指定所有标签。

请注意,这是一种相当奇怪的请求。