摘要
日志数据源自源代码中的日志语句,提供了对软件应用程序和系统执行过程的洞察。最先进的基于日志的异常检测方法通常利用深度学习模型来捕获日志数据中的语义或顺序信息,并检测异常的运行时行为。然而,这些不同类型信息的影响尚不清楚。此外,现有的方法没有捕获日志数据中的时间戳,而时间戳可能比顺序信息提供更细粒度的时序信息。在这项工作中,我们提出了一种可配置的基于 Transformer 的异常检测模型,该模型可以捕获日志数据中的语义、顺序和时序信息,并允许我们将不同类型的信息配置为模型的特征。此外,我们使用不同长度的日志序列训练和评估所提出的模型,从而克服了现有方法依赖于固定长度或时间窗口日志序列作为输入的限制。利用所提出的模型,我们进行了一系列实验,使用不同的输入特征组合来评估不同类型信息在异常检测中的作用。当提供不同长度的日志序列时,与基线相比,该模型可以实现具有竞争力且始终稳定的性能。结果表明,事件发生信息在识别异常方面起着关键作用,而顺序和时序信息对所研究的公共数据集中的异常检测影响不大。另一方面,这些发现也揭示了所研究的公共数据集的简单性,并强调了构建包含不同类型异常的新数据集的重要性,以更好地评估异常检测模型的性能。