9

我有一个查询,我试图在一个标签上加入两个指标。K_Status_Value == 5 和 ON(macAddr) state_details{live="True"}

标签 macAddr 出现在两个指标中。标签的值有时以大写字母 (78:32:5A:29:2F:0D) 出现在“K_Status_Value”中,有时以小写字母 (78:72:5d:39:2f:0a) 出现,但始终以大写字母出现“state_details”的情况。有什么方法可以让标签 macAddr 值在查询中不区分大小写,这样我就不会错过大小写不匹配的情况?

4

1 回答 1

18

我能想到两个选择

使用正则表达式“i”匹配修饰符:

在 Prometheus 用户邮件列表中引用 Ben Kochie 的话:

Prometheus 中的正则表达式匹配基于RE2 我认为您可以使用(?i(matchstring))

它确实有效:此指标up{instance="localhost:9090",job="prometheus"}与此表达式匹配:

up{job=~"(?i:(ProMeTHeUs))"}

在上述情况下,此提示无济于事。on (xx)加入或都无济于事group_left

使用记录规则:

我最初希望在摄取时使用记录规则来小写(in prometheus.yml)。但是,此功能目前未实现(问题 1548

于 2019-07-17T20:52:49.993 回答