用历史数据的线性回归求上游流量对下游流量的映射,得到“无歧义的call graph”,以实现剪枝的一部分。
受大数法则和网络轨迹的马尔科夫特性的启发,本文提出了一种基于回归的方法(名为AmSitor)来有效地解决这个歧义。 在AmSitor的基础上,本文提出了一种基于Call Metric Data的模糊性感知的根源定位方法,名为CMDiagnostor,包含metric异常检测、无模糊性call graph构建、根因探索和候选根因排名模块。
CMD和其他数据结构进行对比
- 和KPI:提供因果关系
- 和call graph:提供详细的metric信息
- 和tracing:tracing的transmission cost、storage burden和computation cost大得多
Design Overview of CMDiagnostor
四个部分
- Metric Anomaly Detection
- Ambiguity-free Call Graph Construction
- Root Cause Exploration
- Candidate Root Cause Ranking
AMBIGUITY AND SOLUTION
AmSit
伪代码写的全是错误。 主要意思是,我算法有若干时间序列t=1,...,T,我认为上游对下游的流量存在映射关系。而且这个映射关系的权重不会随着时间变化。 因此主要通过线性回归去做。
METHODOLOGY
Metric Anomaly Detection
整个过程使用三种指标,即每分钟请求数(RC)、每分钟平均响应时间(RT)和每分钟错误数(EC)。
性能异常检测通过isolated forest和实时threshold(用随机选的10个值和comparison阶段的95th来比较)来做的。
Ambiguity-free Call Graph Construction
广搜,得到无歧义的调用图,也就是每个调用的下游列表只和真正和它有关的联系在一起。
Root Cause Exploration
三种剪枝,没什么好说的。得到最终的候选根源节点列表。
Candidate Root Cause Ranking
三种方法
- Root cause node count(RCNC)。the more root cause nodes in a service, the more likely the service is the root cause service
- average error rate。EC/RC
- Pearson correlation