【问题标题】:Prometheus Alert.rules; How to filter by multiple jobs?普罗米修斯警报.rules;如何按多个职位筛选?
【发布时间】:2020-04-09 00:57:36
【问题描述】:

我的警报配置如下:

ALERT ServiceDown
IF up{job!="ABC"} == 0
FOR 2m...

我想做的是添加另一个工作来过滤掉,比如“XYZ”,所以像这样(语法不正确):

ALERT ServiceDown
IF up{job!="ABC" AND job!="XYZ"} == 0
FOR 2m...

应该很简单,但我在 prometheus.io 或其他任何地方都找不到任何示例。

有什么建议吗?谢谢!

【问题讨论】:

    标签: prometheus prometheus-alertmanager


    【解决方案1】:

    尝试使用正则表达式匹配,在您的情况下,您希望找到所有与 job==ABC 和 job==XYZ 不匹配的时间序列。
    !~ 标签匹配运算符将选择与提供的字符串不匹配的标签:

    ALERT ServiceDown
    IF up{job!~"ABC|XYZ"} == 0
    FOR 2m...
    

    【讨论】:

    • 感谢您的快速回复,但在尝试时,我遇到了这个错误:error parsing alert.rules: parse error at line 97, char 8: unexpected <op:!~> in label matching, expected identifier
    • 我的错,忘记job作为查询的一部分。,修复它。它应该是up{job!~"ABC|XYZ"}
    猜你喜欢
    • 2022-11-02
    • 2019-02-28
    • 2021-07-20
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2021-12-24
    相关资源
    最近更新 更多