SAID概述
SAID的引入背景
在网络中,如果业务中断后无法自愈,往往会造成严重的后果,而当前设备的可靠性措施,主要通过各种检测实现,一旦发现设备有明确的故障,就会上报告警,或者进行复位等操作来进行恢复。然而,这种措施是针对单一模块的检测,业务中断后,往往出现故障自愈不及时,甚至长时间无法自愈的情况,影响业务恢复。
同时,维护人员收到故障报告、故障上报后,也经常会有来不及收集故障现象,会导致问题定位困难,而问题无法定位,就有无法彻底解决再犯的风险,不利于设备维护。
因此,在设备内部建立一套智能主动免疫诊断系统,实现出现故障后设备自动诊断,自动采集故障信息,自动恢复业务,可以全面提升设备的故障自愈能力,以及可维护性。
SAID基本概念
SAID节点: SAID节点是SAID系统中具体对设备上各个模块进行故障检测诊断恢复的节点。
- 模块级的SAID节点:这些节点负责自己模块的故障预防、检测、诊断以及恢复。
- SAID级的SAID节点:这些节点负责涉及跨多个模块的故障检测、诊断以及恢复。
SAID状态机: SAID节点在进行故障检测诊断恢复过程中所触发切换的状态。SAID有7种状态机:初始状态、检测状态、诊断状态、无效诊断状态、恢复中状态、业务复查状态、业务异常状态。
SAID溯源: SAID系统会收集和存储SAID节点进行故障检测、诊断和恢复过程中产生的信息,用于最终定位问题的根因。
SAID系统
整个SAID系统中有多个SAID节点,这些节点负责涉及跨多个模块的故障检测、诊断以及恢复。在每次触发有效诊断后(即已经触发了恢复流程),将诊断的过程信息记录下来,实现故障溯源。SAID系统的主要的处理流程描述如下:
启动预防阶段:系统运行后,先通知相关模块进行故障预防的部署(例如逻辑定时重加载、表项定时同步等机制),启动整个设备的故障预防功能。
检测阶段:SAID节点进行故障检测,寻找问题出现的必要条件。故障检测分为定时检测和触发式检测,例如定时查看流量同比下降即为定时检测;而例如ISIS down这种即为触发式检测。
诊断阶段:一旦检测出故障后,SAID节点触发故障诊断,开始通过收集各种故障表项,定位问题出现的原因,需要注意的是只需要定位到直接原因(即可以实施恢复手段的原因)即可。
恢复阶段:信息记录完成后,开始进行恢复操作,恢复操作分级进行,每级执行完成后,判断业务是否恢复(判断条件就是故障现象是否完全消失),如果故障没有恢复,则继续执行下一级恢复动作,直到故障完全恢复。恢复动作是从轻量级到重量级逐步递进。
溯源阶段:一旦确定发生了故障,并且确定了故障发生原因,则表示此次故障诊断为有效诊断,此时需要先将诊断过程记录下来,随后进入恢复后,也需要将恢复过程记录下来,供后面问题的分析使用。