什么是应用性能管理(APM)

应用性能管理(Application Performance Management)是一个比较新的网络管理方向,性能监控使组织能够监控其关键业务的性能指标,在出现性能问题时及时接收警报,并生成定期性能分析报告。
APM 提供对应用程序性能的上下文洞察,使 IT 和 DevOps 管理员能够在应用程序与最终用户交互时管理可用性、性能和控制应用程序的行为。APM 工具还可以通过快速识别任何问题来帮助减少停机时间。这反过来又使您能够维护快速响应的软件,从而改善最终用户体验。
由于现代应用程序具有复杂且动态的结构,因此 APM 对于让您的应用程序保持最佳运行和运行至关重要。这很关键,因为应用程序通常代表品牌。如果没有 APM 工具,定位和解决问题可能会很费劲,这增加了最终用户体验不佳的可能性。它还可以降低运营成本,增加收入和销售额。

APM 工具要求

根据软件分析公司 Gartner 的说法,APM 工具应满足三个主要功能维度:

  • 前端监控
  • 应用程序发现、跟踪和诊断 (ADTD)
  • 分析

1、前端监控

APM的这一方面侧重于基于业务应用程序/服务的可用性和性能的最终用户体验。这包括真实用户监控和综合交易监控,通常使用与业务应用程序交互的数字代理来收集交易信息并帮助查明数字体验问题。

2、应用程序发现、跟踪和诊断 (ADTD)

任何APM 软件的另一个不可避免的功能。这包括自动发现应用程序服务器、Web 服务器、微服务以及应用程序平台(如容器和服务网格),以及使用字节码检测和/或分布式跟踪对应用程序事务进行深入分析以查明应用程序错误.大多数 IT 团队在做出购买决定之前都会评估这部分的功能。

3、分析

Gartner 将此维度定义为涉及使用 AI 和机器学习 (ML) 的 IT 运营功能的以领域为中心的人工智能。APM 工具应采用性能警报、事件关联和根本原因分析。此外,还包括跟踪 Java 和 .NET 应用程序服务器支持的 HTTP/S 事务的性能异常。
Gartner 封装了具有这些维度的 APM 软件。然而,人们必须意识到,组织之间的数字应用程序监控需求差异很大,因此 APM 要求在不同情况下的定义也不同。虽然一些组织使用多种工具组合来进行监控、警报和报告,但理想的 APM 软件提供了一个统一的控制台来满足所有监控要求。在选择 APM 解决方案之前,APM 领域的 IT 和 DevOps 专业人员应彻底分析下面给出的特定功能,以获得正确的应用程序性能结果。

APM 工具的主要特点

1、关键绩效指标

当我们说 KPI 时,我们谈论的是应用程序性能指标,例如响应时间、每分钟请求数、线程和会话详细信息、CPU 利用率、磁盘和内存利用率、错误状态等。这包括第一组基本应用程序和基础架构您检查以衡量应用程序效率的指标。您的 APM 系统应该能够定期准确地呈现这些数据。

2、代码级洞察和事务跟踪

大多数 APM 解决方案提供一直到代码级别的可见性,以帮助发现在最终用户报告之前可能被忽视的问题。您的 APM 解决方案应该能够拍摄单个事务跟踪的快照,并允许您深入到 SQL 查询以检测运行缓慢的查询。在分布式事务跟踪的帮助下,APM 解决方案应该能够跨各种平台和语言跟踪从一个服务到另一个服务的调用,尤其是当您的应用程序在微服务环境中运行时。您的 DevOps 团队应该能够判断出这些类型的见解在应用程序开发阶段的价值。

3、最终用户体验监控和综合交易监控

什么是应用性能管理(APM)
想一想这些问题:

  • 您的网页/应用程序加载需要多长时间
  • 执行结帐交易需要多少时间
  • 通过您的邮件服务器发送一封电子邮件需要多长时间
  • 执行 LDAP 搜索请求需要多长时间
  • 通过 ftp 站点下载一个 1 MB 的附件需要多长时间

如果您的 APM 软件充分回答了这些问题,客户对服务交付的投诉就会减少。借助在您的网页/应用程序中模拟用户行为的合成事务,您应该能够在部署应用程序之前找到其性能中的任何差异(页面加载时间、404 错误等)。这还可以确保您的应用程序在部署后的性能在从全球不同位置访问时提供相同的一致性能。

4、广泛支持的应用程序

您的 APM 软件可能能够监控各种应用程序和框架,但更重要的是根据各个组织的业务需求来评估该工具。例如,您的 APM 工具可能会帮助您监控 Web 服务器和底层数据库性能统计信息;但是,它是否对您的内部自定义 Web 应用程序执行应用程序性能管理?理想的 APM 工具应该是灵活的,并支持 IT 设置中所有必要的可监控接触点。

5、用于全方位监控的单一控制台

如前所述,理想的APM 工具应包含基本要素,即全方位监控、警报和综合报告,消除了必须处理多个工具来衡量和优化应用程序性能的麻烦。

6、ADDM

ADDM 扩展到应用程序发现和依赖关系映射。您的 APM 管理工具不应该只是自动发现网络中的所有应用程序和服务器,它还应该能够对它们进行分类(数据库、虚拟机、服务器等)并为用户提供可视化应用程序相互依赖关系的能力。此功能特别有助于节省通常浪费在试图查明大量应用程序中的瓶颈的时间。

7、警报和自动纠正措施


警报是 APM 监控工具的主要要求之一。这些警报的阈值应该可以针对单个指标以及整个应用程序进行配置。这些警报有助于更快地识别应用程序性能问题。IT 团队应该能够通过各种渠道接收这些警报 - 电子邮件、SMS、Slack 消息、ITSM 工具(如 ServiceNow)中的事件等。但是,这些警报还应该能够执行预配置的操作以更快地进行故障排除.执行纠正脚本或批处理文件、重新启动 VM 或容器实例、执行 MBean 操作、生成堆转储/线程转储/垃圾收集等可以是自动化操作的一些示例。

8、自定义仪表板

以相同的关注程度管理所有应用程序是非常详尽的。想象一下有数百个服务器/应用程序添加到您的监控工具中;有一个有组织的仪表板,显示最近的严重警报、繁忙的服务器、服务器的当前可用性等统计信息。您将清楚地知道哪个服务器首先需要您的注意。当然,从业务价值角度来看,最有意义的统计数据可能因组织而异,这就是仪表板应该提供定制灵活性的原因。

9、报告

什么是应用性能管理(APM)
报告是定期分析和分享有关应用程序性能的见解的重要手段。这种分析可以帮助识别使用不足和过度使用的服务器,了解 APM 性能趋势,根据历史数据预测未来趋势,从而规划资源重新分配和基础架构升级。如果没有正确的应用程序分析,任何 APM 实例都是不完整的——无论是小型、中型还是企业应用程序。

10、成本和可扩展性

选择 APM 工具的最重要因素之一,几乎与它的功能一样重要(或更多?),是它们的价格。通常对于任何供应商来说,监控数百台服务器的小型网络的价格似乎都不算高。但是,必须牢记一旦组织决定增加其基础设施容量,最终成本将会增加。扩展的价格是否会影响您的预算并阻碍数字化转型?这值得深思。
应用性能管理(APM)在了解各种组件对业务关键型应用程序的影响方面起着至关重要的作用。它有助于揭示可以优化和增强的性能责任因素,以提高应用程序的整体性能。