在使用Prometheus的警报规则时,如果包含元字符(如句点、小写字母d等)时可能会遇到的问题

由于在编写警报规则的表达式时遇到了困难,花费了几个小时,我只好舍弃不做了。

 

按照下面的方式,我们使用了以下的RE2来进行正则表达式处理。

 

但是,若是使用正則表達式的匹配器,在包含元字符時,不能像下面這樣做。

{instance =~ ".*\.recovery\d*\..*"}

当你看到这个地方时就会知道发生错误的情况。

需要将转义字符进行双重转义。

{instance =~ ".*\\.recovery\\d*\\..*"}

成功的样子就在这里。

需要转义斜杠以识别为转义字符的原因是…。

在Ansible模板中经常会遇到的问题。

广告
将在 10 秒后关闭
bannerAds