传统上,缩写APM被用来指代应用程序性能管理一词。然而近年来APM指代为应用程序性能监控可能更为准确。在维基百科中是这样定义的:“APM致力于检测和诊断复杂的应用程序性能问题,从而维持预期的服务水平。”
根据定义,APM或应用程序性能监控使组织能够监控其关键业务应用程序的性能指标,在出现性能问题时及时接收告警,并生成报表来进行定期性能分析。
根据软件分析公司Gartner的说法,APM工具应满足三个主要功能维度:
APM的这一方面侧重于基于业务应用程序/服务的可用性和性能的最终用户体验。这包括真实的用户监控和综合事务监控,通常使用与业务应用程序交互的数字化代理来收集交易信息,并帮助确定数字化体验问题。
任何APM软件的另一个不可避免的功能。这包括自动发现应用程序服务器、Web服务器、微服务以及应用程序平台,例如容器和服务网格,以及使用字节码检测和/或分布式跟踪对应用程序事务进行深入分析,从而精确定位应用程序错误。大多数IT团队在做出购买决定之前都会针对这个部分的功能进行评估。
Gartner将这个维度定义为以领域为中心的人工智能,涉及使用AI和机器学习(ML)的IT操作功能。APM工具应采用性能告警、事件相关性和根本原因分析。此外,还包括跟踪Java和.NET应用程序服务器支持的HTTP/S事务的性能异常。
Gartner封装了具有这些维度的APM软件。然而我们必须意识到,数字应用程序监控需求在不同组织之间存在巨大差异,因此APM要求在不同的环境中有不同的定义。虽然一些企业将多种工具组合用于监控、告警和报表,但理想的APM软件会提供一个统一的控制台来满足所有监控需求。在选择APM解决方案之前,APM领域的IT和DevOps专业人员应该彻底分析下面给出的特定功能,从而获得正确的应用程序性能结果。
当我们说KPI时,我们谈论的是应用程序性能指标,例如响应时间、每分钟请求、线程和会话详细信息、CPU利用率、磁盘和内存利用率、错误状态等。这包括您检查的第一组基本应用程序和基础架构指标来衡量应用程序的效率。您的APM系统应该能够定期准确地呈现这些数据。

大多数APM解决方案提供一直到代码级别的可见性,从而可以在最终用户发现问题之前就已经注意到问题所在了。您的APM解决方案应该能够记录单个事务跟踪的快照,并允许您深入到SQL查询来检测运行缓慢的查询。在分布式事务跟踪的帮助下,APM解决方案应该能够跨各种平台和语言跟踪从一项服务到另一项服务的调用,特别是如果您的应用程序在微服务环境中运行时。您的DevOps团队可能应该能够判断这些类型的insight在应用程序开发阶段的价值。

仔细思考一下这些问题:
如果您的APM软件能够充分回答这些问题,您就会减少客户对服务交付的投诉。借助模拟用户在您的网页/应用程序中的行为的综合事务,您应该能够在部署您的应用程序之前找出它们性能上的任何差异,例如页面加载时间、404错误等。这还可以确保您的应用程序在部署后从全球不同位置访问时,其性能提供相同的一致性能。
您的APM软件可能能够监控各种应用程序和框架,但更重要的是根据各个企业的业务需求评估该工具。例如您的APM工具可能会帮助您监控Web服务器和底层数据库性能统计信息;但是它是否对您的内部自定义Web应用程序执行性能管理?理想的APM工具应该是灵活的,并支持IT设置中所有必要的可监控接触点。
综上所述,理想的APM工具应该包含基本要素,即全方位监控、告警和综合报表,从而消除必须处理多种工具来衡量和优化应用程序性能的麻烦。
ADDM扩展到发现应用程序和依赖映射。您的APM管理工具不应只是自动发现网络中的所有应用程序和服务器,它还应该能够对它们进行分类,例如数据库、虚拟机、服务器等,并为用户提供可视化应用程序相互依赖性的能力。此功能有助于节省浪费在大量应用程序中查明瓶颈的时间。

告警是APM监控工具的主要要求之一。这些告警的阈值应该可以为单个指标以及整个应用程序配置。这些告警有助于更快地识别应用程序性能问题。IT团队应该能够通过各种渠道接收这些告警——电子邮件、短信、Slack消息或ITSM工具中的事件,如ServiceNow等。但是,这些告警还应该能够执行预配置的操作,以便更快地进行故障排除。执行更正脚本或批量处理文件、重新启动虚拟机或容器实例、执行MBean操作、生成堆转储/线程转储/垃圾收集等可能是自动操作的几个例子。
用同等程度的注意力非常详细的管理所有应用程序是一项难以想象的任务。想象一下,在您的监控工具中添加了数百台服务器/应用程序;有一个有条理的仪表板,可以显示最近的关键告警、繁忙的服务器、服务器的当前可用性等统计数据。您会清楚地知道哪台服务器首先需要您关注。当然从业务价值的角度来看,最有意义的统计数据可能会因企业而不同,这就是为什么仪表板应该提供定制的灵活性。

报表是定期分析和分享有关应用程序性能见解的重要手段。这种分析有助于识别未充分利用和过度使用的服务器,了解APM性能趋势,根据历史数据预测未来趋势,从而规划资源重新分配和基础架构升级。如果没有正确的应用程序分析,任何APM实例都是不完整的-无论小型、中型还是企业应用程序。
选择APM工具的最重要因素之一,几乎与其功能一样重要,是它们的价格。通常对于任何供应商来说,监控一个由几百台服务器组成的小型网络的价格似乎都不高。但是需要注意的是,一旦企业决定增加其基础架构能力,最终成本将会上涨。需要思考的是,扩展的成本是否会影响您的预算并阻碍数字化转型?
虽然大多数企业APM工具涵盖了本页讨论的几个方面,但最适合您企业需求的解决方案是,您可以在自定义监控环境中对自己进行评估的解决方案。话虽如此,ManageEngine Applications Manager是一款优秀的APM解决方案,它以令人难以置信的实惠价格提供所有监控功能,例如监控、告警、报表、自定义仪表板等。
它允许我们跟踪关键指标,如响应时间、资源利用率、错误率和交易性能。实时监控告警会及时通知我们任何问题或异常,使我们能够立即采取行动。
审稿人角色:研究与开发

Lexmark技术支持经理