系统生成日志的异常检测研究
1. 日志数据概述
系统和云系统会生成日志,这些日志以人类可读的形式呈现,包含文本消息、参数或运行进程的其他重要值。日志结构不固定,其内容取决于应用类型和其他配置设置,如要输入的消息类型(信息性消息、错误和调试输出)、日志历史中的单词长度以及系统各组件写入日志的定义时间。通常,来自不同源的日志会批量或一次性转储到一个文件中,动态生成消息。
日志中包含许多隐藏信息,可用于性能调优和异常检测。然而,分析这些动态日志存在诸多挑战,它们提供的信息嘈杂且级别较低,也无法提供系统状态变化的详细信息。此外,日志数据量巨大且复杂,管理员和操作员在诊断问题以找出异常的根本原因时面临困难。在大规模应用中,由于大量并发操作导致共享资源不断变化,仅通过日志内容监测和检测操作执行行为的异常变得困难,因此需要结合日志信息和其他额外信息来验证操作。
2. 异常类型
异常主要分为以下三种类型:
- 点异常 :这是最简单和最常见的异常类型。当某个特定数据实例偏离正常数据集模式时,就被视为点异常。例如,在正常的一天血压突然升高。
- 条件(上下文)异常 :指数据实例的异常行为仅在特定条件或上下文中才被视为异常,在其他情况下则不是。例如,在节日期间接到更多电话。在圣诞节和新年期间,人们接到的电话可能超过50个,而平时平均每天只有15个。在正常工作日接到相同数量的电话可能被视为条件异常。
- 集体异常 :当一组相似的数据案例作为一个整体与整个数据集相比表现异常时,就被视为集体异常。单个数据实例本身可能不是异常,但在集合中出现时