01. 容器監(jiān)控痛點(diǎn)
近年來(lái),Kubernetes 作為許多公司云原生改造的首選容器編排平臺(tái),越來(lái)越多的開(kāi)發(fā)和運(yùn)維工作都圍繞 Kubernetes 展開(kāi),保證 Kubernetes 的穩(wěn)定性和可用性是基本需求,而其中的核心是如何有效地監(jiān)控 Kubernetes 集群,確保整個(gè)集群的高可觀測(cè)性容器監(jiān)控常常會(huì)有以下痛點(diǎn):
容器化環(huán)境通常是高度動(dòng)態(tài)和分布式的,這意味著容器生命周期短且頻繁變化,同時(shí)應(yīng)用由多個(gè)微服務(wù)組件構(gòu)成,分布在多個(gè)節(jié)點(diǎn)上。這種動(dòng)態(tài)性和復(fù)雜性要求監(jiān)控工具能夠快速適應(yīng)環(huán)境變化,并有效地追蹤跨多個(gè)服務(wù)和節(jié)點(diǎn)的問(wèn)題。
高頻率的數(shù)據(jù)收集和大量的日志、指標(biāo)數(shù)據(jù)會(huì)迅速增長(zhǎng),給存儲(chǔ)和處理帶來(lái)挑戰(zhàn)。另外,監(jiān)控系統(tǒng)本身引入的性能開(kāi)銷也需要謹(jǐn)慎管理,以免影響應(yīng)用程序的正常運(yùn)行。
容器監(jiān)控需要覆蓋多個(gè)層次,包括底層基礎(chǔ)設(shè)施、容器運(yùn)行時(shí)、容器編排平臺(tái),以及應(yīng)用層面的性能指標(biāo)和日志數(shù)據(jù)。
02. 場(chǎng)景介紹
容器監(jiān)控,泛指在容器場(chǎng)景下,對(duì)容器環(huán)境的指標(biāo)、事件等進(jìn)行上報(bào)。目前市面上的容器管理平臺(tái),基本被Kubernetes所統(tǒng)一,本文將核心圍繞Kubernetes的場(chǎng)景及特性,介紹嘉為藍(lán)鯨監(jiān)控中心(下稱“監(jiān)控中心”)是如何實(shí)現(xiàn)容器監(jiān)控的。
不同于常見(jiàn)的主機(jī)監(jiān)控、組件監(jiān)控等成就,容器監(jiān)控具備以下幾個(gè)鮮明的監(jiān)控特性:
圍繞著上面的特性,容器監(jiān)控的訴求主要分為以下幾點(diǎn):
1)集群本身的運(yùn)行狀態(tài)監(jiān)控,監(jiān)控的目的是隨時(shí)關(guān)注容量、及時(shí)發(fā)現(xiàn)異常,讓集群的運(yùn)維者能夠快速修復(fù)集群?jiǎn)栴}。
2)Kubernetes事件監(jiān)控記錄了組件的某個(gè)時(shí)間的動(dòng)作,用于展示集群內(nèi)發(fā)生的情況,當(dāng)集群內(nèi)的資源狀態(tài)發(fā)生變化時(shí)產(chǎn)生新的event,對(duì)容器事件的收集、監(jiān)控,避免集群或節(jié)點(diǎn)可用性產(chǎn)生的影響。
3)自定義指標(biāo)的監(jiān)控:
03. 產(chǎn)品方案
對(duì)于K8s的監(jiān)控,其實(shí)已經(jīng)有一套原生的Prometheus方案,方案本身采集的指標(biāo)相對(duì)完善,但是核心問(wèn)題是對(duì)集群性能有較大的占用,且整體部署方式相對(duì)獨(dú)立,采集的指標(biāo)無(wú)法結(jié)合其他監(jiān)控產(chǎn)品進(jìn)行有效的消費(fèi)。
為了讓大家統(tǒng)一集中管理監(jiān)控,將容器監(jiān)控與主機(jī)監(jiān)控,業(yè)務(wù)監(jiān)控等融為一體,監(jiān)控中心推出了容器場(chǎng)景的監(jiān)控能力??梢越鉀Q以下問(wèn)題:
得益于監(jiān)控中心化的存儲(chǔ)能力,Bkmonitor-operator 較 Prometheus-operator 方案,對(duì)集群內(nèi)資源消耗更低。
04. 效果展示
1)容器多指標(biāo)計(jì)算檢測(cè)
容器監(jiān)控的指標(biāo)數(shù)量龐雜,許多指標(biāo)均需經(jīng)過(guò)二次計(jì)算,甚至無(wú)法通過(guò)常規(guī)的配置方式配置檢測(cè)策略。對(duì)此,監(jiān)控中心同步提供以下兩個(gè)檢測(cè)能力:
① 衍生指標(biāo)管理
支持衍生指標(biāo)能力,允許用戶通過(guò)指標(biāo)計(jì)算自定義衍生指標(biāo)。要知道,在容器內(nèi),許多上層資源指標(biāo)都是由下層指標(biāo)匯聚計(jì)算而來(lái)(比如Cluster的性能指標(biāo),其實(shí)是Pod性能指標(biāo)匯聚計(jì)算獲得),通過(guò)衍生指標(biāo)功能,用戶可以預(yù)定義上層匯聚指標(biāo),并在策略配置,可視化展示時(shí)直接消費(fèi),而不需要每次都重復(fù)配置計(jì)算規(guī)則。
② 兼容PromQL表達(dá)式
完全兼容PromQL檢測(cè)預(yù)計(jì),實(shí)現(xiàn)更多樣化的檢測(cè)邏輯,應(yīng)對(duì)容器監(jiān)控下復(fù)雜的監(jiān)控檢測(cè)需求。
③ 容器資源監(jiān)控
監(jiān)控中心支持對(duì)容器內(nèi)各類資源對(duì)象進(jìn)行發(fā)現(xiàn),并采集相關(guān)性能指標(biāo),包括以下對(duì)象:
支持按照容器實(shí)例查看對(duì)應(yīng)的實(shí)時(shí)指標(biāo)視圖、告警數(shù)據(jù)以及實(shí)例本身的信息。
④ 容器組件服務(wù)監(jiān)控
對(duì)于容器上部署的組件服務(wù),監(jiān)控中心支持通過(guò)多種方式進(jìn)行監(jiān)控:
支持檢索查看上報(bào)后的指標(biāo)實(shí)時(shí)數(shù)據(jù)。
⑤ 容器日志監(jiān)控
對(duì)于容器上的日志,監(jiān)控中心支持采集以下類型的日志:
配置容器采集時(shí)可根據(jù)需要選擇指定的Pods。
05. 最佳實(shí)踐
容器監(jiān)控場(chǎng)景由于自身的復(fù)雜性,即使在技術(shù)上我們實(shí)現(xiàn)了對(duì)目標(biāo)的全量監(jiān)控、采集,但是如何配置有效的告警依然是用戶實(shí)施容器監(jiān)控的一大難點(diǎn)。
為了幫助在容器監(jiān)控場(chǎng)景下經(jīng)驗(yàn)不深的用戶,監(jiān)控中心不僅內(nèi)置了默認(rèn)的容器監(jiān)控策略、容器儀表盤(pán),同時(shí)還提供了詳盡的指標(biāo)說(shuō)明文檔和最佳實(shí)踐配置指引,幫助用戶全面了解容器監(jiān)控?cái)?shù)據(jù)。
SRE轉(zhuǎn)型:銀行SRE模式推廣策略
查看詳細(xì)
從設(shè)備到數(shù)據(jù):存儲(chǔ)監(jiān)控的關(guān)鍵與實(shí)踐
查看詳細(xì)
AI破圈爆火!殊不知運(yùn)維才是幕后“定海神針”!
查看詳細(xì)
AI賦能DevOps:智能排錯(cuò)、代碼修復(fù)與需求生成,打造高效開(kāi)發(fā)新范式!
查看詳細(xì)
LLMOps+DeepSeek:大模型升級(jí)一體化運(yùn)維
查看詳細(xì)
DeepSeek賦能企業(yè)研發(fā):DevOps+AI 新時(shí)代再升級(jí)!
查看詳細(xì)
申請(qǐng)演示