如何在警报管理器路由匹配中不写条件? 我只想在严重性不重要的情况下执行此条件。
routes
- match_re:
severity: ^(?!critical)
receiver: teams-channel-webhook-high-priority
我尝试了上述正则表达式条件,但是没有用。
我也尝试过
not_match_re:
severity: critical
即使没有用。
答案 0 :(得分:0)
答案: 您可以创建嵌套的路由树,实际上使您具有“ if ... then ... else ...”功能。
routes:
- ... something to do always
continue: true
- match:
severity: critical
routes:
- ... things to do when critical
- ...
- ... things to do when not critical
- ...
完全排除“ match”条件会使规则始终匹配。
请注意,“ continue:true”将在比赛后继续进行下一个规则,但仅在同一级别进行。如果没有匹配项,它将仅落入父规则集。
或者,当然,您可以明确匹配所有非关键级别,例如match_re:严重性:“调试|信息|警告”
答案 1 :(得分:0)
match
和 match_re
已在 route
中弃用,转而使用 matcher
matchers
接受条件列表(和)并支持正则表达式匹配 =~
和不匹配 !~
运算符。
route:
# root route
routes:
- receiver: recvA
matchers:
- severity!~"^critical$"
- receiver: recvB
# route:receiverB with no matchers will always match if the previous routes don't