摘要: PM是近5年来伴随着云技术、微服务架构发展起来的一个新兴监控领域。在国内外,无论是云厂商(如AWS, Azure,等)还是独立的公司(Dynatrace, Appdynamics,等),都有着非常优秀的APM产品。
APM 概述
APM 全称是 Application Performance Management, 是指对应用程序的性能和可用性的监控管理。狭义上的APM单指应用程序的监控,如应用的各接口性能和错误监控,分布式调用链路跟踪,以及其他各类用于诊断(内存,线程等)的监控信息,等;广义上的APM, 除了应用层的监控意外,还包括手机App端监控,页面端监控,容器、服务器监控,以及其他平台组件如中间件容器,数据库等层面的监控。
APM是近5年来伴随着云技术、微服务架构发展起来的一个新兴监控领域。在国内外,无论是云厂商(如AWS, Azure,等)还是独立的公司(Dynatrace, Appdynamics,等),都有着非常优秀的APM产品。
阿里云作为国内最大,世界排名前三的云厂商,其在APM领域也有很多优秀的产品提供,整个产品家族也比较全面。本文就以APM领域为例,给大家介绍一下阿里云在该领域的各个产品。
云时代应用架构简介
云时代典型的应用,如运行在阿里云的应用,其架构如下图所示。
其中:
- 应用一般对外提供两种客户端访问模式:移动端App访问,或基于浏览器的页面访问。客户端的监控在APM领域又被成为UEM(User Experience Management),即用户体验管理。
- 除了客户端访问意外,用户一般还会部署相应的业务探针,通过API来直接诶测试服务性能或进行健康检测。
- 对客户端直接提供服务的为后端应用服务程序。基于微服务的应用一般多个应用,分别运行在多个节点之上,应用和应用之间会有比较复杂的调用依赖关系。
- 后端应用一般运行在容器里,或者直接运行在(虚拟)操作系统之上,取决于用户是否进一步使用容器技术来优化开发和运维。
- 应用还会直接依赖各类的PaaS/SaaS云服务,如OSS,OTS, MQ, RDS等,对应用提供响应平台服务,简化应用的运维成本。
阿里云上APM领域各个产品最终目标是为了对以上各个组件进行有效监控。以下介绍对于各个组件,阿里云提供的相应的APM产品。
阿里云的APM解决方案地图
基于今天的云上的应用架构,阿里云的APM解决方案地图如下所示。
其中:
- PC/移动端页面监控:该部分组件由业务实时监控的前端监控子产品来完成监控。前端监控原理是通过页面的JS埋点,从页面的调用次数和响应时间,API的调用时间和错误返回,以及页面的JS错误监控三个方面来监控页面的健康状态。不仅如此,前端监控亦支持按维度来监控页面状态,包括地域维度,网络运营商维度,浏览器种类和版本维度,等。
- 移动端APP监控:由移动数据分析来完成监控。移动数据分析为开发者提供一站式数据化运营服务,包括通用的多维度用户行为分析、数据开放并支持自定义分析、数据无缝对接其他数据应用产品,可帮助移动开发者实现基于大数据技术的精细化运营、提升产品质量和体验、增强用户黏性。
-
关于探针/压测部分:一般分为两个部分。
- 应用服务程序:由业务实时监控的应用监控来完成监控。应用监控前身是阿里的分布式跟踪系统-鹰眼。其原理是通过应用程序的探针埋点,对应用程序进行接口性能,链路追踪,以及错误诊断三个方面监控。其中,应用监控通过探针,亦可捕获容器和操作系统的性能和状态,因此也可用于容器和操作系统的性能监控。
- 操作系统:主要由云监控的主机监控来实现。云监控主机监控服务通过在服务器上安装插件,为用户提供服务器的系统监控服务。用户可以使用主机监控服务进行服务器资源使用情况的查询和排查故障时的监控数据查询。服务器无论是阿里云服务器 ECS,还是其他云厂商的服务器或物理机,都可以使用主机监控服务。
-
其他阿里云PaaS、SaaS服务:包括RDS, OSS, MQ, 缓存,等。该类产品本身都会自带监控,但是用户亦可从业务实时监控和云监控两个产品作为监控入口进行监控。两个产品的侧重点各有不同,其中:
- 业务实时监控主要从应用侧的客户端埋点着手来获取外部服务数据,其获取的性能数据为应用测真实状态,服务调用时间不仅包含外部服务的服务端响应时间,还包括中间的网络延迟等。
- 云监控主要从阿里云服务侧的性能数据打通来获取外部服务数据,其获取的性能数据为外部服务的服务端响应时间,其中并不包括中间的网络延时,虽不能真实反应应用侧的状态,但可用于有效排除服务端的潜在问题。
关于业务监控
关于APM领域的一些场景,还有一件事情,就是业务层面的监控,简称业务监控。为什么需要业务监控?
- 很多时候局部应用故障并不能直接反应对业务的影响,如某个重要级别的某些接口宕机,由于应用的一些熔断或者缓存机制,可能并不会对业务收入(交易,下单,等)造成直接大的影响。因此,IT系统监控和故障定级往往并不依赖于单个系统故障,而需要以业务指标为准。
- 业务层面的监控更能辅助IT系统反过来进行优化业务。如针对某个IT电商的运行分析,通过业务监控分析卖家的地域、运营商分布,以及卖家的动态库存,畅销类目实时统计,更能反过来帮助业务进行实时数据决策。
针对以上,阿里云的几款APM产品其实都不同程度支持业务层面的监控。其中:
- 业务实时监控的自定义监控功能可通过用户的应用日志数据,页面数据推送,甚至消息队列等不同的数据源,通过实时计算预聚合将不同维度的数据存放在时序数据库中,并为用户提供交互大盘动态可视化和报警策略,已知的用户场景包括航旅,电商,车联网的各类业务。
- 云监控的日志监控功能可通过对用户的日志服务中的日志内容做统计,为用户绘制出各类业务大盘。
- 移动数据分析的业务数据分析可根据移动端的上报日志统计移动端业务使用情况。
阿里云APM解决方案地图
以下表格对阿里云APM解决方案进行总结。
相关推荐
阿里云SaaS加速器是一款专为SaaS提供商和企业用户设计的全面解决方案,旨在简化SaaS产品的开发、销售、集成和服务过程,助力SaaS企业快速成长。以下将详细阐述该解决方案的关键知识点: 1. **降低开发门槛与提升...
APM 业务运维智能化解决方案 APM(Application Performance Monitoring)是当前 IT 行业中的一种重要技术,旨在帮助企业解决复杂的业务运维问题,提高用户体验和系统性能。下面是 APM 业务运维智能化解决方案的知识...
阿里云ARMS(Application Real-Time Monitoring Service)是阿里巴巴推出的一款强大的应用全栈监控服务,旨在为互联网时代的企业提供全面、深入的应用性能管理解决方案。这款产品不仅涵盖了应用服务端的监控,还延伸...
SkyWalking是开源的应用性能监控(APM)系统,阿里云链路追踪服务提供了对SkyWalking的支持。本文档将对阿里云链路追踪服务对SkyWalking的支持进行详细的介绍。 首先,阿里云链路追踪服务提供了对SkyWalking的自动...
1. NPM/APM 监控平台竞争分析: Riverbed 和天旦是两家主要的 NPM/APM 解决方案提供商,Riverbed 是 NASDAQ 上市公司,有近 20 年的研发销售支持经验,而天旦则是国内的 NPM/APM 解决方案提供商。 2. Riverbed 的...
"阿里云APM数字化体验时代" 在当今数字化时代,企业的业务模式和运营方式都在发生着深刻的变化。阿里云APM(Application Performance Management)作为数字化体验的重要组成部分,正在revolutionizing企业的业务...
在实际案例中,通过听云APM,运维人员可以发现并解决由于主机性能问题导致的用户流失,识别和修复“未知主机”错误,优化Memcached的访问性能,以及分析和改进SQL查询效率,从而显著提升业务的稳定性和用户体验。...
阿里云ARMS(Application Real-Time Monitoring Service)是一款APM(应用程序性能管理)产品,旨在帮助开发者解决小程序监控的问题。 在当前的移动互联网环境中,每个APP都是独立的信息孤岛,互不相通。而小程序则...
### 网易APM Hook方案探索 #### 背景与选型 在软件开发过程中,为了确保应用程序能够高效稳定地运行,开发者们需要借助一系列的工具和技术来进行性能监测和管理。这其中,应用性能管理(APM)系统就显得尤为重要。...
Broadview APM提供了一种有效的非侵入式解决方案,通过网络镜像数据包的方式,能够深入分析核心业务系统和关键交易的性能。该方案采用了基于用户体验的主动式应用性能管理理念,支持业务系统及关键交易性能的深入...
阿里云SaaS加速器是为了解决企业在构建、销售和服务SaaS(Software as a Service)产品过程中遇到的各种挑战而设计的全面解决方案。该加速器旨在帮助ISV(Independent Software Vendors,独立软件供应商)、SI...
### 阿里云应用性能管理(APM)与应用实时监控服务(ARMS) #### 一、应用性能管理(APM)概述 应用性能管理(Application Performance Management, APM)是IT运维管理的重要组成部分,它专注于监测和优化企业关键...
本文将从头开始,详细介绍如何开发一个能对标阿里云的前端APM工具,并阐述其实现机理和性能测试结果。 一、性能测试的多样性问题 在上一小节中,我们讨论了性能测试的多样性问题。为了保证测试的公允性,我们需要...
网易APM的Android端Hook方案探索是针对Android应用性能监控的一个深入研究项目。APM是Application Performance Management(应用性能管理)的缩写,主要负责监控和管理软件应用程序的性能,以确保应用以最佳状态运行...
本文将详细介绍如何解决PIXhawk驱动及APM2560驱动在安装过程中可能遇到的问题,特别是针对Windows 7和XP GHOST 32位精简版操作系统。 首先,让我们了解PIXhawk和APM2560。PIXhawk是一款开源硬件飞行控制器,它基于...
开源 Java 性能监控 (APM) 方案。.zip,APM, (Application Performance Management) tool for large-scale distributed systems written in Java.
阿里云专有云Enterprise版V3.5.0的企业实时监控服务ARMS是为企业级用户提供的一款强大监控解决方案,旨在帮助用户实时监控其业务性能,快速定位并解决可能出现的问题。ARMS提供了全面、深入的监控能力,包括应用性能...
在本文中,我们将探讨阿里云APM(Application Performance Management)在数字化转型中的重要性。APM作为一种监控和优化应用程序性能的解决方案,对于企业的数字化转型起着至关重要的作用。 在数字化时代,企业面临...
海外APM行业增长动力分析--以Splunk、Datadog为例”指的是对全球应用程序性能管理(Application Performance Monitoring,简称APM)行业的深度研究,特别是聚焦于Splunk和Datadog这两家知名的APM解决方案提供商。...
容器云平台运维(解决方案专场) 容器环境下基于APM的海量日志全链路跟踪分析 共33页.pdf