LogLens: A Real-time Log Analysis System
source: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8416368
- 摘要
大多数面向用户系统的管理者依赖于周期性的日志数据来获取生产应用中的健康和状态。日志记录着对复杂问题根因分析至关重要的信息。在这篇文章中,我们提出一个名叫LogLens的实时日志分析系统,它能够不采用(或者采用最少的)目标系统知识和用户规范从日志中检测出异常的过程。在LogLens中,我们采取基于在应用日志中发现模式的无监督机器学习技术,然后利用这些模式和实时日志解析设计先进的日志分析应用程序。想较于现有日志分析系统主要局限于日志索引和搜索能力,LogLens提供了一个支持无状态和有状态日志分析应用。(Currently后略)
- 介绍
日志分析是一个将原始日志——记录软件系统事件信息——转换成能够帮助操作者和管理者解决问题的消息的一个过程。日志分析技术被广泛用于许多领域,例如检测安全威胁、符合性审计、电厂故障检测或者数据中心操作。快速准确地分析日志的能力是至关重要的,能够在系统故障发生之前或者发生时刻减少系统停机时间并检测运行问题。
能够进行快速和准确分析日志的重要一个方面是它的结构。识别日志的结构能够容易地提取里面的信息,例如类型、产生事件、特殊事件源、关键性能指标的值等等。若未知日志结构,日志分析变成一个简单的基于关键字查询的工具。事实上,现在大多数的商业化日志分析工具允许用户直接指定日志模式或者基于领域知识建立模型。尽管监督日志分析可以提取不带歧义的重要信息,它仍然存在多方面的缺陷:a) 特定于用户所寻求和关注的错误内容。b)它不容易适应新的数据源和格式。随着更多的新设备和数据格式进入市场, 有监督的日志分析工具难以跟踪适应新的日志结构并识别未知异常。
不是将日志结构作为输入,LogLens能够从正确的日志中自动学习日志结构并且构建能够捕捉正常系统行为的模型。随后它将该模型应用于实时生产日志进而检测异常。我们这里定义的异常是不匹配现有系统正常行为模型的一条或者一组日志。LogLens不需要(或最少)用户参与和适应自动生成新的日志格式和模式,只要用户可以提供一组用于构建模型的日志异常检测。