圖片來源: 

Line臺灣

聚焦提升用戶的黏著度,Line臺灣這幾年在臺推出多項新服務,從新聞入口、購物、音樂、旅遊,到翻新官方帳號服務,並新增分眾服務。為了監控這些服務的運作狀態,Line臺灣打造了一個可以每周追蹤百億則日誌的可觀察性平臺(Taiwan Observability Platform,TOP),日前更首度公開了這個平臺的架構細節和最新採用成果。

Line臺灣從2020年全面開始採用K8s,累計到2021年10月有40個專案部署在總部K8s服務平臺VKS上,用了70多個K8s叢集。然而,隨著越來越多應用轉移到K8s,Line臺灣工程團隊不同專案都遭遇相似的維運問題,因此,早在前年第三季Line臺灣也成立了SRE團隊,專職打造通用的維運工具和管理作法,可觀察性平臺就是這個SRE團隊第一個開發的工具。

Line臺灣技術長陳鴻嘉表示,為提升開發與維運過程中,專案團隊解決系統問題的效率,SRE團隊參考CNCF孵化專案Open Telemetry的可觀察性標準協議,從軟體系統可觀察性的3大面向:指標(Metric)、日誌(Log)和鏈路追蹤(Trace)著手,率先全球Line打造符合3大標準的可觀察性平臺。

Line總部本來也有一個可收集日誌的監控平臺,但是,該平臺對Line臺灣工程團隊來說,不夠用。陳鴻嘉說明,雖然,可觀察性平臺與總部監控平臺使用的開源軟體工具大部分相同,但可觀察性平臺最重要的功能是,產出通用的維運實作範例。

他補充,實作範例能讓團隊共享經驗與資源,快速解決開發與維運過程中遭遇的問題。所以,他極力向總部爭取資源,來建置臺灣團隊專用的維運平臺。臺灣SRE團隊花了半年時間,順利地完成平臺的建置。Line臺灣透過各專案團隊成員一同組成的DevOps任務小組,展開內部推廣,很快地,2021年下半年,所有進行中的專案都採用了這套新的監控平臺,來持續觀測服務的可靠度。

打造可觀察性平臺,解決3大維運痛點

Line臺灣SRE團隊也在年初Line臺灣開發者大會上,現身說法,揭露可觀察性平臺解決的三大維運痛點。

首先,各團隊過去需自行部署和維運監控平臺,來處理應用系統產生的運作日誌,不僅產生高昂的維運成本,且建置、管理觀測系統需花費數時。現在統一由SRE團隊利用開源分析暨視覺化應用Grafana的單一託管實例,提供各專案團隊共用的監控平臺。

另外,這個可觀察性平臺內建了多樣化的資料收集系統,還有提供各種常見維運用例的儀表板和工具,各個專案團隊有了共同的工具,就可以減少原本各自使用自有監控平臺和工具鏈所產生的溝通落差。目前SRE團隊已用Grafana建立了750個儀表板,整合200個資料源,並使用接近300個警報。

奠基在可觀察性平臺解決的前兩大痛點,SRE團隊更進一步排除各團隊無法共享維運經驗的痛點。各團隊現使用相同的監控工具,可相互分享平臺導入經驗,共同面對資料收集工具的使用問題,減少維運成本。

進一步看可觀察性平臺的整體架構,SRE團隊選用反向代理工具Traefik,提供託管負載平衡Ingress Controller服務給各專案,接著,流量從各專案專用節點的Ingress Controller,進入K8s叢集,再通過已整合的指標、日誌和鏈路追蹤配置,收集各項標準化監控數據。

圖片來源:Line臺灣

三大系統可觀察性數據也由多項開源工具,來收集。為了收集一定時間內量化的指標數據,像是每秒查詢率(QPS)、每秒事務(TPS)等,SRE團隊使用系統監控警報框架Prometheus搭配K8s CRD,來自動抓取指標,並使用監控服務Thaons,作為資料收集的後端儲存方案,達到長期儲存資料的效果;

以文字記錄某個時間發生的事件、資料等資訊的日誌,SRE團隊則使用日誌收集代理Promtail,收集應用程式產生的stdout、stderror的日誌資料,並配置開源日誌紀錄平臺Grafana Loki,作為日誌資料的儲存方案;

而記錄各功能其應用程式完整執行過程的鏈路追蹤,SRE團隊使用OpenTelemetry專案的遙測資料接收工具Collector,建立資料管道,來傳遞鏈路追蹤至可觀察性平臺的叢集,再搭配大規模分散式追蹤後端Grafana Tempo,儲存鏈路追蹤的數據。

Line Today、購物、音樂等8大應用團隊採用可觀察性平臺,每小時累積3億條日誌、1,600萬筆指標

到底Line臺灣有多依賴可觀察性平臺呢?目前共有8大應用開發團隊,採用這套新平臺,包含Line Today、Line購物、Line音樂、官方帳號Plus、Line Hub、Line熱點、Line旅遊和貼圖,而使用Grafana實例的組織多達34個,共計有200位使用者,其中活躍使用者每月達120位。

Line臺灣統計了可觀察性平臺的遙測數據收集量。該平臺每小時收集3億條日誌,相當於每周400億條日誌,而時間區段內的量化數據指標,每小時則達1,600萬筆,還有鏈路追蹤每小時累積2億筆資料,一周下來,達200億條鏈路。

圖片來源:Line臺灣

可觀的遙測數據量也直接反映在資料儲存量上。SRE團隊使用Line總部私有雲平臺Verda的物件儲存服務Object Storage,來儲存該平臺收集的資料,目前日誌儲存量近30TB,有接近2千萬個物件,指標儲存量則近60TB,大約有36萬個物件,而鏈條追蹤使用了20TB的儲存空間,相當於1百萬個物件。

圖片來源:Line臺灣

去年,Line臺灣SRE團隊協助專案團隊解決開發和維運問題,再加上推出可觀察性平臺,監控各應用的可靠性,系統平均減少了3成的事件量。陳鴻嘉強調,「要提升開發效率,除了加快開發速度外,系統的品質與穩定度是更重要的關鍵,因欠缺品質與穩定度,會連帶降低開發效率。」

接著,SRE團隊計畫利用Prometheus新功能Exemplars,連接指標和鏈條追蹤(Metrics to Traces),還有使用Collector,實現鏈條追蹤連接指標(Traces to Metrics),並使用Web Vitals指標,找出描述終端用戶使用體驗的方式,再進一步定義數值和使用體驗間的關連性。文⊙黃郁芸


熱門新聞

Advertisement