天天看點

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

作為和企業網際網路架構平台 apsara aliware“三駕馬車”(edas/drds/mq)并駕齊驅的又一重磅産品。本文主要從arms的誕生背景開始,介紹了arms的雛形,着重說明了全新公測的arms業務實時監控服務,最後和大家分享了arms的五個應用場景并做了arms的特點總結。

以下為精彩内容整理:

arms助力企業應用實時監控

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

arms特點可以用三個詞來形容:

業務:友善快捷的定制能力。與其它平台監控産品不同的是,arms直接從業務的中繼資料開始入手,形成一個監控體系,為了讓arms能了解業務中繼資料,我們做了很多資料接入層的工作。

實時:基于大資料實時計算和存儲平台。

監控:線上報表,報警, cube openapi等多種輸出。

<b>業務監控架構對比</b>

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

傳統業務監控架構定制複雜,對生産資料庫有影響;多為離線計算,無法滿足企業的業務監控實時性要求;各個基礎組建昂貴,需要定制化硬體或一體機。

目前的網際網路實時業務監控架構元件比較零散,無端到端打包方案,搭積木式方案複雜;對業務的日志侵入式改造成本高;實作周期長且門檻高,業務方需自行編寫各個流計算,mr以及報表等實作。

阿裡業務實時監控服務的架構(arms)從日志采集,日志傳輸到日志分析的高度一體化雲上解決方案,無需客戶運維;完備的日志接入方案,日志接入成本低;可視化的流計算定制接口,提升業務監控定制效率,降低入門門檻;内置報表大屏定制元件以及資料持久層元件,友善各類對接各類場景。

<b>調用統計之實時計算解決之道</b>

arms最初是為了應對阿裡内部分布式架構的資料和性能統計而生的。這個統計産品就是後來大名鼎鼎的eagleeye (鷹眼)系統。arms當時一開始是作為中間的日志處理層為eagleeye服務的。

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

該架構采用基于流計算的架構,以滿足實時性。

以統計單個應用的各種服務調用為例:

1. 各個服務特定時間的所有調用次數。

2. 所有服務特定時間的所有調用次數。

3. 特定時間内被調用最多的服務。

方法:1. 伺服器端日志抓取。2. jstorm程式分析。3. 入庫列式存儲, 形成olap-cube。

<b>資料按需生成,計算實時進行。</b>我們對于每一個資料,在實時計算裡都會有對應的計算子產品,當資料進來後,會落到各個相應的邏輯子產品。我們這樣做有兩個優點:<b>一是對業務無侵入式改造,一是無限橫向擴充架構。</b>

<b>arms</b><b>雛形</b><b>: </b><b>計算編排的抽象化</b>

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

服務調用統計之後,各類監控需求接踵而至,流式計算定制應接不暇。除了要統計服務數,還要統計記憶體、cpu甚至容器裡的指針,還有各種各樣的二方應用,每個人都要寫流式計算程式,這樣業務方的接入效率就比較低,是以我們抽象出如圖的改進措施。

每個人接arms系統時,在積木塊裡通過浏覽器方式填各種各樣的參數邏輯,這樣就把流式計算接入從幾天降到幾分鐘。

<b>實時監控結果一緻性的挑戰</b>

随着計算叢集擴充,計算節點失效成為常态。

解決辦法:

1. 日志隊列記錄批次。

2. 計算叢集監控批次計算狀态。

3. arms在恢複結點重發計算批次。

<b>存儲層資料補全的必要性</b>

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

業務端資料源不可控和高的業務要求( 交易,風控) 帶來的資料一緻性的新挑戰。我們有什麼解決辦法呢?我們通過存儲層背景的資料merge機制保證最終資料準确性。從流式計算進來打标到後端存儲時,我們能識别這種情況,我們不會丢資料,而是把資料放到客戶裡面,最後通過背景特殊機制merge掉,這樣可以從源端避免異常事件的發生。

<b>實時監控的存儲層挑戰</b>

監控系統的存儲層應提供m-olap cube 的能力。

