背景介绍
随着互联网,特别是移动互联网的高速发展,web服务已经深入到社会的各个领域,人们使用互联网搜索,购物,付款,娱乐等等。因此,保障web服务的稳定已经变的越来越重要。
Web服务的稳定性主要靠运维来保障,运维人员通过监控各种各样的关键性能指标(KPI)来判断Web服务是否稳定,因为KPI如果发生异常,往往意味着与其相关的应用发生了问题。图1中展示了一个KPI异常的例子——某互联网公司的网页访问量数据发生了异常,其中红色圆圈标示了KPI发生的异常。

图1 异常KPI示例
这些KPI大致分为两种类型:服务KPI和机器KPI。服务KPI是指能够反映Web服务的规模、质量的性能指标,例如,网页响应时间,网页访问量,连接错误数量等。机器KPI是指能够反映机器(服务器、路由器、交换机)健康状态的性能指标,例如,CPU使用率,内存使用率,磁盘IO,网卡吞吐率等。
KPI异常检测指的是通过算法分析KPI的时间序列数据,判断其是否出现异常行为。这里的难点主要有:
1 异常发生的频率很低。在实际的运维场景中,业务系统很少发生异常,因此可供分析的异常数据很少。
2 异常种类的多样性。因为实际的业务系统很复杂,并且会不断更新升级,所以故障的类型多种多样,从而导致了异常种类的多样性。
3 KPI的多样性。KPI有表现为周期型的,有表现为稳定型的,有表现为不稳定的,持续波动型,如图2,3,4所示。

图2 周期型KPI

图3 稳定型KPI

图4 不稳定型KPI
正是因为这些难点,导致现有的异常检测算法的准确率(precision)和召回率(recall)都不高,存在大量的误报和漏报。这不仅增加了运维人员的工作量,而且导致运维人员无法及时准确地发现异常的KPI。
因此,为了提高异常检测算法的准确率和召回率,我们收集了来自众多互联网公司的真实场景的KPI数据,经过脱敏处理后提供出来,希望更多的学术界和工业界的人员参与进来,一起提高异常检测算法的性能。
数据集举例
为了训练异常检测算法,我们提供的训练KPI数据如表1所示,包括四列:KPI ID,时间戳(timestamp),KPI在该时刻对应的数值(value),以及该时刻是否异常(label)。KPI ID | Timestamp | Value | Label |
0 | 1503831000 | 10.8 | 0 |
0 | 1503831060 | 12.3 | 1 |
... | ... | ... | ... |
KPI ID | Timestamp | Value |
0 | 1503831000 | 10.8 |
0 | 1503834020 | 22.2 |
... | ... | ... |
评估指标
异常检测的性能评价指标:
设计的异常检测算法需要在每一个时间点进行一次异常检测。根据异常检测结果,输出判定结果1(异常)或0(正常)。在此基础上,本挑战赛计算异常检测结果的 F-score。
通常情况下,运维人员往往只关心异常检测算法能否检测到某一连续异常区间,而非检测到该异常区间的每一个异常点。因此,我们以如下方式计算TP,TN,FP,FN :
1 对于一段标记的连续异常区间:
如果异常检测算法在该连续异常区间开始后的 T 个时间点内检测到了该连续异常区间,本挑战赛认为此异常检测算法成功地检测到了整段连续异常区间,因此该异常区间内的每一个异常点都算作一次true positive(TP);否则,该连续异常区间内的每一个异常点都算作一次false negative(FN)。
2 对于一个没有标记异常的时间点:
如果异常检测算法输出了异常,计做一次false positive (FP);否则,计做一次true negative (TN)。
精度(precision),召回率(recall)和 F-score计算方式:
精度 = TP / (TP + FP)
召回率 = TP / (TP + FN)
F-score = (2*精度*召回率)/(精度+召回率)
请注意,计算精度、召回率和F-score所使用的TP, FP, FN为整个数据集的TP, FP, FN。
评价指标示例:

如图所示,当 T=2 时,上图中异常检测算法成功地检测到了第一个连续异常区间,而未能成功检测到第二个连续异常区间。因此,本挑战赛认为算法的准确率为 0.6,召回率为 0.5。
鼓励一下,希望以后多多更新干货,嘿嘿~
问个问题,这里是 清华 netman 实验室的 裴丹 负责的吗?
个人感觉,单纯业务量(或者访问流入量)很难刻画系统异常,能否增加交易状态维度,从多维角度分析异常特征
CasterJs
CasterJs
CasterJs
CasterJs
CasterJs
CasterJs
CasterJs
CasterJs
CasterJs
CasterJs
实名一个月都没成功,麻烦尽快审核,谢谢。~~比赛都快结束了
网站中的图片似乎不能正常显示
图片看不到