《山寨一个 Splunk 的事件模式功能》 和 《日志分析的模式发现功能实现(2)-sumologic》 前两篇,已经分别讲过了商业产品老大splunk、开源项目老大ELK、云服务老大sumologic分别的实现做法。除了他们以外,还有一些其他实现,这次一并讲完。
prelert是一个老牌公司了,原先是基于splunk平台做异常检测产品(卖点是比splunk的rare、predict、anomalies指令更好),去年被ES收购。到目前为止prelert和ES x-pack的整合工作其实都没有完全结束。所以讲它功能,还是直接看原先的老文档更清晰。
老版的prelert思路和sumologic非常非常像。
先通过prelertcategorize指令做日志分类(也就是sumo家的logreduce指令):
这个地方注意到,prelert既没有提取keyword,也没有汇聚signature,而是列出同一个模式下的4条样例日志给用户自己看。这个做法可以说比较保守。
此外,多出来两列,sparkline和sourcetype:
其次,对具体某一类日志,可以保存成eventtype(注意到截图里生成的过滤语句,有一个len(_raw)<=129,这块跟splunk计算_punct字段有类似,splunk计算_punct时就也规定了只算前128个字符):
最后,也可以通过prelertautodetect指令做异常检测。这时候可以直接对总趋势做,也可以选择基于普通字段做groupby,也可以选择基于前面生成的prelertcategory做。为了区分异常检测的纵向时间维度和横向密度维度,可以用by和over两个从句来分别制定。效果如下:
不过perlert被elastic.co收购以后,以上模式发现功能,只保留了异常检测的部分。我们只能在异常详情的列表里,隐约看到category examples还是那熟悉的4行日志样例了:
oracle公有云上,提供了日志分析产品,叫OMC LogAnalytics。也提供了诸如SPL、模式发现等著名的日志分析功能。其模式发现(cluster指令)界面如下:
一本正经的把clusterID也列出来,真是淳朴啊~其余列,和prelert类似,也是保证了一个聚类肯定在同一个logsource内部做的,也带了一个trend图。
不过模式样例,即没有keyword也没有signature,还不提供多条……
vmware的日志产品,叫vRealize Log Insight。特点是对vmware自家产品的日志解析分析的很好(废话)……
其中提供了一个叫做log grouping的功能:
可以看到,这个界面更偏向splunk而非sumologic风格。
该功能会查找日志模式,然后把signature部分,高亮显示。但是区别是:并不用***
来取代signature,而是留着样例日志里的原文高亮。
vmware这里发现的模式,可以用来后续过滤,也就是截图中的events like this功能。