Alertmanager告警恢复通知丢失的可能原因有:
- Alertmanager配置问题:
- 没有定义恢复通知接收组:Alertmanager需要定义一个 receivers 组来接收恢复通知,如果没有定义该组,则恢复通知不会被发送。
- 定期筛选导致丢失:如果对恢复通知设置定期筛选,时间窗口内恢复又被触发,可能导致某些恢复通知被丢弃。
- 丢失通知策略配置不当:Alertmanager的丢失通知机制需要正确配置以便发送恢复通知,如果配置不当可能导致恢复通知丢失。
- Alertmanager与通知系统连接问题:
- API变更未同步:如果通知系统API变更导致Alertmanager的配置与其不兼容,将无法将恢复通知正确发送至通知系统。
- 网络连接问题:如果网络连接断开或通知系统 API 临时不可用,Alertmanager将无法将恢复通知发送出去。
- 时间同步问题:
- Alertmanager与Prometheus时差过大:如果Alertmanager与触发告警与恢复的Prometheus存在较大时差,可能导致Alertmanager无法正确匹配恢复通知与Active Alert,进而未能发送恢复通知。
- 消息模板没有配置Resovle消息模板或是模板定义有冲突
排查告警恢复通知丢失,我们需要:
- 检查Alertmanager的配置,确认已定义恢复通知接收组并正确配置了其他相关选项。
- 检查Alertmanager与通知系统的连接状态,确认API兼容性及网络畅通。
- 检查Alertmanager与相关Prometheus的时差,确认在可接受范围内。
- 检查Alertmanager的日志,看是否有相关错误提示。
- 检查消息模板
- 临时调高日志级别以捕捉更多日志信息。