【问题标题】:Prometheus get count of up metric 0 for give alertPrometheus 获得向上度量 0 的计数以发出警报
【发布时间】:2021-04-13 11:55:23
【问题描述】:

我在 Prometheus 上设置了警报,其中警报中有不同的作业。我想根据作业名称找出上周触发了多少次警报。所以有一个警报名称“A”并且有多个工作“B”,“C”,“D”,我想知道上周有多少次警报“A”因工作“B”而被解雇。

如果我使用以下表达式:

sum by(alertname) (changes(ALERTS_FOR_STATE[1w]))

它给了我上周发出的警报总数,但由于其中有多个工作,我无法弄清楚如何只计算特定工作的计数。

我想知道是否有其他方法可以实现相同的目标?

【问题讨论】:

    标签: alert monitoring prometheus


    【解决方案1】:

    下面的查询呢?

    sum by (alertname, job) (changes(ALERTS_FOR_STATE[1w]))
    

    【讨论】:

    • 它只显示 1 个计数,但我在上下文中的警报被触发了很多次。
    • 以下是我的警报:-警报:XYZ expr: up{job="XYX"} == 0 for: 15s,当我通过你给出的查询使用 sum 时,它不是检测到此警报。我已经读过更改(ALERT_FOR_STATE)仅在 ti 从挂起变为触发时才有效。我的警报触发了,但由于它没有正确显示计数,我认为它不会挂起。你能帮我吗?
    • 尝试将“for: 15s”增加到“for: 2m”。
    • 我无法改变。我需要监控我的服务器,使其停机时间不会超过 15 秒。它不适合普罗米修斯的用例吗?看看有多少次警报被触发?
    • 你的 scrape_interval 是多少?默认值为 1m。也许你应该刮得更快。
    猜你喜欢
    • 2021-05-27
    • 2020-02-28
    • 1970-01-01
    • 2022-07-13
    • 2021-04-13
    • 2023-02-07
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多