❝论文标题丨Onion: identifying incident-indicating logs for cloud systems
论文来源丨ESEC/FSE 2021
论文链接丨https://dl.acm.org/doi/10.1145/3468264.3473919
源码链接丨未开源
❞
TL;DR
论文中提出一种自动化解决方案 「Onion」 来精确高效地定位故障日志,首先指出定位故障日志的三个标准:一致性、影响性、双向差异,然后提出一种新颖的日志聚合方法 「log clique」 可以同时满足这三种标准。为了得到 log clique 论文中提出了一种事件感知的 log 表示和聚类技术,然后对 clique 进行对比分析来识别事件日志。实验部分在标注好的日志数据集中验证了 Onion 的性能,可以达到 0.95 F1-score 并且可以在分钟级内处理百万条日志,应用在真实场景微软云系统中已定性定量证实 Onion 的有效性。
Algorithm/Model
首先介绍下论文中提出的名词概念:
「incident-indicating logs」:指受事件影响的不同服务器日志其所描述的是同一系统事件。如下图所示

「incident-indicating logs」 定位的三个原则:
一致性(Consistency):incident-indicating logs 表示跨受事件影响的服务器的一致系统事件。 影响性(Impact):incident-indicating logs 所表示的一致事件应该分布在大多数异常服务器上。 双向差异(Bilateral-Difference):incident-indicating logs 在异常服务器中较为常见而在正常服务器中较少。
综上所述的问题及其原则,论文提出的解决方案 Onion 框架如下图所示:

主要包含以下四步:
Log Collection and Cleaning:日志收集处理 为了保证告警前后日志的可比性,采取定制化策略来选择正常服务器日志,即选择同一集群或者相同功能组的服务器日志作为对比。 保留大部分原始日志,利用正则表达式去除部分无用符号。 Incident-Aware Log Representation:事件感知日志表示 Log Clique:日志聚类 Matching and Contrast Analysis:匹配对比分析
详细学习下后三步方法。
事件感知日志表示
考虑日志中部分关键字更加能体现异常状态。
假设所有日志 组成词汇字典 , 主要目标是将每条日志 转为向量表示 。
每个维度的词汇值计算考虑到两方面:
词频(Term Frequency):词在日志 中的出现率。 词重(Term Importance),分为两方面: 同时出现在异常日志中的词重要; 同时出现在正常/异常日志中的词不重要;
考虑上述两个方面论文中提出 Term-Importance 来度量不同词的重要性,首先计算异常服务器 中词覆盖率,如下
其中 表示异常服务器数量, 表示第 个异常服务器的日志。 表示正常服务器中词覆盖率。然后定义词重如下所示
其中 通常取 1,然后综合考虑 TF + TI 来表示词向量的值
日志聚类
考虑 incident-indicating logs 的三个准则,论文中提出新的聚类方法 log clique,主要包含两步:
Progressive Clustering
对于异常服务器 日志的日志向量采用传统聚类方法(层次聚类或者 K-means)分成组作为树中节点,然后定义 Popularity Ratio 来度量每个节点中日志的影响程度。
其中 表示第 个异常服务器的词向量,指示函数
遍历聚类树中的节点,设定阈值 。如果树节点满足 (1) (2) 无子节点或子节点 作为一个 log clique。
Downward-Closure Based Pruning
上述层次聚类过程效率低下,因此论文中采用剪枝策略来提高效率。主要想法是 Popularity Ratio 低于阈值 不再拆分聚类。
整体日志聚类算法如下所示:

匹配对比分析
「匹配」
log cliques 可能仍包含正常服务器日志,因此需要对比正常/异常服务器中的 cliques 来去除正常的日志。
首先定义 log 向量 与 clique 间的距离为其与簇中心 的距离,定义类半径
定义簇
然后就直接将 clique 中包含的正常日志删除。
「对比」
定义 Contrast Score 来度量双边差异性,
然后选择 score 大于
Experiments
实验部分采用了三种类型的日志数据进行测试,数据集统计如下

实验准确率如下所示:

Onion 性能如下所示:


● KDD 2021丨HALO:云系统中层次感知的多维故障定位模型
● 北大 & eBay | Groot:基于事件图的工业环境根因分析方法
「阅读原文」留言哦!





