Splunk中使用OneClassSVM对日志进行异常侦测

适用场景

本文中所使用的OneClassSVM方法识别日志中的异常,所依赖的假设前提条件如下:

1、 异常信息会打印大量的日志,即一条或者一段时间内的日志量远超正常水平,例如log4j产生的日志,符合此特征。

2、 执行中断导致日志停止打印,产生的日志量远远小于正常水平,例如对程序、脚本执行过程记录的日志,一旦执行异常退出,日志终止打印。

3、 日志中没有明显的关键字或者其他标识,能够标识正常或者异常。

注:理论上来说,日志是规范的,可以通过关键字之类的信息来区分是否是异常的,实际中存在不规范的情况。

场景分析

上述所描述的场景中,异常情况是少数,正常情况是绝大多数,所以可以视为一种非均衡样本的分类问题,OneClassSVM算法适用于此场景,并且其一种功能就是异常值检测。

Splunk的MLTK机器学习工具包中包含了几十种算法,非深度学习,使用MTLK足够。

训练过程

1、 训练模型

首先是训练模型,参考http://docs.splunk.com/images/e/ee/MLTKCheatSheet.pdf

2、 模型训练结果

使用 | listmodels查看训练的模型

3、 使用模型

如下图所示,对于每一条日志,都会有一个isNormal新字段表示该记录是否是异常值,在本例中1.0为异常值,-1.0为正常。

实际最终效果如何取决于实际情况,如果正常情况和异常情况差距越大,理论上来说准确率越高。

结束!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值