日志聚类方法综述:技术、检测与评估
1. 日志聚类方法概述
在日志聚类领域,部分方法会在聚类过程中融入日志结构的领域知识。不过,多数文章因算法复杂度和参数依赖性,缺乏对运行时间复杂度和上限的精确研究。
日志聚类方法主要分为在线聚类和离线/批量聚类。在线聚类意味着在聚类的任何时刻,所有已处理的日志行都已分配到相应的聚类中,其运行时间通常最多随处理的日志行数线性增长,这对于以流方式处理日志行的实际应用至关重要。典型的在线算法流程如下:
1. 初始化一个空的聚类集合。
2. 对于每一个新处理的日志行,算法尝试在聚类集合中找到合适的聚类。
- 若找到合适的聚类,则将该日志行分配到该聚类中。
- 若未找到合适的聚类,则创建一个包含该行的新聚类,并将其添加到聚类集合中。
3. 无限重复上述步骤。
部分方法不仅能生成新的聚类,还具有适应性,即当接收到新的日志行时,能够修改现有的聚类模板。这种适应性方法在经常发生变化的系统(如软件升级或源代码修改影响日志记录行为的系统)中尤为有用。而非适应性方法通常需要完全重新构建所有聚类和模板,适应性方法则可以动态调整到新的基线,而无需立即“忘记”所有先前学习的模式。对于不旨在生成日志模板的方法,通过仅考虑最近添加的日志行进行聚类,也能实现适应性行为。
日志聚类方法还需考虑一些非功能需求,如是否为高效处理(C - 9)或并行执行(C - 10)而设计。评估算法的效率较为困难,因为运行时间通常取决于日志数据的类型、参数设置和数据预处理。此外,大多数算法以确定性方式运行,但也有一些例外会使用随机化,如随机采样、遗传算法、随机哈希函数、随机初始化字段以及所有依赖神经网络的方法。
日志聚类技术与异常检测评估
超级会员免费看
订阅专栏 解锁全文
1478

被折叠的 条评论
为什么被折叠?



