APM(Application Performance Management-应用性能管理)介绍

337 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

APM(Application Performance Management-应用性能管理)

在分布式领域也称为分布式跟踪管理,对企业的应用系统进行实时监控,它是用于实现对应用程序性能管理和故障管理的系统化的解决方案

APM核心功能

  • 应用系统存活检测
  • 应用程序性能指标检测(CPU利用率、内存利用率等)
  • 应用程序关键事件检测
  • 检测数据持久化存储并能够多维度查询
  • 服务调用跟踪
  • 监控告警

APM发展历程

  • 第一阶段:以网络监控基础设施为主,主要监控主机的CPU使用率、I/O、内存资源、网速等,主要以各类网络管理系统(NMS)和各种系统监控工具为代表。
  • 第二阶段:以监控各种基础组件为主,随着互联网的快速发展,为了降低应用开发难度,各种基础组件(如数据库、中间件等)开始大量涌现,所以这个时期应用性能管理主要是监控和管理各种基础组件的性能。
  • 第三阶段:以监控应用本身的性能为主,IT运维管理的复杂度开始出现爆炸性的增长,应用性能管理的重点也开始聚焦于应用本身的性能与管理上。
  • 第四节阶:属于正在发展的阶段,使用Machine Learning、AI的技术对定位故障、定位问题。

开源APM管理工具

  • ZipKin
  • PinPoint
  • SkyWalking
  • CAT

OpenTracing(开放式分布式追踪规范)

为了解决不同的分布式追踪系统API不兼容的问题,诞生了OpenTracing规范。OpenTracing是一个轻量级的标准化层,它位于应用程序/类库和追踪或日志分析程序之间。

总结

相对于传统的监控软件(Zabbix之流)的区别,APM更关注在对于系统内部执行、系统间调用的性能瓶颈分析,这样更有利于定位到问题的具体原因,而不仅仅像传统监控软件一样只提供一些零散的监控点和指标,就算告警了也不知道问题是出在哪里。

参考