想象一下嗓子疼去看医生的情景医生在用压舌板压住你舌头的同时会让你说“啊”通过观察你喉咙的状况确诊你是因为喉咙红肿而引起的嗓子疼症状并为你选择适当的治疗方案。这个例子很像传统的基础设施监测工具。这些工具提供了一个非常有针对性但却又很有限的问题视图。在当今复杂的应用和基础设施环境中为了有效诊断问题您需要使用应用性能管理工具来查看完整的视图。
应用性能管理工具如何保证应用环境健康
现在让我们回顾一个发生在医生办公室的真实场景。当护士为您检查时她会询问您的症状病史和您正在服用的任何药物之后会检查您的血压体温和脉搏。但医生在进行诊断和开药之前会给你做一个更加完整的检查他不仅检查你的喉咙还会检查你的呼吸心跳和耳朵。这一过程非常类似于完整的应用性能管理APM工具的工作方式。
好的APM工具可以提供性能情报来发现并诊断应用代码中的瓶颈包括容器化服务和微型服务环境。它们可以帮助您在用户受到影响之前解决问题为您提供所需的信息并确保您拥有一个健康的应用环境
在您的应用性能管理(APM)方案中寻找四项功能
您会如何选择APM解决方案呢Riverbed最新出版的《应用性能管理入门》讨论了如何在当今复杂的应用和基础设施环境中寻找APM解决方案的方法而这种方案可以涵盖应用交付链的所有关键部分。无论您是推出新应用集中管理应用整合或虚拟化数据中心还是迁移到云端管理应用性能都需要包含以下内容的整体视图
终端用户体验数据
应用的发现跟踪和诊断
应用分析
基础设施和网络性能视图
1)终端用户体验监测----与APM密切相关
终端用户希望能够随时访问并与他们所需的业务应用保持一致的体验。许多APM产品可以提供关于终端用户在与Web应用交互时实际体验到的可用性和性能的信息。大多数企业环境都比这更复杂。Web只是典型企业应用组合中的一种应用类型。无论使用Web应用还是胖客户端应用无论是本地用户全球用户还是使用移动设备您必须有能力监测并达成应用性能的最终目标终端用户体验。
分析终端用户体验数据使应用支持团队能够观察和分析用户与应用之间的交互情况。它使团队能够将总应用响应时间分解为贡献源、发起根源排障并分析服务器之间的流量和响应时间从而管理多层应用。
2)应用的发现跟踪和诊断
终端用户
所认为的单个操作实际上可能涉及许多不同应用组件的多个不同子交易。这些可以包括不同的应用服务器、数据库、甚至完全不同的网站如提供广告或地图和指路的网站。您需要一个可以跟踪监测并排除每一个关键交易性能的APM解决方案将其相关联并深入了解应用的各个组件。它还应提供如下功能
涵盖所有应用组件如Java.NETWeb服务器数据库操作系统和存储的性能指标
应用依赖关系图为您的应用和基础设施组件及其相互关系提供了完整视图
代码级交易跟踪和应用组件性能监测使您可以深入了解应用以诊断性能问题的根本原因
3)应用分析
Gartner更新了其2016应用性能监测套件魔力象限的定义并确认了应用分析对APM的重要性。APM魔力象限现在将应用分析列为APM工具的主要功能维度之一。
分析监测系统和应用指标可以自动检测异常行为关联信息发现问题根源并预测事件和性能趋势。这是现代复杂环境中的一项重要功能。这一环境中应用频繁变更且采用微服务构建、具有弹性、瞬态和高度虚拟化的特点。APM工具使用统计分析、机器学习、模式识别或数学理论来自动检测交易性能问题的根源。
仪表板可以通过“统一虚拟管理平台”提供应用和基础设施的大视图为不同的团队提供可操作的警报和信息。
4)了解基础设施和网络性能
应用性能管理使应用团队可以监测SLA合规性而不是简单的正常运行时间测定。可用性仍是一个重要的SLA指标但团队也将端到端的响应作为服务水平的指标。
尽管应用基础设施中的单个组件可能在已建立的性能阈值范围内运行但数字体验可能较慢或无响应。对于用户而言应用或网站实际上是不可用或“宕机”状态。例如网站应用的交易通常依赖于多个步骤和组件的有效操作。
在这些步骤中任何失败或延迟都将导致无法使用该应用。另外尽管各个步骤或组件中的每一步均可按预期执行但是所得到的性能可能也并不理想。因此APM解决方案必须监测整体数字体验以便DevOps团队可以
进行分类
这是一个全面的应用性能管理解决方案它为IT提供整个应用和基础设施环境的端到端视图包括所有交易和组件。DevOps团队可以深入了解问题的细节快速地对问题进行分类并将问题分配给适当的团队或第三方供应商。
解决问题
APM为应用团队提供了解决性能问题的工具。这应该从一个“大视图”自上而下的方法开始使他们能够精确定位并深入到各个交易和组件中以隔离和解决性能问题的根本原因。
应用依赖关系图
应用性能管理提供了将应用映射到交付它的应用组件和底层基础元素的能力。对应用架构的理解使我们更有效地进行故障排除并有助于减少与应用和基础设施更改相关的未知风险。
管理云中的应用性能
APM在包含多个云服务和数据中心应用的混合环境中提供一个统一视图。并从应用组件网络服务器数据库和Web服务等多个角度集成应用知识。它应该提供一个针对应用的整体方案而不是以上各部分的简单叠加。
根据应用和基础设施的变化来管理性能
应用和基础设施的变更从根本上降低了可视化程度且提高了应用的复杂性。为了主动解决这些性能问题这些变更计划应该包括APM的实施。