PromQL:查询警报是不是被静音

Posted

技术标签:

【中文标题】PromQL:查询警报是不是被静音【英文标题】:PromQL: query whether an alert is silencedPromQL:查询警报是否被静音 【发布时间】:2018-02-08 20:30:42 【问题描述】:

我已成功消除当前已关闭节点的警报(在我们有时间物理替换它之前将等待一段时间)。

虽然我认为静默会阻止警报重新出现在松弛通道中,但我还想在我们在 prometheus 顶部运行的 grafana 仪表板上摆脱它。这是 grafana 中各个图块的查询。

sum(ALERTSalertname="NodeDown", alertstate="firing")

我的问题是,是否有一个关键字可以替换“射击”,“未静音”不起作用(“静音”也不行;)只会向我显示警报未静音的机器。

【问题讨论】:

【参考方案1】:

Alertmanager 中完全存在沉默,普罗米修斯对它们一无所知。因此,没有任何指标可以让您知道警报在 Prometheus 内部已被静音。

【讨论】:

感谢(对于响应和伟大的产品) - 理解。从警报管理器中获取警报统计信息(希望我能以某种方式暴露“沉默”)并将其作为指标摄取到普罗米修斯中是否可行? 技术上应该是可能的,尽管总体上它可能不是最好的主意。 暂时摆脱触发警报的最佳做法是什么?我知道这台机器又消失了 2 周......从监控中删除它似乎很愚蠢,我必须记住在它修复后再次添加它。 :// 这就是沉默的用途:)【参考方案2】:

您可以添加一个 prometheus 作业来抓取警报管理器。然后你会得到像alertmanager_silences这样的指标

# HELP alertmanager_silences How many silences by state.
alertmanager_silencesstate="active" 0
alertmanager_silencesstate="expired" 0
alertmanager_silencesstate="pending" 0

【讨论】:

嗨@Rafa ...虽然这看起来像一个有趣的指标来调查您的答案并不能解决我的问题... @tink 哎呀。对不起。当时误会了

以上是关于PromQL:查询警报是不是被静音的主要内容,如果未能解决你的问题,请参考以下文章

PromQL 是不是有三元运算符或如何按条件查询?

PromQL

午夜范围内小时()的 PromQL 使用情况

PromQL 查询之间的区别

PromQL/prometheus 查询 label_replace() 多个

PromQl:对计数器的第一个值发出警报