微服务架构谈(6):从监控到故障定位(上)

六、服务调用跟踪

众所周知,trace架构基本都源自Google Dapper


微服务架构谈(6):从监控到故障定位(上)


下图为高德在基于trace基础上做的场景应用,比如服务状态自我诊断、监控追溯等。



微服务架构谈(6):从监控到故障定位(上)


上图为支付宝app通过无线网关的trace示意图,包括应用链路,文件存储。应用链路包括rpc调用和消息服务。《分布式服务框架》一书,林峰特别对服务调用链价值进行了汇总,体现了对于不同角色,服务调用链路跟踪的价值所在。


开发:

架构优化

消除不合理依赖

性能优化

还可以补充容量评测、设计变更分析等


测试:

识别调用流程

优化测试用例

关键路径覆盖率

还可以补充自动化端到端测试


运维:

故障定界

故障定位

提前预警

易故障点识别

 

七、不能承受之重:监控

7.1 监控预警的疑难问题

监控最大的问题是消息很多,我来不及看。漏报伤不起,误报也很烦,说不想半夜三更好好的睡睡觉。总结监控预警的疑难问题,大致可以分为几类:

  • 报警多到没朋友、长期容易懈怠
  • 不容易觉察的阴跌或者缓慢性问题
  • 周期性波动导致的误报或漏报


报警多到没朋友、长期容易懈怠

对于固定阈值的报警,没有可调适性,可以形成动态阈值方案,在动态阈值上限、下限范围内都属于业务正常。


微服务架构谈(6):从监控到故障定位(上)


不容易察觉的阴跌或者缓慢性问题

Service耗时在不断的增加,一直到濒临临界点爆发。采取常规固定阈值或者同环比的监控,比较难发现问题。


微服务架构谈(6):从监控到故障定位(上)


对于上图,绿色线为观测时间,通过变点检测方法,相比传统阈值报警发现时间可以做一定的提前。

 

上一篇:缩小样式计算的范围并降低其复杂性[转]


下一篇:《中国人工智能学会通讯》——6.10 链接数据实践