基于深度模型的日志异常检测

AIOps(Artificial Intelligence for IT Operations)即智能运维,将AI应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),通过机器学习的方式来进一步解决自动化运维没办法解决的问题。华为AIOps使能服务沉淀了10+开箱即用的智能APP,覆盖网络维护、网络体验、网络规划、设备故障预测等应用领域,包含KPI异常检测、硬盘异常检测、故障识别及根因定位、日志异常检测等。其中日志异常检测(Log Anomaly Detection,LAD)实时监控日志,识别并推荐根因异常,辅助运维人员定位故障根因,提升运维效率。

1. 为什么需要日志异常检测?

通信网络中部署的大规模设备在运行过程中产生海量日志。如图1所示,日志是一种时序文本数据,由时间戳和文本消息组成,实时记录了业务的运行状态。通过收集并分析日志,可以发现或预知网络中已发生或潜在的故障。
在这里插入图片描述

图1 windows公开数据集中的部分日志样例[1]

目前日志规范不统一。如图2所示,不同类型的设备打印出的日志格式也不同,且日志数据呈现出非结构化的特点。主要体现在日志时间格式不统一,日志记录的级别不统一,不同厂家自定义的专业词汇或缩略语不统一。这些问题增加了日志分析的难度。

在这里插入图片描述

图2 四种不同规范的日志样例数据[1]

此外,现代网络系统规模庞大,每小时打印日志约50Gb(约1.2亿~ 2亿行)的量级[2],若依靠人工分析日志数据来识别网络中是否发生了故障则效率低下,因此有必要引入AI算法进行日志异常检测,以达到降低运维成本,显著提升业务体验的目的。

自2017年Min Du等人提出DeepLog以来[3],基于序列的深度学习建模逐渐成为近年来研究的热点。原始的DeepLog主要包括两个部分:模板序列异常检测模型(Log key anomaly detection model)和参数值异常检测模型(Parameter value anomaly detection model)。模板序列异常检测模型通过学习正常日志打印对应的工作流,然后对测试数据进行推理,以检测出是否存在违背工作流的异常日志。参数值异常检测模型则是对每一个模板(Log key或Template)构建一个模型,用推理出的参数值与实际参数值作对比,对比结果在置信区间内则认为是正常,否则为异常。模板序列异常检测模型的缺点在于对模板使用one-hot向量编码,无法学习出不同模板之间的语义相似性。参数值异常检测模型的缺点在于建模的数量太多,有多少个模板就要建立多少个模型,实现起来工作量较大。针对上述问题,2019年与2020年Weibin Meng等人先后提出Template2Vec和Log2Vec方法[4,5],可以学习出模板之间的语义相似性,并且能够解决新模板的在线学习问题。

2. 日志异常检测是如何实现的?

日志异常检测的核心是借助AI算法自动分析网络设备日志来发现并定位故障,根据送入检测模型的数据格式,日志异常检测算法模型分为序列模型和频率模型,其中序列模型又可以分为深度模型和聚类模型。本期主要分享近年来研究的热点:深度模型。

2.1 日志解析

非结构化的日志数据直接处理非常困难。通常的做法是通过日志解析得到日志的模板,然后再对模板进行异常检测。模板相当于日志的“摘要”,日志可以视作模板加参数得到。例如,模板Send Bytes to ,加上参数size=120, block=blk4612,使用打印函数print()可以得到一条具体的日志Send 120 Bytes to blk4612。改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值