应用性能管理(Application Performance Management, 简称APM)解决方案最擅长提供交易跟踪和识别代码中的瓶颈,而不是为监视当今各种环境的服务级操作而设计的,因为真正的问题可能产生于代码之外。虽然许多APM解决方案现在捆绑了一些基本的基础设施监控,但它们缺乏覆盖面,广度和在异构环境中提供足够警报的能力。
你在两个服务之间经历了高延迟,是因为网络速度很慢,还是因为负载均衡器配置错误?是不是一开始就有异常高负载量的服务?该服务中的几个节点是否宕机,容量是否降级?
此外,大多数APM解决方案需要执行字节码注入的专有代理。虽然这种重量级方法在开发环境中可能是可以接受的,但大多数公司不喜欢承担专有代理的费用,而是选择从所选节点抽样数据以进行基础设施监视。然而,抽样并不能提供生产环境不断变化的人口或具体绩效的可靠视图,因此,这不足以推动有效的警报。
APM工具可帮助公司轻松地检测和识别代码中的瓶颈。 APM供应商将大部分开发资源集中在问题的应用部分(例如,为Java应用程序提供跟踪),但没有把功夫下在通用监控解决方案所需的下游分析,关联和警报上。当与完整的现代基础设施监控解决方案中的其他运营数据相结合时,APM提供的信息才会更有价值。
基础设施监控(Infrastructure Monitoring)是聚合和警报流媒体指标的最先进的方法,帮助今天的开发者和运营团队填补APM的运行前性能分析和日志管理的事后分析之间的空缺,帮助合理化开发和运营团队已经使用的APM和日志管理工具,在应用程序生命周期的所有阶段管理效果和成本。
(译自SignalFX blog)