阿里云 APM 解决方案地图
摘要:?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監控:由移動數據分析來完成監控。移動數據分析為開發者提供一站式數據化運營服務,包括通用的多維度用戶行為分析、數據開放并支持自定義分析、數據無縫對接其他數據應用產品,可幫助移動開發者實現基于大數據技術的精細化運營、提升產品質量和體驗、增強用戶黏性。
關于探針/壓測部分:一般分為兩個部分。
- 探針:通過外部的探針來撥測頁面的監控狀態。該部分可由云監控的站點監控來實現。站點監控定位于互聯網網絡探測的監控產品,用于通過遍布全國的互聯網終端節點,發送模擬真實用戶訪問的探測請求,監控全國各省市運營商網絡終端用戶到業務服務站點的訪問情況。
- 壓測:通過模擬外部真實網絡環境下的用戶訪問,來對線上系統進行壓力測試。該部分功能可用性能測試來實現。該產品脫胎于基于服務阿里全生態多達4年以上的單鏈路/全鏈路壓測平臺,通過在邊緣計算節點部署壓測流量來模擬用戶真實流量。
- 應用服務程序:由業務實時監控的應用監控來完成監控。應用監控前身是阿里的分布式跟蹤系統-鷹眼。其原理是通過應用程序的探針埋點,對應用程序進行接口性能,鏈路追蹤,以及錯誤診斷三個方面監控。其中,應用監控通過探針,亦可捕獲容器和操作系統的性能和狀態,因此也可用于容器和操作系統的性能監控。
- 操作系統:主要由云監控的主機監控來實現。云監控主機監控服務通過在服務器上安裝插件,為用戶提供服務器的系統監控服務。用戶可以使用主機監控服務進行服務器資源使用情況的查詢和排查故障時的監控數據查詢。服務器無論是阿里云服務器 ECS,還是其他云廠商的服務器或物理機,都可以使用主機監控服務。
其他阿里云PaaS、SaaS服務:包括RDS, OSS, MQ, 緩存,等。該類產品本身都會自帶監控,但是用戶亦可從業務實時監控和云監控兩個產品作為監控入口進行監控。兩個產品的側重點各有不同,其中:
- 業務實時監控主要從應用側的客戶端埋點著手來獲取外部服務數據,其獲取的性能數據為應用測真實狀態,服務調用時間不僅包含外部服務的服務端響應時間,還包括中間的網絡延遲等。
- 云監控主要從阿里云服務側的性能數據打通來獲取外部服務數據,其獲取的性能數據為外部服務的服務端響應時間,其中并不包括中間的網絡延時,雖不能真實反應應用側的狀態,但可用于有效排除服務端的潛在問題。
關于業務監控
關于APM領域的一些場景,還有一件事情,就是業務層面的監控,簡稱業務監控。為什么需要業務監控?
針對以上,阿里云的幾款APM產品其實都不同程度支持業務層面的監控。其中:
- 業務實時監控的自定義監控功能可通過用戶的應用日志數據,頁面數據推送,甚至消息隊列等不同的數據源,通過實時計算預聚合將不同維度的數據存放在時序數據庫中,并為用戶提供交互大盤動態可視化和報警策略,已知的用戶場景包括航旅,電商,車聯網的各類業務。
- 云監控的日志監控功能可通過對用戶的日志服務中的日志內容做統計,為用戶繪制出各類業務大盤。
- 移動數據分析的業務數據分析可根據移動端的上報日志統計移動端業務使用情況。
阿里云APM解決方案地圖
以下表格對阿里云APM解決方案進行總結。
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的阿里云 APM 解决方案地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云商品评价解析功能示例解析
- 下一篇: Jupyter Notebook数据科学