什么是APM?
APM (Application Performance Management) 即应用性能管理,属于IT运维管理(ITOM)范畴。主要是针对企业 关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量,保证用户得到良好的服务,降 低IT总拥有成本(TCO)。
APM的发展历程
Gartner对APM的定义(2014)
2014年Gartner对APM的5个定义:
Gartner对APM的定义(2016)
2016年重新定义,将原来的五部分合成三部分。
服务开发架构的发展历程
一开始的应用开发是从Main-frame一直到2010年以前比较热的SOA架构,到14年比较热的Microsorvices架构,从14年开始基于容器化的Microsorvices。服务开发框架复杂度越来越高。
微服务带来的挑战
- 依赖关系复杂
- 持续交付
- 容器化环境
- 服务注册、发现和可靠性
- 一切皆服务(Everything-as-a-Service)
- DevOps
微服务对APM的大影响
APM的核心能力
基于微服务的应用程序端到端监控
APM探针的基本原理 (Java Instrument)
APM探针的基本原理 (Java探针结构)
APM探针的基本原理 (Java Instrument)
分布式追踪 – Google Dapper
分布式追踪 – OpenTracing
追踪一切
无论是业务服务还是微服务,要做到收取流失的数据,还有所有组件健康检查,还要做到数据的分析。
服务关联元数据
监控是分层的,只知道一个服务有问题,并不能定位这个服务的根本原因是什么,就需要使用元数据。
服务动态拓扑
随时间的推移去变化
服务调用链分析
APM总体架构
探针配置
APM核心能力
性能测试
构建“部署 + 监控 + 告警 + 报障”闭环
告警平台
通过故障分类系统、支持组,快速将接入的各监控系统报障通知给相应维护人员, 并通过配置的SLA及组织架构,对未及时响应的报障进行上告处理,以达到卓越运维的目的。
大数据能力的充分释放-自动异常点检测
AIOps
- 告警归并
- 根因分析
- 故障自动恢复
- 容量预测