
什么是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
- 告警归并
- 根因分析
- 故障自动恢复
- 容量预测
