產品在上線之後,維運單位會觀測像是 CPU 使用率、記憶體、硬碟空間等基礎設施的數據,這就是「監控」。當數數據異常時,會有「告警」去提醒維運單位服務出問題了,但這些流程都會比較偏被動,是針對失火的地方趕快救火。
而 Devops 更主動關注的監控,更是希望站在主動的角度,除了看產品是否正常運行,更希望預防產品潛在會發生的狀況。可觀測性(Observability)工具中紀錄的資訊,可以追蹤到用戶是在哪個服務或是環節遇到問題,也可以看到可能是哪個服務延遲(ex: 結帳步驟的失敗率上升),導致用戶的體驗不好。
在工具的使用,Prometheus 與 Grafana 是團隊常會使用的兩款開源工具。
Prometheus 負責的是從城市、伺服器終將各種數據收集起來,而 Grafana 是將 Prometheus 收集到的資料,製作成直觀的圖表,讓團隊可以快速的從儀表板上看到觀測結果。
在數據觀測的部分,在系統層級,從 CPU、記憶體跟 Disk 使用率過高時,有可能就可以預測到系統會變慢。而應用程式層級,像是每秒鐘有多少錯誤發生,是否有異常的數字,有可能代表的是線上 bug 的出現。
到最上層的業務面,像是會員轉換率、登入註冊的數量、每日活躍的用戶數,都是可以告訴團隊目前使用者使用的狀態,進而更主動的去協助用戶加強他們的體驗。