原文:Clustering intrusion detection alarms to support root cause analysis
作者:Klaus Julisch
来源:ACM Transactions on Information and System Security, 2003, 6(4):443-471.
背景
- 系统出现故障时,运维人员一般先查看错误日志定位故障原因。
- 业务流量小、逻辑复杂度低时,应用出现故障时错误日志一般较少,运维人员根据错误日志迅速定位到问题。但随着业务逻辑的迭代,系统接入的依赖服务不断增多、引入的组件不断增多,当系统出现故障时,
错误日志的量级急剧增加
。极端情况下更甚出现 “疯狂报错” 的现象,这时错误日志的内容会存在相互掩埋
、相互影响
的问题,运维人员面对报错一时难以理清逻辑, 失去焦点,没能第一时间解决最核心问题。 - 若在报警流出现时,通过处理程序将报警进行聚类,整理出一段时间内的报警摘要。运维人员就可以在摘要信息的帮助下,先对当前的故障有一个大致的轮廓,再结合技术知识与业务知识定位故障的根本原因。
- 围绕上面描述的问题,以及对于报警聚类处理的分析假设,本文主要做了以下事情:
选定算法
:选定聚类算法,简单描述算法基本原理,并给出针对报警日志聚类的一种具体实现方案。验证算法
:在分布式业务服务的系统下构造了三种不同实验场景,验证了算法的效果,并且对算法的不足进行分析阐述。