什么是真正的APM(二)

云智慧(北京)科技有限公司 高驰涛 
1. Business Transactions 
What:应用事务分析 
Why:当然这里说的事务不是DB事务。这里指应用与用户交互的操作事务。举个例子:用户登录网站后,使用搜索功能搜索了耳机,从耳机列表中,选择了自己喜欢的耳机,打开查看详情,款式音效价格看来都不错,放入购物车,然后打开购物车进行购买,完成支付。 
整个例子中,我们所说的事务可以抽象为: 
登录 -> 搜索 -> 挑选 -> 购买 -> 支付 
所以,单纯的记录登录成功率、购买成功率的意义不会至于大到分析整个应用的健壮稳定程度,准确地分析出整体事务的相互影响象限,才会。 
How:熟悉GA的朋友都知道,GA花费了大量的力量以实现上述我们所描述的应用事务。但令开发者痛苦的是,必须要在代码中“埋点”,即在代码中的关键位置写入一行代码,以实现在关键位置的追踪,而业务总不是一成不变的,于是随着业务发展,“埋点”这个事情使得应用总在不停地修改、发布、修改、发布。 
其实,用户在客户端(浏览器、APP)所进行的所有操作,很明显,是有序的。要完成应用事务的记录,要完成的需求其实只是两个惟一性: 
1、确定上下文的事务操作,是同一个用户; 
2、确定所有事务操作的每一个步骤,是惟一一个动作。 
于是我们便可对某一个应用取得的数据分析出以下应用事务,而整个过程中,用户不需要修改任何一行代码(无须埋点)。 具体的实现细节,后续会专门出文介绍。

  1. Deep Dive Component Monitoring 
    What:深度应用诊断 
    Why:关键词是“深度”。比如某在线商城,接到了上海用户的反馈,登录慢,不响应。这其中可能出现问题的环节太多了:CDN可能有问题、Web Server或DB Server负载可能过高、业务代码中可能有bug、中间件可能不响应、甚至任何一个环节的物理磁盘或物理网卡可能出现了故障,等等。想要准确地找到问题所在,即使不经一番寒彻骨,八成也要先打个冷战。 
    How:这里有几个难点是: 
    1、在不修改用户代码的前提下,取得代码运行时性能数据; 
    2、终端用户数据、运行时性能数据、物理指标数据、服务运行指标数据,有效关联; 
    3、有太多需关注的点,怎样方便快捷地部署采集端; 
    4、不影响或很少影响原应用性能。 
    以上也正是APM提出的需求。 
    一键式的、无干预的安装部署与更新升级,以替代繁琐的部署与升级;采用各个语言的底层Hook来针对性地编写语言Agent插件,以此实现不修改用户代码而取得运行时性能数据;通过主机、应用、服务、请求的惟一标识,来进行有效的数据关联;通过特有的数据采样算法来达到2%以下的性能影响;一体化的数据模型,以替代密集的数据孤岛。这段特征,描述的是云智慧透视宝的Smart Agent。(同样,实现细节请待后文。)

  1. Analytics / Reporting 
    What:分析与报告 
    Why:简单地讲,APM对数据有两点要求: 
    1、数据处理要及时,必要时候要做到实时的处理,问题可能随时都会发生; 
    2、数据的分析报告要精确,大量的数据本身是无价值的,按照业务模型进行精确分析、预测才有其价值体现。 
    How:APM数据是天然的大数据,符合4V特征。因此难点几乎与大数据处理的难点相重合: 
    1、数据模型语言要统一 
    2、数据存储与查询 
    3、大量复杂数据的关系建模 

可以看到,云智慧透视宝架构中Pipe Cluster的设计是对流数据的处理的核心部分,分布式、集群部署的Pipe Worker可实现实时的消息消费,同时基于此架构的Data Platform与Alter Engine可实时对任意维度的数据进行分析与预警。目前数据采集量720亿条/每天,共存储200,000亿条数据。(后续将对此架构进行专文介绍。)

下图是对比了国内外APM行业的各厂商对以上APM模型中五个层次的认识与支持程度:

End

关于作者: 
高驰涛(Neeke),云智慧高级架构师,PHP开发组成员,同时也是PECL/SeasLog等多个开源软件作者与贡献者。8年研发管理经验,早期从事大规模企业信息化研发架构,09年涉足互联网数字营销领域并深入研究架构与性能优化。对高并发、高性能、高可用系统设计实现有丰富经验。崇尚规范、敏捷、高效、GettingReal。目前在云智慧致力于APM产品的架构与研发。主要负责PHP、Python、Go等语言的底层扩展与SmartAgent的架构研发。

时间: 2024-10-27 13:39:12

什么是真正的APM(二)的相关文章

跟我学SpringCloud | 第十六篇:微服务利剑之APM平台(二)Pinpoint

目录 SpringCloud系列教程 | 第十六篇:微服务利剑之APM平台(二)Pinpoint 1. Pinpoint概述 2. Pinpoint主要特性 3. Pinpoint优势 4. Pinpoint架构简介 5. Pinpoint数据结构简介 6. Pinpoint版本依赖 7. Spring Cloud与Pinpoint实战 8. 小结 SpringCloud系列教程 | 第十六篇:微服务利剑之APM平台(二)Pinpoint Springboot: 2.1.7.RELEASE Sp

