交易黃金鍊路阿波羅移動端異常監控系統

語言: CN / TW / HK

0 1

業務背景及目的

一般的異常資料上報只支援簡單的介面狀態碼是否異常等基礎上報,對於某些核心欄位,下發值缺失導致崩潰異常不能更精細的定位。

為此,阿波羅移動端設計了此業務異常監控sdk,使前後端快速配合定位問題,及時監控捕捉異常。

通過制定一套完整的流程對介面異常的情況進行智慧化的處理和上報,以達到:

a.有介面異常就可以輕鬆的被捕獲和上報到後臺,期間無需開發,只需要做一些基礎配置

b.同時異常介面的資訊引數(請求引數、使用者手機環境、返回引數等)完整被捕獲,可以在後臺中看到,幫助開發人員進行問題復現和問題解決。

c.定向對某些機型、使用者、時間段進行下發資料監控

0 2

可提供的能力

sdk工作流程及配置規範

01

工作流程

通過在配置平臺上的配置組合實現異常捕捉功能:

第一個配置是介面開關規範,開關規範是使這套流程變得更加靈活,可以按照介面來開啟是否要異常上報功能;

第二個配置是定向監控規範,通過配置想要監控的引數定向獲取符合條件的下發全量資料;

第三個配置是介面規則配置規範,因為每一個介面的資料是完全不同的,按照這套介面配置規範,研發人員可以按照介面來配置需要校驗的關鍵節點及資料型別等資訊。

開發人員按照規範配置完成後,將介面資料相關資訊(入參和出參)傳給本系統提供的介面中。本系統將通過規範的解析和介面資料進行雙重校驗,校驗後如果發現異常進行異常上報,上報時會捕獲當前的使用者環境,如機型、系統型號等一同上報。

最後開發人員可在上報後臺看到異常資訊,並且根據全面的資訊引數進行問題排查和解決。

02

流程圖

校驗異常主要流程如下:

03

配置規範

1、開關的配置規範:

1)總開關配置:一鍵關閉所有的介面。

2)介面開關配置:每一個介面單獨配置開啟或關閉。

2、異常校驗配置規範:

1)配置整體為一個json格式,方便解析和傳輸。

2)如需校驗資料型別,使用type關鍵字。

3)如需校驗資料的值,使用value關鍵字,如有value則強校驗值。

4)如有層級校驗關係,使用subItems關鍵字,來展示資料結構的層級關係。

規則中的關鍵字具體說明如下:

當介面開關和介面規則配置都已經在配置後臺配置完成後,開發人員需要在呼叫介面完成的程式碼中呼叫本方案提供的api,並且傳入介面入參和接口出參。

3、在上述功能基礎上可以按需求增加<定向監控>判斷能力

移動配置中配置定向過濾規範

{
"osVersion":"14.4/Android11",//系統版本
"pin":"xxxxxx",//使用者標識
"functionId":"ccart",//介面名
"startTime":"2022-03-01 17:51:54",//開始時間
"endTime":"2022-03-01 18:51:54"//結束時間
…………
}

定向監控邏輯:

a.命中以上配置,不進行異常驗證,進行全量資料上報

b.沒有命中以上配置,則正常進行上述異常上報邏輯

0 4

異常監控系統—校驗能力示例

05

異常監控系統—邏輯能力示例

效能驗證

測試資料:介面資料量312kb,包含購物車介面中100+商品(單品、套裝) 校驗配置包含條件校驗、值校驗、多值校驗、型別校驗、空校驗等基本全覆蓋 校驗。

結論:業務異常監控在正常使用中,對使用者感知較小,對裝置效能影響小。

接入業務方案例分享

時間:2021年11.11大促期間

案例一 主動發現問題:

在大促期間業務異常日誌同時作為有效的監控手段,通過監控日誌發現,購物車中的刪除商品的介面一天內會出現4-5次的空車情況,屬於個別異常原因,主動聯絡產品和服務端,推動排查問題原因,有效避免後期客訴問題。

案例二 快速定位問題:

在大促期間安卓個別機型中發現在訂單詳情點選去支付無法跳轉到收銀臺頁面,呈現出使用者點選無反應的狀態,因在大促期間線上服務端日誌已關閉,前端通過業務異常日誌進行檢視,快速定位到問題的原因。