多元度查詢:同一類交易資料,按時間聚合方式查詢,按類目方式聚合查詢,按交易地域方式查詢,同時按地域和類目方式上鑽、下鑽、選鑽等。

基于海量可擴充存儲層的熱點分散:尤其是實時計算中,如何避免目前時間的資料成為存儲局部熱點。

實時計算某些特殊結果的基于時間次元聚合查詢。

壓縮、分層、聚合等。

<b>資料源和資料導出的豐富性</b>

支援業務網際網路快速疊代産品模式的監控。在業務支援層,我們做了更多的資料源的接入,一開始支援純日志,後來為了滿足多樣性,同時也支援了api推送、mq接收和binlog解析等等。

<b>業務實施監控的了解</b>

絕不僅僅是收集日志和消息通道:資料源需要豐富性;通道需要高可靠,可堆積,可回溯。

絕不僅僅是實時計算:計算邏輯封裝簡單可用;監控資料的一緻性保證。

絕不僅僅是hbase,  分析型資料庫:如何保證資料補全;資料熱點,資料壓縮,查詢效率。

有了監控結果往往還需要臨門一腳:報表,監控;實時大盤。

arms 讓實時監控 化繁為簡

經過4年的打磨,arms現有20+場景,數百不同的業務大盤,近千台伺服器在數十叢集上,最大叢集規模處理資料15000+mb/s。

在全新的業務實時監控服務arms界面中,隻需要關心三件事:資料從哪裡來;實時計算流程怎麼編排;資料該怎麼用。

<b>可視化計算編排</b>

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

不需要程式設計的實時計算和molap cube。分布式計算隻做兩件事情:資料清洗和聚合據算。arms中的map步驟,不需要寫一行代碼,需把自己的資料導入進來,通過做一些切分邏輯等,自動解析成kv,資料也可是以逗号或冒号隔開的文本方式;reduce也不需要寫一行代碼,需做三件事:計算值;次元是什麼;資料粒度。

<b>靈活使用</b><b> arms </b><b>結果</b>

arms 的最終資料監控結果可以以三種方式供您的it系統通路。

通路線上報表:通過報表控件和大盤來檢視您的資料。

接收報警監控:通過定義需要報警的名額以通過短信,郵件來接受報警監控。

通路資料集的 openapi:每個資料集類似于sql的一張表,在監控任務中通過配置産生;和傳統m-olap資料魔方相似,隻是通過資料集的openapi進行通路;資料集openapi同樣适用于報表控件和報警規則。

<b>拖拽而出的實時大盤</b>

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

不需要任何程式設計即可拖拽式定制您的大盤。arms支援8種控件,它們對次元的要求是不一樣的,使用者隻需要根據不同的表選取不同的次元,根據不同的表格類型,我們可以幫使用者生成适合的資料集,同時各個控件通過拖拽式的組合組合成實時線上大盤。

arms應用場景

應用性能和狀态監控實時大盤。

系統性能和調用日志系統:應用/機房聚合分析——系統監控大盤——性能和狀态異常報警。

電商交易實時大盤:電商交易日志收集——地域、門店、商品次元分析——銷售實時大盤——銷售下跌預警。

公交運力實時監控系統:公交gps日志+刷卡日志——地圖區域聚合分析——公交運力分布實時展示——運力和擁堵報警。

移動終端實時監控系統:手機用戶端日志——地區版本聚合分析——用戶端使用大盤——用戶端異常報警。

 物流線路實時監控和預測系統:物流訂單資料收集——攬收送達出入倉聚合分析——倉位派送路線水位實時大盤——倉位爆倉預警。

arms的獨特之處

四年打磨,全新公測ARMS終極進化:業務監控實時無邊界

業務:  直接從業務資料(business raw

data) 出發,賦予使用者自己定制的能力。

實時:  基于大資料實時計算,在海量資料中“正确地”第一時間捕獲異常。

監控: 線上報表,各類報警,以及mloap資料魔方的能力。

繼續閱讀