alertmanager清除(使失效)告警记录

问题描述

如何在Prometheus的告警没有自动恢复的情况下,手动清除(或者使失效)alertmanager里的告警记录?

解决过程

通过博客【alertmanager源码阅读 - alerts接收】,找到Prometheus和alertmanager之间交互的接口。通过该接口猜测我把修改了解决状态或者过期时间的告警记录,再通过改接口推给alertmanager,就可以达到让alertmanager里指定告警记录失效、过期的效果。过程中多次报参数模型不对的问题,经过调整、尝试,找到了正确的参数模型。

步骤1:现获取alertmanager里的告警记录,并筛选出你想要失效的那条告警记录在这里插入图片描述

步骤2:把alert里的startsAt时间改成过去时间,比如当前时间点即可(注意不能改成1970的时间)。

在这里插入图片描述
然后你到alertmanager的页面上去看,会发现告警记录消失了,然后会根据参数设置的时间(30S到3分钟不等),Prometheus会重新推送报警记录给alertmanager,然后刚才消失的那条告警记录就会又出现了。


版权声明:本文为zcbdandan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。