《软件学报杂志》发表论文赏析
作者:王子勇,王焘,张文博,陈宁江,左春
单位:王子勇,中国科学院 软件研究所, 北京 100190;中国科学院大学, 北京 10019011,王焘,中国科学院 软件研究所, 北京 10019002,张文博,中国科学院 软件研究所, 北京 10019003,陈宁江,广西大学 计算机与电子信息学院, 广西 桂林 53000404,左春,中国科学院 软件研究所, 北京 100190;中科软科技股份有限公司, 北京 10019005
摘要:微服务正逐步成为互联网应用所采用的设计架构,如何有效检测故障并定位问题原因,是保障微服务性能与可靠性的关键技术之一.当前的方法通常监测系统度量,根据领域知识人工设定报警规则,难以自动检测故障并细粒度定位问题原因.针对该问题,提出一种基于执行轨迹监测的微服务故障诊断方法.首先,利用动态插桩监测服务组件的请求处理流,进而利用调用树对请求处理的执行轨迹进行刻画;然后,针对影响执行轨迹的系统故障,利用树编辑距离来评估请求处理的异常程度,通过分析执行轨迹差异来定位引发故障的方法调用;最后,针对性能异常,采用主成分分析抽取引起系统性能异常波动的关键方法调用.实验结果表明:该方法可以准确刻画请求处理的执行轨迹,以方法为粒度,准确定位系统故障以及性能异常的问题原因.
关键词:故障诊断;异常检测;微服务;执行轨迹;主成分分析
基金资助:国家自然科学基金(61402450,61363003,61572480);北京市自然科学基金(4154088);CCF-启明星辰“鸿雁”科研资助计划(CCF-VenustechRP2016007);国家科技支撑计划(2015BAH55F02)