解析带有正则表达式的警报“ expr”时出错

时间:2019-10-28 19:47:26

标签: prometheus prometheus-alertmanager

我正在尝试使用包含正则表达式的“ expr ”定义警报规则

Metric: XYZ-POST-failure-400-1min-rate

- alert: alert_name_here
  expr: __name__=~"(.*)-POST-failure-\d{3}-1min-rate" > 0

使用“ promtool

对此进行单元测试
Error
group "group_name", rule 1, "alert_name_here": could not parse expression: parse error at char 10: unexpected character after '=': '~'

Prometheus警报管理器甚至支持此功能吗? 有人可以指导我实现此目标的正确方法是什么吗?

谢谢

1 个答案:

答案 0 :(得分:0)

该表达式应为有效的PromQL查询,您缺少花括号将其设为valid vector selector

{__name__=~"(.*)-POST-failure-\d{3}-1min-rate"} > 0

您可以在Prometheus界面中对其进行测试。

关于YAML具有大括号的问题,您可以使用允许使用特殊字符序列的单引号:

- alert: alert_name_here
  expr: '{__name__=~"(.*)-POST-failure-\d{3}-1min-rate"} > 0'