转载:Pixhawk源码笔记二:APM线程

  转自:新浪@WalkAnt Pixhawk源码笔记一:APM代码基本结构,参见: http://blog.sina.com.cn/s/blog_402c071e0102v59r.html 这里,我们对 APM 线程进行讲解.如有问题,可以交流[email protected].新浪@WalkAnt,转载本博客文章,请注明出处,以便更大范围的交流,谢谢. 第三部分 APM线程 详细参考:http://dev.ardupilot.com/wiki/learning-ardupilot-threa

CentOS 7, apm+xcache, rpm包, php module

实验需求: 1.CentOS 7, apm+xcache, rpm包, php module;        a) 一个虚拟主机提供phpMyAdmin,另一个虚拟主机提供wordpress:        b) 为phpMyAdmim提供https服务: 实验环境: Linux服务器操作系统版本:CentOS Linux release 7.2.1511 (Core) IP:172.16.252.113WIN7系统客户机:IP:172.16.250.100 实验前提:    1)关闭防火墙和S

C#多线程之旅(4)——APM初探

原文地址:C#多线程之旅(4)——APM初探 C#多线程之旅目录: C#多线程之旅(1)——介绍和基本概念 C#多线程之旅(2)——创建和开始线程 C#多线程之旅(3)——线程池 C#多线程之旅(4)——APM初探 C#多线程之旅(5)——同步机制介绍 C#多线程之旅(6)——详解多线程中的锁 更多文章正在更新中,敬请期待...... C#多线程之旅(4)——APM初探 v博客前言 先交代下背景,前面几张内容主要是介绍多线程的基本知识,这一章是因为正好接触到了APM(异步编程模型),发现APM真

详解APM数据采样与端到端

高驰涛 云智慧首席架构师 本文整理自GOPS2016全球运维大会 上海站APM专场 云智慧首席架构师高驰涛的演讲. 高驰涛:今天咱们的专场是APM专场,我相信在座的其实对APM这个东西肯定是了解的,要不然不会过来,APM我今天会从几个层面聊一下,因为今天的时间非常有限,也不占用大家太多的时间,我只就APM里面的一个小点和大家说一下,这个其实是我们的一些应用的实践,就是我们在APM这个行业里面的一些实践,其实像刚才这两位男神和丹姐聊的这个范围没有提到APM,其实就是做APM的事情.这个二维码是我的

云智慧:顺势而为 做世界级APM服务商

云智慧:顺势而为 做世界级APM服务商 云计算.移动互联网的快速发展正在引发一场新的变革,这种变革正在给企业的应用性能管理(Application Performance Management,简称APM)带来新的挑战和机遇,作为互联网公司创业的元老级必备神器,国内首款基于SaaS的APM产品"监控宝"又将在这一领域如何应对?北京云智慧科技公司CEO殷晋在接受采访时表示,在移动互联网的趋势下,云智慧已汇聚旗下监控宝.透视宝和告警宝等产品系列,正在借助新的技术和资源,打造新一代的APM.

APM:云时代下的那些两难分岔路口

根据最近不断涌现的风险投资.私募股权投资以及收购案例来看,目前应用程序性能管理(简称APM)市场已经赢得愈发高涨的关注与重视.而作为其迅速崛起的重要推手之一,云计算的广泛兴起为其贡献了不可磨灭的动力.毕竟如今大量应用程序开始以云环境作为开发及托管的基础平台,而相关团队也迫切需要一套解决方案用于监控并管理应用程序的实际性能表现.基于这一切,应用程序性能管理技术的成功也就变得顺理成章. 不过这些应用程序及服务的客户又抱有怎样的态度——也就是那些为所在企业购买并维护一系列云应用组合的IT及Busine

[置顶]云计算乱局:你真的懂,什么叫做云吗?(二)

上一章讲了什么是云,把云的概念给搭建简单的做了分析.这一章我把国内.国外的PaaS平台,即应用托管平台进行了测评对比,包括:国外的AWS.GAE和Windows Azure和国内的京东云擎JAE.百度BAE.新浪SAE.以及阿里云.IBM也宣布了落地国内的计划,IBM的公有云有好几套方案,一个是现有IBM Smarter Cloud的公有云方案,由TSAM和Websphere Pure application这种厚重的企业软件构成,最终在国内落地哪个还不得而知,这里暂不做比较. 比较可以看出,很

HAPM—基于硬件的APM

接上篇 IT管理人员边的问题 http://qinzhi.blog.51cto.com/10503357/1673673 HAPM,采用第2种APM技术路线,通过专用硬件从网络中抓取包含完整交易要素的数据包集合,对该集合进行详细的协议分析.数据分析和应用解析还原操作,实现端户体验监测.应用组件发现与可视化.用户自定义事务处理剖析.应用组件深度监测和预测分析. 开发平台-开放.高效.自由 勤智数码HAPM提供两种产品形态:1)HAPM-DEV,基于大容量数据报获取和分析的专用硬件开发平台:2)HA