1. 程式人生 > >阿裏雲性能監控 ARMS 全真3D拓撲揭秘

阿裏雲性能監控 ARMS 全真3D拓撲揭秘

直觀 主機名 服務架構 cfb ecs 折疊 oss 單元 哪些

摘要: 微服務架構下,各類服務之間存在著錯綜復雜的依賴關系。一旦業務出現問題,追查問題源頭就好比大海撈針,沒有頭緒。但業務不等人,此時,在最短的時間內定位問題根源是開發和運維人員對微服務監控產品的核心訴求。 傳統的監控產品提供了表格(table)、表單(form)和儀表盤(dashboard)三種展現形式,因其局限性,並無法完整和直觀的提供監控詳情,以快速定位問題。

微服務架構下,各類服務之間存在著錯綜復雜的依賴關系。一旦業務出現問題,追查問題源頭就好比大海撈針,沒有頭緒。但業務不等人,此時,在最短的時間內定位問題根源是開發和運維人員對微服務監控產品的核心訴求。

傳統的監控產品提供了表格(table)、表單(form)和儀表盤(dashboard)三種展現形式,因其局限性,並無法完整和直觀的提供監控詳情,以快速定位問題。阿裏雲性能監控 ARMS 新推出的全真3D拓撲功能給這個問題帶來了完美的解決方案。ARMS 3D拓撲功能,創新地采用三維立體的方式展示系統中真實的架構層級和關系,利用ThreeJS的前端框架建立一個立體的監控空間,讓用戶一目了然地看到系統的結構與狀態。

傳統監控方式的不足
在傳統的監控產品中,我們最常見的界面就是表格、表單和儀表盤這三種,但這三種界面皆有其局限性。

技術分享圖片

表格:通常用於展示大量數據,信息密集,頻繁翻頁,大部分內容為數值和文字,不夠直觀。
表單:用於展示某個實例的詳細內容,涉及大量文字和圖表的閱讀。缺點是一次只能聚焦一個實例,如有下層信息,需要跳轉到更深層級。
儀表盤:以圖表形式對信息的聚合展示,更直觀和生動。但一個版面展示信息有限,一般下層信息閱讀量就很少。
因為這種界面形式上的限制,我們常常不得不面對讓人頭昏眼花的大量表格,為了定位一個問題反復跳轉,一不留神就迷失在茫茫數據中,想要理解數據之間的關系只能靠經驗和記憶。

ARMS的監控創新

ARMS 通過使用全真3D的方式(簡稱 ARMS 3D拓撲)去展示系統的立體性,幫助用戶快速理解和追蹤系統節點中的關系。

首先,我們將系統從底到上抽象為 主機-應用-服務 這三個層級,這也是我們在傳統監控方式中關註最多的三層信息。在這三個層級上的模塊分別代表系統中真實存在的主機(ECS/物理機)- 應用 - 服務。縱向的連線代表主機對應用的支持,以及服務在應用上的歸屬。

技術分享圖片

用戶除了可以從全局視角看到自己的整個系統,也可以單獨縮放和旋轉某一層級,詳細查看主機的集群和負載情況,應用之間的調用關系,以及服務的調用量、錯誤率等。下面我們來一一介紹各層級展示的內容。

應用層
應用層展現內容有四個部分:

中心應用

中心應用依賴的應用
使用中心應用服務的應用
中心應用依賴的中間件
總的來說,就是展示服務自身、服務被誰調用以及服務間的依賴關系。點擊應用,會彈出右側面板,應用的QPS、RT、ERROR的信息都在上面展示。同時,動態的連線關系讓我們更清楚地看到應用之間的調用關系,以及中間件組件對系統的支持,甚至底層、主機層每個主機的健康情況。

技術分享圖片

服務層
服務層就是展示各個應用提供的服務詳情信息,鼠標滑過就有服務名展示,顏色表示這個服務的響應時長超過閾值(可配置),需要關註。

技術分享圖片

主機層
主機層展現的是各個應用的主機詳情,點擊每個主機可以看到主機的CPU、MEM、Load信息,超過閾值的指標會標記顏色。另外還會展現主機的靜態信息,比如主機所隸屬的機房、單元、主機名稱、JVM、Tomcat版本信息等。

技術分享圖片

以往我們從出錯的服務到應用,再定位到具體的機器,可能需要十幾次頁面跳轉,而在 ARMS 3D拓撲 的三維世界中,我們在一個頁面中就可以完成這些動作。三維世界的交互方式—拉近、拉遠、轉換視角和折疊展開,代替了頁面的跳轉。用戶無論拉近到哪個機器或應用,都可以快速的理解自己在系統中所處的位置以及和其他層級的關系,不會因為操作鏈路過長而迷失自己。

接入方式
當前,ARMS 3D拓撲功能已經上線,用戶只要成功接入ARMS的探針,就能以3D的方式去查看自己的系統狀態,不需要額外的操作與費用。

技術分享圖片

總結
ARMS 3D拓撲功能提供了一種全新的交互方式,擴充了和應用溝通的維度,實現了360度全方位診斷性能瓶頸和故障節點,以甄別故障出現時,哪些應用和哪些關聯的主機出現了問題等,從此,應用離我們如此之近。

阿裏雲性能監控 ARMS 全真3D拓撲揭秘