4. 哨兵告警系统架构:哨兵组件设计、告警触发流程、告警级别定义

哨兵告警系统是坏账率监控体系的核心执行层。它负责实时或准实时地采集回测结果、比对阈值、判定异常状态,并通过多级告警机制通知风控团队。一个健壮的哨兵架构需要具备低延迟检测、可配置规则和分级响应三大能力。

4.1 哨兵组件设计

哨兵系统采用微服务化的组件架构,各组件职责清晰、可独立扩展。核心组件包括以下五个模块:

组件名称 核心职责 关键指标
指标采集器 从回测引擎、数据库或消息队列中拉取坏账率、逾期率等关键指标 采集延迟 < 5s,采样频率 1min/次
规则引擎 加载阈值配置,执行逻辑判断(大于/小于/波动率/趋势) 单规则判定耗时 < 10ms
状态管理器 维护每个策略/分组的告警状态机(正常→预警→严重→恢复) 状态转换延迟 < 100ms
告警分发器 根据告警级别选择渠道(邮件/短信/企微/钉钉)并发送 分发成功率 > 99.9%
审计日志 记录每次告警的触发原因、当前值、阈值、处理人及时间戳 日志写入 TPS > 1000
设计要点: 规则引擎与状态管理器应解耦。规则引擎只做“是否触发”的布尔判断,状态管理器负责“是否重复告警”和“级别升降”的时序逻辑,避免规则配置复杂化。
哨兵告警系统组件架构图 回测引擎 实时指标流 指标采集器 规则引擎 状态管理器 告警分发器 审计日志 说明: 采集器从回测引擎和实时流获取指标,经规则引擎判定后,由状态管理器维护告警状态机,最终分发器按级别发送通知,所有操作记录至审计日志。

4.2 告警触发流程

告警触发流程遵循“采集→判定→状态转换→分发→归档”的闭环设计。每一步都包含防抖和去重逻辑,避免因瞬时波动导致告警风暴。

防抖机制: 规则引擎判定为异常后,不会立即触发告警,而是等待连续 N 个采样周期(默认 3 个)均满足条件才确认触发。这能有效过滤掉单次毛刺数据。

完整的触发流程包含以下 6 个步骤:

  1. 指标采集: 采集器按固定周期(如 1 分钟)从回测结果表或消息队列中拉取当前坏账率、逾期率、回收率等指标。
  2. 规则匹配: 规则引擎加载当前策略的阈值配置,执行比较运算。支持绝对值阈值、相对波动阈值、趋势斜率阈值三种模式。
  3. 防抖确认: 若规则匹配为异常,状态管理器启动防抖计数器。连续 N 次采样均异常,则进入“待触发”状态;否则计数器清零。
  4. 状态转换: 根据当前状态和异常严重程度,执行状态机转换(正常→预警、预警→严重、严重→恢复等)。
  5. 告警分发: 分发器根据告警级别选择对应渠道发送通知,并附带当前值、阈值、持续时长等上下文信息。
  6. 日志归档: 将本次告警的完整链路数据写入审计日志表,供事后复盘和阈值调优使用。
告警触发流程泳道图 采集器 规则引擎 状态管理器 分发器 审计日志 拉取指标 规则匹配 防抖确认 连续N次? 是 否(计数器清零) 状态转换 日志归档 告警分发 流程关键点: 1. 防抖确认是避免告警风暴的核心,建议默认连续3次异常才触发。 2. 状态转换遵循“正常→预警→严重→恢复”的有限状态机,不允许跳级。 3. 告警分发与日志归档异步执行,分发失败不影响归档完整性。

4.3 告警级别定义

告警级别决定了响应时效、通知渠道和升级策略。我们将告警划分为四个级别,每个级别对应不同的处理 SLA 和通知方式。

级别 名称 触发条件 通知渠道 响应 SLA
P0 严重告警 坏账率超过硬性上限阈值,且连续 3 个周期未回落 电话 + 短信 + 企微 @所有人 15 分钟内确认
P1 预警告警 坏账率超过软性预警阈值,或波动率超过 2 倍标准差 企微 + 邮件 30 分钟内确认
P2 提示告警 坏账率接近预警阈值(90%),或单日环比上升超过 5% 邮件 + 看板标记 2 小时内确认
P3 信息告警 策略回测完成、阈值配置变更、模型版本更新等事件 看板通知 无需确认
级别升级策略: 若 P1 告警在 30 分钟内未得到确认,系统自动升级为 P0 并触发电话通知。P2 告警若持续 2 小时未处理,自动升级为 P1。升级策略应在状态管理器中配置,避免人工干预延迟。