我有这个普罗米修斯查询:
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 输入。
如果您需要选择所有带有标签
rPDU2DeviceStatusPower_gauge
且与 name
模式匹配的 p-device-*-region*
时间序列,请使用以下系列选择器:
rPDU2DeviceStatusPower_gauge{name=~"p-device-.*-region.*"}
它通过
=~
使用正则表达式过滤器。请参阅正则表达式允许的语法。请注意,VictoriaMetrics 和 Prometheus 会自动将 ^
放在正则表达式的前面,将 $
放在正则表达式的末尾,因此您无需自己添加它们。