監控除了 Alarm 之外,最重要的就是 Dashbaord,但是監控並不是越多越好,就和 Alarm 一樣,Alarm 和 Dashboard 的目的就是要把龐大的資訊化成人類可以吸收的資訊,所以當你跳出一堆不必要的通知,或是需要看一大堆的報表的時候,其實這些 Dashboard 就沒有意義
事實上 Alarm 跟 Dashboard 有幾個層面,在過去幾天我們所專注的都在 "異常偵測" 層面,單有異常發生時我們需要通知相關人員去解決,然而另一個常用的層面就是目標管理,事實上目標管理很重要的也是去通知相關人員,我們是否達到目標了,或是我們離目標還有多遠
所以這邊我們會一併來講這兩個層面的 Alarm 和 Dashboard 監控,下面介紹一個金字塔分析架構
想像有一個三層的金字塔,從上到下分別是
當在思考一個情境時,絕對先從 Target Metrics 來思考,因為只有 Target Metrics 可以被製作成一個 Alarm,舉例來說我們今天要針對 Account Takeover 的績效來做分析,我們需要先去設定一個 Target Metrics ,可以是這一季的資損比例,也就是相對於整個平台的提款量有多少提款是因為我們沒有發現用戶帳號被盜,而放行使得用戶資產損失,Target Metrics 就是你最在意的絕對數字
當有這個數字後,我們接著要去做一個 Comparison Metrics,Target Metrics 數字是絕對的,Comparison Metrics 是相對的,相對可以是空間,但更長的是時間區間,在我們例子中,可以是和上一季相比我們的資產損失比例成長或是減少了多少,這也相對是一數值,但重點在於多了一個比較基準
而有了上面兩個資訊我們才去做延伸,從比較基準,我們可以畫出一個 Line Chart,是隨著時間我們每一季資損比例的數值,這一張圖雖然無法做出一個 Alarm 但是他是富有最多訊息量的,你可能可以從圖書去發現一些季節性,發掘更多的 Insight
然後金字塔的 Chart 可以在去做延伸,然後這整個架構的重點是,"從資訊量小的地方出發",而不是在做 Dashboard 時一股腦兒的開始想可能可以畫哪些圖,哪些圖可能會有意義,
有了以上架構最後就是做 Dashbaord 了,以下兩款工具我認為很好用,一個是 Google 的 Looker Studio ,他雖然限制比較多,但是可以很快的做出 Prototype,如果是熟悉 Python 的朋友,我很推薦使用 Plotly 的 Dash 他將 Flask 和 React 兩個框架包裝成一套工具,讓寫 Python 的朋友可以做出很多客製化的頁面,非常推薦