天天看點

阿裡巴巴淘票票專家分享:如何利用阿裡雲ARMS,搭建國際化線上售票的業務監控系統

阿裡巴巴旗下-淘票票 王偉 撰稿

業務的基本需求是需要實時大盤和報警功能,對要實時統計訂票接口的各種狀态進行統計和報警,包括:

訂票成功率,從業務層面看是否系統運作正常。

訂票接口狀态,如響應時間,同比環比調用,等,從系統層面看是否系統運作正常。

以下篇幅從日志設計到配置,到最終大盤展示。

arms基本原理是采集日志通過實時流式計算出聚合資料監控業務,可以通過ecs,loghub,sdk等多種方式獲得日志源,這裡我們選擇loghub,因為我們所有使用阿裡雲的ecs已經采集日志到日志服務上,隻需要簡單通過配置即可讓arms從loghub上擷取日志。

采集到loghub上的原始日志示例為:

按照我們定義的分隔符解析日志格式為json,格式示例如下:

其中:

• method是業務方法名,通過appname,apiname和method來唯一确定某個應用系統上某個接口的業務方法;

• success用來表示該業務方法執行成功與否;

• resultcode來用表示方法傳回的錯誤碼;

• runtime表示該方法執行的時間,機關為毫秒,可以用來統計哪些方法執行較慢,做後期優化;

• request為方法請求參數。

對以上已經存在的字段按照json切分器切分,為了計算成功率,還需要把成功數轉換成數字類型,友善在資料集做累加來計算。

阿裡巴巴淘票票專家分享:如何利用阿裡雲ARMS,搭建國際化線上售票的業務監控系統
阿裡巴巴淘票票專家分享:如何利用阿裡雲ARMS,搭建國際化線上售票的業務監控系統

配置接口成功率,通過sum累加得到成功的數量successcount,通過count得到總數量totalcount,使用successcount/totalcount得到成功率,當然也可以額外計算平均接口耗時等參數,在通過下磚次元擷取按次元的成功率。

阿裡巴巴淘票票專家分享:如何利用阿裡雲ARMS,搭建國際化線上售票的業務監控系統

由資料集可以直接配置報警,當成功率低于一定門檻值的時候直接發出報警,實時監控線上業務,最大成都降低業務影響範圍。

阿裡巴巴淘票票專家分享:如何利用阿裡雲ARMS,搭建國際化線上售票的業務監控系統

通過配置好的資料集就可以配置業務接口成功率大盤了,用來監控各個業務的實時穩定性。

阿裡巴巴淘票票專家分享:如何利用阿裡雲ARMS,搭建國際化線上售票的業務監控系統

我們通過arms對目前線上大部分業務性能名額如成功率,接口錯誤碼分布,接口平均響應時間等性能參數做了實時監控,尤其在前段時間兩次重大活動中及時發現線上性能問題,針對特定問題及時響應解決起了巨大的作用,提升了業務穩定性和業務響應速度。

除穩定性方面,我們也通過arms配置實時業務資料監控,通過按次元統計訂單,使用者通路等業務資料,根據不同時間段的業務資料快速調整業務營運和決策,對業務增長起了很好的推動作用。

<a href="https://www.aliyun.com/product/arms">arms正在公測,速來</a>

繼續閱讀