PromQl-具有两个不同值的标签

问题描述 投票:0回答:1

我有这个普罗米修斯查询:

rPDU2DeviceStatusPower_gauge{name="p-device-one-region"}

我正在收集大约 200 个设备,我已通过在区域中添加 1 来更改名称,所以现在是这样的:p-device-one-region1、p-device-two-region1......等等

通过进行此更改,我注意到新数据带有新值 p-device-one-region1,之前的数据也带有旧名称。

因此,如果我想在进行更改后查看数据,我使用查询 rPDU2DeviceStatusPower_gauge{name="p-device-one-region"} 并查看新值,我需要使用这个:rPDU2DeviceStatusPower_gauge{name=" p-设备-一个-区域1"}

我想要的是在同一个查询中拥有旧的和新的名称值,所以基本上是这样的

rPDU2DeviceStatusPower_gauge{name="p-device-one-region|p-device-one-region1"},

但是由于我有 200 个设备,我想知道是否有。

是一种更智能的方法吗? 谢谢

我尝试了什么:

rPDU2DeviceStatusPower_gauge{name="p-device-one-region|p-device-one-region1"},

但是我需要这样做200次

我的期望: 找到一种动态方式将新数据连接到旧数据

请注意,我在 telegraf.conf 文件中生成所有这些内容,其中我定义了多个 Prometheus 输入。

prometheus grafana monitoring promql victoriametrics
1个回答
0
投票

如果您需要选择所有带有标签

rPDU2DeviceStatusPower_gauge
且与 name 模式匹配的
p-device-*-region*
时间序列
,请使用以下系列选择器

rPDU2DeviceStatusPower_gauge{name=~"p-device-.*-region.*"}

它通过

=~
使用正则表达式过滤器。请参阅正则表达式允许的语法。请注意,VictoriaMetrics 和 Prometheus 会自动将
^
放在正则表达式的前面,将
$
放在正则表达式的末尾,因此您无需自己添加它们。

© www.soinside.com 2019 - 2024. All rights reserved.