OpenNet
DevOps
從前端後端做到 Devops 的工程師,近年在雲原生與 Kubernetes 領域耕耘。
樂於將知識有脈絡的串連分享,著作有 "從異世界歸來發現只剩自己不會 Kubernetes"、"你以為你在學 Grafana 其實你建立了 Kubernetes 可觀測性宇宙"。
也曾經因在 GKE 上成本優化顯著,受邀參與 Google Cloud Summit 2023。
以 Grafana Faro 為主軸,講述在團隊中搭建 RUM 平台的好處,讓我們即時監控網站的使用者體驗,以獲得 Actionable 的見解,幫助DevOps 團隊識別網站較低層級的問題。
接著將會帶入 Grafana 如何利用自身在可觀測性領域中的熱門專案如 Loki 和 Tempo,作為其 RUM 平台的核心。
在前端世界, RUM(Real User Monitoring)領域一直是各家監控服務商的兵家必爭之地。其存在的最重要的目的在於從效能的角度改善使用者體驗。
而 Grafana Faro 與其他大家熟悉的選擇(如 Sentry、DataDog 等)最大的差異在於 Faro 與 Grafana 全家桶、OpenTelemetry、Prometheus 等可觀測性主流開源專案高度整合,並且保留未來擴充的彈性。
一個前端服務「是否正常運作」和「是否使人愉悅」,與使用者的體驗密切相關,這些因素對使用者的整體消費體驗具有深遠影響,有時能直接影響業務成敗。從 Amazon、Google 等網路巨頭的經驗中,我們看到了反應時間的延遲與業務績效之間存在密切且顯著的關係。即使是毫秒級的延遲增加,也可能導致可觀的業務損失。
在這個技術堆疊中,以 Loki 作為儲存後端,儲存來自終端用戶的非格式化的資料,讓其原本在日誌服務的定位,又多了能包辦資料倉儲與資料分析的應用場景。
而 Tempo 這個分佈式追蹤儲存後端,一般來說所蒐集到的 Trace 資料起點都是來自於後端服務中第一個服務產生,而不是真實用戶從前端頁面中點擊下的瞬間開始,造成我們無法真正了解一個來自終端請求的全貌。但 Grafana Faro 的出現,巧妙的將一切串連起來,完成了一個請求從前端到後端的最後一塊拼圖,進一步擴展 Grafana 可觀測性領域的版圖。
總結來說, Grafana Faro 是一個開源的 Web SDK,可以僅僅使用兩三行代碼輕鬆嵌入到 Web 應用服務中,收集 Real User Metrics(RUM) ,其中包括 Web Vitals 效能指標、Console Log、Exception、Events、Traces。
了解如何輕鬆搭建出自己的 RUM 平台,以及如何融入在業務上的監控與告警場景。
更加認識由 Grafana 為核心搭建出的可觀測性平台,同時也能清楚 Grafana 在這個領域的精心佈局。