APM

 一、当系统某一模块的部分功能访问很慢,怎样检测?
            1.检查线上10台机器各硬件负载指标均正常(硬件)
            2.查询线上10台会员系统日志,出现大量请求Timeout(网络)
            3.检查3台MySQL数据库,访问非常慢,并且连接已占满(应用内部)
            4.进一步查明,大量连接都在执行一个会员注册的SQL语句,找到问题(应用外围的节点组件)
二、若以上步骤都用人工去完成,需要消耗多长时间?
            优化:
                1.采用Zabbix对线上机器各性能指标进行集中监控
                2.使用ELK对线上日志集中存储查询
                3.使用Anemometer集中监控SQL语句
            以上三个功能合起来就是我们的APM系统
三、若这个SQL并不是慢查询,且这时的流量并不大
            那么只能查看代码,这个时间可能比前面四个步骤花的时间还要长,一般是耗时较长的代码段
四、APM简介
            APM全称是APPlocation Performance Management(应用性能管理),APM致力于监控和管理应用软件的性能和可用性。通过检测和诊断复杂应用程序的性能问题,来保证软件应用程序的良好运行
五、APM发展的三个阶段
            1.以网络为中心,网速即运行速度,APM主要指基础组件的性能监控
            2.以IT不见、组件为中心,监控围绕着部件、组件健康状态,基础设施可用性,伴随IT基础建构组件发布
            3.以IT应用核心和业务交易为中心,IT架构高度复杂性,专注IT应用,面向用户,提供应用生命周期管理
六、各互联网公司APM解决方案
            1.google:dapper
            2.京东:hydra(开源)
            3.小米:open-falcon(开源)  等 
七、现有监控系统解决方案对比(Zabbix和open-falcon)
            主要功能:CUP负荷、内存使用、磁盘使用、网络状况、端口监视、日志监视
            不同点:
                1.

  Zabbix open-falcon
用户群 85%互联网企业 美团、滴滴、爱奇艺等
优点

1.安装部署简单

2.多数据集采集灵活集成

3.用户群体大,使用时间长

1.数据采集免配置

2.吞吐量高,支持单周期亿次数据采集,告警判断

3.中文文档齐全

4.水平扩容多IDC支持

5.支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用

缺点

1.易用性不高、而且很多定制化监控实现起来很麻烦

2.应对超大流量有点力不从心

1.部署复杂,单个组件太零散

猜你喜欢

转载自blog.csdn.net/qq_40280705/article/details/82292281
APM