作者 | 李旭光 中国农业银行研发中心
责编 | 晋兆雨
出品 | CSDN云计算
头图 | 付费下载于视觉中国
背景介绍
日志是有关系统运行状态的描述,例如Linux的系统日志,数据库系统的日志以及分布式系统的日志等。日志是运维人员查看系统运行状态,寻找系统故障的重要数据。另一方面,日志属于非结构化数据,兼具有大数据量的特点,对于传统的运维人员往往只能基于关键词匹配来处理日志,并不能全面的获取日志包含的信息。所以日志处理需要更强大的算法来解决人工无法解决的问题,需要我们践行AIops理念,运用机器学习来解决日志处理中的难点。本文将介绍有关日志的预处理过程以及几种日志异常检测算法。
日志的预处理
日志数据千差万别,对于绝大部分算法日志数据无法直接用于算法训练,需要通过日志解析、特征提取将日志转换为特征矩阵,特征矩阵作为算法的输入。
日志数据虽不易区分,但总体上可分为可变部分和不变部分,日志解析就是就是将日志的可变部分与不变部分进行区分,并将原始日志转换为日志事件。
完成日志解析,下一步就是要提取日志事件的特征,对于日志特征提取方式一般采用先将日志事件加窗,然后对每个窗口的事件进行计数,这样我们就可以生成最终算法可用的特征矩阵。类似于下面格式的数据:
1