4. Deep Dive Component Monitoring

What:深度应用诊断

Why:关键词是“深度”。比如某在线商城,接到了上海用户的反馈,登录慢,不响应。这其中可能出现问题的环节太多了:CDN可能有问题、Web Server或DB Server负载可能过高、业务代码中可能有bug、中间件可能不响应、甚至任何一个环节的物理磁盘或物理网卡可能出现了故障,等等。想要准确地找到问题所在,即使不经一番寒彻骨,八成也要先打个冷战。

How:这里有几个难点是:

1、在不修改用户代码的前提下,取得代码运行时性能数据;

2、终端用户数据、运行时性能数据、物理指标数据、服务运行指标数据,有效关联;

3、有太多需关注的点,怎样方便快捷地部署采集端;

4、不影响或很少影响原应用性能。

以上也正是APM提出的需求。

一键式的、无干预的安装部署与更新升级,以替代繁琐的部署与升级;采用各个语言的底层Hook来针对性地编写语言Agent插件,以此实现不修改用户代码而取得运行时性能数据;通过主机、应用、服务、请求的惟一标识,来进行有效的数据关联;通过特有的数据采样算法来达到2%以下的性能影响;一体化的数据模型,以替代密集的数据孤岛。这段特征,描述的是云智慧透视宝的Smart Agent。(同样,实现细节请待后文。)

什么是真正的APM? 




相关内容