AI驱动智能化日志分析 : 通过决策树给日志做聚类分析

日志自动化、智能化分析对于AI需求

通常,我们分析日志,是为了两个目标:

  • 对数据有个整体的概览,例如,生成一天内的报表。
  • 对异常数据进行挖掘,例如,对特殊的日志进行告警。

日志分析,通常对分析者有这些要求:

  1. 对业务数据的熟悉程度要求比较高。
  2. 要求开发者具备搭建分析系统的能力。
  3. 对分析算法足够的熟悉。

通常分析日志,可以借助于流计算系统来做实时计算、或者借助elasticsearch做搜索。日志服务,提供了一整套完整的日志收集、消费、搜索、计算的平台。云计算提供的平台解放了开发者,开发者不再需要把精力消耗在日志支撑系统的维护上,把自己的时间投入到自己的主营业务上,会获得最大的回报。

不仅如此,日志服务还提供了了一些智能化分析日志的手段。在日志服务控制台,左侧快速查询栏目,提供了对数字列的分类统计,可以看出数字列的分布,集中分布在哪些地方,有哪些特殊值。

AI驱动智能化日志分析 : 通过决策树给日志做聚类分析_第1张图片

只从Alpha GO战胜李世石之后,人们终于认识到,机器学习用来预测的准确率,已经达到了人类智能的水平。AI,也可以帮我们来完成一些传统日志分析系统无法完成的工作,例如数据分类、离群数据分析等。今天我们介绍日志服务的快速分析所使用的无监督机器学习:决策树算法,并且通过样例来演示如何使用决策树来挖掘异常数据。

决策树算法简介

机器学习的算法繁多,其中很多算法是一类算法,而有些算法又是从其他算法中衍生出来的,因此我们可以按照不同的角度将其分类。按照学习方式分类,包括监督式学习,无监督学习,半监督学习,强化学习。其中,决策树属于无监督学习。无监督学习,不需要人工标注数据集,依赖于算法本身来预测数据。

数值列的分类也可以使用决策树算法。下图描述如果迭代的把数据归类到对应的桶中。

AI驱动智能化日志分析 : 通过决策树给日志做聚类分析_第2张图片

对于每一轮迭代:

  1. 初始化是是N个桶。
  2. 新加入一个数据,变成N+1个桶,并把N+1个桶排序。
  3. 计算相邻两个桶之间的距离,并且选择距离最小的两个桶合并成一个桶,重新计算新桶的平均值。
  4. 重复步骤1。

上述是基本的算法过程。详细的算法描述见论文:
`Yael Ben-Haim and Elad Tom-Tov, "A streaming parallel decision tree algorithm",
J. Machine Learning Research 11 (2010), pp. 849--872.`

决策树算法分析日志案例

今天上述的数值分类算法已经在日志服务中提供了,参考文档numeric_histogram。

查找异常值

首先看所有值的

* | select count(1) , latency group by  latency

AI驱动智能化日志分析 : 通过决策树给日志做聚类分析_第3张图片

从结果中看,latency=1的值明显偏离其他数值。我们使用numeric_histogram把latency列分成两类:

* | select numeric_histogram(2,latency)

获取结果中包含两个桶,显示每个桶的平均值。 一个桶的均值是1,个数为100个;另一个桶均值是11.23,个数为1300。可以看出,均值为1的桶明显偏离了整体的均值。

image.png

同样的,划分3个桶

* | select numeric_histogram(3,latency)

三个桶的均值分别是1,11,12.5:

image.png

整体概括日志

我们都知道,数值列的分布范围比较大,无法使用group by进行计算,但我们可以使用numeric_histogram函数,来对数值列进行group by。

从计算结果中可以看到,latency大部分分布于308.242k左右。

AI驱动智能化日志分析 : 通过决策树给日志做聚类分析_第4张图片

更多经常内容

SQL分析语法
5分钟搭建网站实时分析:Grafana+日志服务实战
从日志到双十一大屏只要一步:LOG/SLS+DataV 打通
自建ELK vs 日志服务(SLS)全方位对比

试用日志服务

查询链接
dashboard链接

以下5个子帐号供试用,请随机选择一个登录,若登录不成功请换一个子帐号尝试:

登录地址 用户名 密码
链接 sls_reader1@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader2@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader3@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader4@1654218965343050 pnX-32m-MHH-xbm
链接 sls_reader5@1654218965343050 pnX-32m-MHH-xbm

你可能感兴趣的:(AI驱动智能化日志分析 : 通过决策树给日志做聚类分析)