无解析器与无监督异常检测方法在软件日志上的速度与性能
软件工程
2024-09-23 v2
摘要
软件日志分析可能既费时又费力。在工业环境中,时间和标注数据通常很匮乏。本文研究了用于异常检测的无监督且时间高效的方法。我们研究了两个自定义模型和两个现有模型。自定义模型包括:一个 OOV (Out-Of-Vocabulary) 检测器,用于统计测试数据中未出现在训练数据中的术语;以及一个稀有度模型 (Rarity Model, RM),根据术语的罕见程度计算其稀有度得分。现有模型为 KMeans 和 Isolation Forest。这些模型在四个公开数据集(BGL、Thunderbird、Hadoop、HDFS)上进行评估,并使用三种不同的日志消息表示技术(词、字符三元组、解析后的事件)。在训练时,我们使用了不含任何异常的纯正常数据,以及同时包含正常和异常实例的未过滤数据。由于设定阈值的挑战,我们主要使用 AUC-ROC 指标进行评估,但也包含了 F1 分数以提供更深入的见解。根据具体需求建议采用不同的配置。当训练数据未过滤且同时包含正常和异常实例时,最有效的组合是 Isolation Forest 结合事件表示,实现了 0.829 的 AUC-ROC。如果可以创建纯正常训练数据集,将 OOV 检测器与三元组表示结合可产生 0.846 的最高 AUC-ROC。在速度方面,OOV 检测器适用于过滤数据,而稀有度模型是未过滤数据的最佳选择。
引用
@article{arxiv.2312.01934,
title = {Speed and Performance of Parserless and Unsupervised Anomaly Detection Methods on Software Logs},
author = {Jesse Nyyssölä and Mika Mäntylä},
journal= {arXiv preprint arXiv:2312.01934},
year = {2024}
}
备注
Accepted to IEEE International Conference on Software Quality, Reliability and Security. Title adjusted from first version