简介
sendmessages基于springboot2进行开发,根据prometheus-manager-web设置的告警规则发送告警消息。
所有alertmanager送来的告警消息,会存储至sendmessages的内存队列,通过ThreadPoolExecutor维护线程池,定时扫描内存队列里是否有消息,如有则进行发送。
流程
通过以上流程可见,告警需要经过告警方式匹配,是否在屏蔽告警时间范围,,是否存在告警屏蔽词,是否存在extend标签(如有,则extend进行解析,key为新的告警匹配方式,优先级高于job匹配告警方式),是否为service设置的特殊告警(service匹配优先级最高)。根据不同的level告警等级发送电话或钉钉告警。
钉钉告警内容展示
告警内容中会添加颜色高亮,用于区分告警和恢复。
详情为告警的具体信息,如网关不可用数大于0,除描述告警外,还有具体的不可用网关信息。
代码实现:
if (“firing”.equals(ai.getAlertStatus())) {
title = “<font color=#FF0000>告警</font> <br>”;
} else {
title = “<font color=#00FF00>恢复</font> <br>”;
}
下一篇介绍prometheusExtr