支付平台業務實時報表&監控
支付流程屬於核心主要的流程,支付平台如果有問題都是大問題,如果某個用戶多交了一分錢,某個用戶支付不成功等等都會引起投訴,我們必須保證支付平台至少4個9的可用性。任何系統不可能確保100%沒有bug,但我們需要確保出現任何問題都能第一時間監控到,因此完善的實時監控對於支付平台來講非常關鍵。
監控分為系統監控和業務監控兩種。系統監控有並發量監控、異常監控、調用鏈監控、埠監控、Zabbix 監控、http監控等。業務監控是指用以監控業務數據是否正常,用戶需要進行業務埋點進行數據採集,業務監控底層依賴日誌上報系統,接入業務監控之前先申請接入日誌上報系統。這裡我們主要講講業務監控
業務埋點數據由指標項、指標值和一組標籤組成,比如我們描述北京速運營業額的埋點數據示例:營業額,100W,城市:北京,業務線:速運。相關定義如下:
指標項:用以定義一個數據項,例:營業額
指標值:該指標對應的數值
標籤:用以描述一個指標的維度,包括標籤名和標籤值
標籤名:一個標籤的名稱,例:城市,業務線
標籤值:用以描述一個標籤的取值,例:北京,速運
業務實時報表系統和業務系統基本零耦合,業務系統只需要在業務日誌中列印埋點數據即可,實時報表系統自動收集日誌中的埋點數據進行清洗和計算,在grafana中配置即可動態實時的展現報表,整個過程除了加埋點日誌無需編寫任何代碼。具體架構圖如下:
從架構圖中可以看到,一共分為五步:
1.埋點數據,可以是業務日誌文件也可以是mysql等,日誌文件數據通過flume上報
2.收集數據,我們是通過kafka消息匯流排來收集埋點的數據的
3.清洗數據,我們是通過spark進行的實時數據流處理,目前是秒級延時
4.存儲數據,我們主要是採用的opentsdb時序資料庫來存儲清洗後的統計數據
5.展現數據,我們採用grafana來展現報表數據
有了實時數據,我們再加上監控配置系統,即可對各個監控項加上對應的實時監控了
推薦閱讀:
※監控技術:FBI 給你28天你也逃不掉
※家用攝像頭監控系統要求及設備的選購
※監控視頻存儲的基礎架構
※如何判斷視頻監控和監控攝像頭有障礙呢?