溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

K8s日志系統(tǒng)建設中的典型問題有哪些

發(fā)布時間:2021-12-16 11:03:35 來源:億速云 閱讀:117 作者:柒染 欄目:云計算

這期內(nèi)容當中小編將會給大家?guī)碛嘘PK8s日志系統(tǒng)建設中的典型問題有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

為何我們需要日志系統(tǒng)

通常一個線上問題的定位流程是:通過 Metric 發(fā)現(xiàn)問題,根據(jù) Trace 定位到問題模塊,根據(jù)模塊具體的日志定位問題原因。在日志中包括了錯誤、關鍵變量、代碼運行路徑等信息,這些是問題排查的核心,因此日志永遠是線上問題排查的必經(jīng)路徑。
在阿里的十多年中,日志系統(tǒng)伴隨著計算形態(tài)的發(fā)展在不斷演進,大致分為 3 個主要階段:

  1. 在單機時代,幾乎所有的應用都是單機部署,當服務壓力增大時,只能切換更高規(guī)格的 IBM 小型機。日志作為應用系統(tǒng)的一部分,主要用作程序 Debug,通常結合 grep 等 Linux 常見的文本命令進行分析;

  2. 隨著單機系統(tǒng)成為制約阿里業(yè)務發(fā)展的瓶頸,為了真正的 Scale out,飛天項目啟動:2013 年飛天 5K 項目正式上線。在這個階段各個業(yè)務開始了分布式改造,服務之間的調(diào)用也從本地變?yōu)榉植际剑瑸榱烁玫墓芾?、調(diào)試、分析分布式應用,我們開發(fā)了 Trace(分布式鏈路追蹤)系統(tǒng)、各式各樣的監(jiān)控系統(tǒng),這些系統(tǒng)的統(tǒng)一特點是將所有的日志(包括 Metric 等)進行集中化的存儲;

  3. 為了支持更快的開發(fā)、迭代效率,近年來我們開始了容器化改造,并開始了擁抱 Kubernetes 生態(tài)、業(yè)務全量上云、Serverless 等工作。在這階段,日志無論從規(guī)模、種類都呈現(xiàn)爆炸式的增長,對日志進行數(shù)字化、智能化分析的需求也越來越高,因此統(tǒng)一的日志平臺應運而生。

可觀察性的終極解讀

在 CNCF 中,可觀察性的主要作用是問題的診斷,上升到公司整體層面,可觀察性(Observability)不僅僅包括 DevOps 領域,還包括業(yè)務、運營、BI、審計、安全等領域,可觀察性的最終的目標是實現(xiàn)公司各個方面的數(shù)字化、智能化。
K8s日志系統(tǒng)建設中的典型問題有哪些
在阿里,幾乎所有的業(yè)務角色都會涉及到各式各樣的日志數(shù)據(jù),為了支撐各類應用場景,我們開發(fā)了非常多的工具和功能:日志實時分析、鏈路追蹤、監(jiān)控、數(shù)據(jù)加工、流計算、離線計算、BI 系統(tǒng)、審計系統(tǒng)等等。日志系統(tǒng)主要專注于數(shù)據(jù)的實時采集、清洗、智能分析與監(jiān)控以及對接各類各樣的流計算、離線系統(tǒng)。

Kubernetes 日志系統(tǒng)建設難點

K8s日志系統(tǒng)建設中的典型問題有哪些單純?nèi)罩鞠到y(tǒng)的解決方案非常多,相對也比較成熟,這里就不再去贅述,我們此次只針對 Kubernetes 上的日志系統(tǒng)建設而論。Kubernetes 上的日志方案相比我們之前基于物理機、虛擬機場景的日志方案有很大不同,例如:

  1. 日志的形式變得更加復雜,不僅有物理機/虛擬機上的日志,還有容器的標準輸出、容器內(nèi)的文件、容器事件、Kubernetes 事件等等信息需要采集;

  2. 環(huán)境的動態(tài)性變強,在 Kubernetes 中,機器的宕機、下線、上線、Pod銷毀、擴容/縮容等都是常態(tài),這種情況下日志的存在是瞬時的(例如如果 Pod 銷毀后該 Pod 日志就不可見了),所以日志數(shù)據(jù)必須實時采集到服務端。同時還需要保證日志的采集能夠適應這種動態(tài)性極強的場景;

  3. 日志的種類變多,上圖是一個典型的 Kubernetes 架構,一個請求從客戶端需要經(jīng)過 CDN、Ingress、Service Mesh、Pod 等多個組件,涉及多種基礎設施,其中的日志種類增加了很多,例如 K8s 各種系統(tǒng)組件日志、審計日志、ServiceMesh 日志、Ingress 等;

  4. 業(yè)務架構變化,現(xiàn)在越來越多的公司開始在 Kubernetes 上落地微服務架構,在微服務體系中,服務的開發(fā)更加復雜,服務之間的依賴以及服務底層產(chǎn)品的依賴越來越多,這時的問題排查將更加復雜,如果關聯(lián)各個維度的日志將是一個困難的問題;

  5. 日志方案集成困難,通常我們都會在 Kubernetes 上搭建一套 CICD 系統(tǒng),這套 CICD 系統(tǒng)需要盡可能的自動化的完成業(yè)務的集成和部署,其中日志的采集、存儲、清洗等也需要集成到這套系統(tǒng)中,并和 K8s 的聲明式部署方式盡可能一致。而現(xiàn)有的日志系統(tǒng)通常都是較獨立的系統(tǒng),集成到 CICD 中代價極大;

  6. 日志規(guī)模問題,通常在系統(tǒng)初期的時候我們會選擇自建開源的日志系統(tǒng),這種方式在測試驗證階段或公司發(fā)展初期是沒有什么問題的,但當業(yè)務逐漸增長,日志量增長到一定規(guī)模時,自建的開源系統(tǒng)很多時候都會遇到各種各樣的問題,例如租戶隔離、查詢延遲、數(shù)據(jù)可靠性、系統(tǒng)可用性等。日志系統(tǒng)雖不是 IT 中最核心的路徑,但一旦關鍵時刻出現(xiàn)這些問題都將是非??膳碌挠绊?,例如大促的時候出現(xiàn)緊急問題,排查時多個工程師并發(fā)查詢把日志系統(tǒng)打爆,導致故障恢復時間變長,大促收到影響。

上述就是小編為大家分享的K8s日志系統(tǒng)建設中的典型問題有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

k8s
AI