212
英雄聯盟
關鍵組件和流程__產品簡介_業務實時監控服務 ARMS-阿裏雲
本文介紹 ARMS 中使用到的關鍵組件和流程。
ARMS 中的關鍵組件介紹
在 ARMS 中,最重要的任務流程和術語由下圖所表示:
其中:
- 數據源: ARMS獲取數據的地方,目前主要主持ECS上的日誌抓取。以後會支持其他如MQ, DRDS,等。
- 監控任務: 一個任務代表ARMS從數據抓取,數據處理,數據存儲到結果展示和導出的一個實例。
- 數據集:代表一個監控業務的數據結果,其結果可以被OpenAPI導出。數據集直接被報表控件和報警規則依賴。
- 報表控件:基於數據集的一個用於展示的報表控件。
- 報警規則:定義了如何從既有數據集中產生報警。
ARMS 中的關鍵流程介紹
在ARMS中,最關鍵的流程是定義監控任務。通過頂一個監控任務,可以利用數據源產生一些列的監控結果,包括生成數據集,報表空間和報警規則。
下圖說明了創建一個任務所需要的大致流程和組件,以及組件在 ARMS 技術架構中的依賴方式。
下文對任務組件作簡要說明。
- 采集規則(必選): 定義數據如何從不同的數據源實例進行采集。
- 清洗邏輯(必選): 定義如何解析采集到的數據。
- 數據集配置(必選): 通過配置數據集來定義任務如何基於采集到的數據做聚合計算,持久化存儲,以及 Open API 訪問輸出。
- 報表控件(可選): 基於數據集提供可視化展示功能。
- 報警通知(可選): 基於數據集,通過定義報警含義和通知方式,提供報警能力。
- 大盤(可選): 通過集成報表空間和報警通知數據,對用戶提供可視化大盤能力。
監控任務
在 ARMS 中,監控任務主要分為兩大類。
預定義任務:如”異常堆棧監控”,”商品銷售量統計”,等。通過創建這類任務,用戶通過直接使用預定義的清洗邏輯、數據集、報表控件的組件,可快速組裝出一個針對特定場景的監控任務。
定製任務:在這裏任務中,用戶需要根據提示步驟,一步步手動定製任務的各類組件,組裝出一個完整監控任務。
用戶創建了監控任務後可在相應的任務管理界麵進行管理。除了查看、刪除以外,還可以針對監控任務進行起停操作。任務隻有被啟動的時候ARMS才會進行數據采集、計算和存儲數據。當任務被停止的時候,以上工作也會被停止。
采集規則
采集規則定義了數據如何從數據源實例中進行采集。用戶隻能基於已定義的數據源進行采集規則建立。其中,
- ECS 數據源:用戶需要采集數據的 ECS 服務器或者服務器分組,以及對應的采集數據的日誌路徑,等。
- Loghub 數據源:直接選取對應的project / logstore id即可。
- API 數據源:直接選取對應API數據源 id 即可。
- 其他數據源:敬請期待。
數據清洗
每個監控任務對應一個清洗邏輯。清洗邏輯定義如何解析采集到的數據。對於文本類數據,ARMS 支持多種數據清洗方式。例如:
- 通過特定分隔符如”|”,”=”對數據進行清洗,從而清洗出不同的 Key-Value (KV)。一個極簡的例子包括:”itemID=abc|amount=100”的數據日誌會被清洗成 itemID 為 String “abc”, amount 為 int 100, 一共兩組Key-Value。
- 亦支持基於 Jason 格式的數據,通過解析 Hash 數據結構清洗出不同的KV。
- 亦或支持用戶自定義的清洗邏輯,如基於不同清洗符的清洗嵌套,等。
數據集配置
數據集是 ARMS 中實時監控數據計算和持久化的重要概念。一個監控任務可對於一個或多個數據集。
數據集的創建
在定義了清洗邏輯以後,通過以下方法定義數據集:
- 直接創建:創建一個數據集,並定義其維度(Open API 查詢 Key),統計值(Value)。
- 間接創建:通過創建一個報表控件並定義控件要展示的值和維度,或通過創建一個報警通知並定義要監控的值和維度,來間接創建一個數據集。
數據集與實時計算邏輯和數據導出格式
無論使用直接創建還是間接創建,當創建了一個數據集以後,定義的維度(Key)和統計值(Value)將直接決定數據在 ARMS 中如何進行實時計算,以及其 Open API 的查詢參數組合和返回值方式。一個極簡單的例子,例如某電商想統計各類商品的各個時刻的實時銷售額,用於實時展示和事後統計。其設計的統計的維度和統計值為:
- 其查詢維度為時間(TimeStamp)和商品類目ID(String)。
- 統計值為銷售額(Sum(Int))。
那麼:
- 首先,在實時計算中,ARMS 在後麵的 JStorm 引擎中會針對大量的輸入數據作基於時間和商品類目 ID 作類似於 Reduce 的計算,在計算中對銷售額做Sum操作。
- 計算後的結果,根據聚合粒度實時在存儲層中持久化。其對應的查詢 Open API 中的必選查詢 Key 為時間和銷售類目 ID,返回的 Int 值表示製定時刻和商品類目的銷售總額。
數據集的聚合粒度和保存周期
用戶在進行數據集配置時,可定義其聚合的粒度,例如1分鍾聚合一次還是1小時聚合一次,以及響應的數據的保存周期。一個數據集的聚合粒度和保存周期設置將直接影響其在 ARMS 的持久化存儲層的存儲容量。例如對於大多數場景,您可能想定義以下聚合和保存的方式組合。這樣既可以保證最近時刻的數據精確性,又可以滿足長期的統計工作需求,而且還最大限度利用了空間。
- 1分鍾的數據聚合頻率,保存7天。
- 1小時的數據聚合頻率,保存30天。
- 1天的數據聚合頻率,保存3年。
在您配置了數據集以後,可以通過數據集管理界麵對數據集進行管理,包括啟動/停止操作。
- 數據集啟動操作將保證在對應任務啟動時,對應的計算將被執行且結果持久化到存儲層。
- 數據集停止操作將使數據集即便其對應的任務在啟動時,對應的計算不會被執行。數據集停止期間未被處理的數據流亦無法被回溯執行。
報表控件
用戶可以直接創建一個報表控件,或者基於一個現有的數據集創建一個報表控件(敬請期待)。
目前ARMS支持的報表空間種類如下:
報警規則
用戶可以直接創建一個報警規則,或者基於一個現有的數據集創建一個報警規則(敬請期待)。
報警規則是對一個現有數據集的處理定義,包括
- 需要判斷的指標閾值
- 超過閾值後的處理規則,等。
最後更新:2016-11-23 16:04:16
上一篇:
技術架構__產品簡介_業務實時監控服務 ARMS-阿裏雲
下一篇:
發布版本__產品簡介_業務實時監控服務 ARMS-阿裏雲
訪問域名和數據中心__開發人員指南_對象存儲 OSS-阿裏雲
vpc下內網隔離設置__常見問題_專有網絡 VPC-阿裏雲
開啟隊列的日誌功能__日誌管理使用幫助_控製台使用幫助_消息服務-阿裏雲
體檢修複手冊__用戶指南_服務器安全(安騎士)-阿裏雲
錄製工具__腳本編寫_使用手冊_性能測試-阿裏雲
數加控製台幫助__平台介紹_數加平台介紹-阿裏雲
導入PostgreSQL數據__快速入門_雲數據庫 HybridDB-阿裏雲
原理介紹__快照_產品簡介_雲服務器 ECS-阿裏雲
TxtFileWriter__Writer插件_使用手冊_數據集成-阿裏雲
1.3 使用DMS創建和管理表__快速入門_分析型數據庫-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