構(gòu)建可觀測(cè)性的核心能力是什么?

Gartner認(rèn)為數(shù)字化轉(zhuǎn)型以業(yè)務(wù)為中心,服務(wù)和用戶體驗(yàn)是關(guān)鍵目標(biāo)。而IT監(jiān)控以系統(tǒng)可用為中心,僅關(guān)注系統(tǒng)可用性指標(biāo)對(duì)于轉(zhuǎn)型中的企業(yè)而言是一場(chǎng)災(zāi)難。到2023年,依賴于“正常運(yùn)行時(shí)間”指標(biāo)的監(jiān)控實(shí)踐將抑制90%的轉(zhuǎn)型計(jì)劃。

本文來(lái)自科技云報(bào)道。

云原生時(shí)代,企業(yè)從單體架構(gòu)發(fā)展到分布式架構(gòu),廣泛采用微服務(wù)、容器、Serverless等部署方式,IT基礎(chǔ)設(shè)施變得愈發(fā)不可控。

這導(dǎo)致傳統(tǒng)的監(jiān)控技術(shù)和工具很難跟蹤這些分布式架構(gòu)中的通信路徑和相互依賴關(guān)系,更別提排查問(wèn)題并定位根本原因了。

Gartner認(rèn)為數(shù)字化轉(zhuǎn)型以業(yè)務(wù)為中心,服務(wù)和用戶體驗(yàn)是關(guān)鍵目標(biāo)。而IT監(jiān)控以系統(tǒng)可用為中心,僅關(guān)注系統(tǒng)可用性指標(biāo)對(duì)于轉(zhuǎn)型中的企業(yè)而言是一場(chǎng)災(zāi)難。到2023年,依賴于“正常運(yùn)行時(shí)間”指標(biāo)的監(jiān)控實(shí)踐將抑制90%的轉(zhuǎn)型計(jì)劃。

當(dāng)監(jiān)控?zé)o法再單獨(dú)以運(yùn)維的視角、被動(dòng)地解決故障為目標(biāo),而要追隨IT架構(gòu)的改變和云原生技術(shù)的實(shí)踐,融入開(kāi)發(fā)與業(yè)務(wù)部門的視角,具備比原有監(jiān)控更廣泛、更主動(dòng)的能力,“可觀測(cè)性”概念誕生了。

“可觀測(cè)性”究竟是什么?實(shí)現(xiàn)“可觀測(cè)性”的核心能力有哪些?

QQ截圖20211119092508.png

可觀測(cè)性:

云原生時(shí)代的必備能力

2018年,可觀測(cè)性(Observability)被引入IT領(lǐng)域,CNCF-Landscape率先出現(xiàn)了Observability的分組。自此以后,“可觀測(cè)性”逐漸取代“監(jiān)控”,成為云原生技術(shù)領(lǐng)域最熱門的話題之一。

近兩年,可觀測(cè)性紅遍IT運(yùn)維領(lǐng)域,火起來(lái)的導(dǎo)火索是CNCF在云原生定義中提到Observerbility,并聲稱這是云原生時(shí)代的必備能力。加之包括谷歌在內(nèi)的眾多大廠一擁而上,“可觀測(cè)性”正式出道。

谷歌給出可觀測(cè)性的核心價(jià)值很簡(jiǎn)單:快速排障(troubleshooting)。

隨著系統(tǒng)越來(lái)越精細(xì),越來(lái)越復(fù)雜,越來(lái)越動(dòng)態(tài),越來(lái)越龐大,潛藏的問(wèn)題和風(fēng)險(xiǎn)也就越來(lái)越多。因此,任何一個(gè)軟件的成功,不僅僅要依靠軟件架構(gòu)的合理設(shè)計(jì)、軟件開(kāi)發(fā)的代碼質(zhì)量,更要依靠軟件系統(tǒng)的運(yùn)行維護(hù)。而運(yùn)行維護(hù)的基礎(chǔ),就是可觀測(cè)性,通過(guò)提前發(fā)現(xiàn)異常,快速定位根本原因,迅速排除或者規(guī)避故障。

因此,可觀測(cè)性是從系統(tǒng)內(nèi)部出發(fā),基于白盒化的思路去監(jiān)測(cè)系統(tǒng)內(nèi)部的運(yùn)行情況??捎^測(cè)性貫穿應(yīng)用開(kāi)發(fā)的整個(gè)聲明周期,通過(guò)分析應(yīng)用的指標(biāo)、日志和鏈路等數(shù)據(jù),構(gòu)建完整的觀測(cè)模型,從而實(shí)現(xiàn)故障診斷、根因分析和快速恢復(fù)。

雖然可觀測(cè)性是由傳統(tǒng)監(jiān)控發(fā)展而來(lái),但是他們有著本質(zhì)的不同。

傳統(tǒng)監(jiān)控更多的是指運(yùn)維自動(dòng)化工具,主要用途是替代人自動(dòng)監(jiān)控系統(tǒng)運(yùn)行情況,在系統(tǒng)發(fā)生異常時(shí)告警,最終還是需要人工去分析異常、故障診斷和根因分析。

但現(xiàn)代IT系統(tǒng)的關(guān)鍵詞是分布式、池化、大數(shù)據(jù)、零信任、彈性、容錯(cuò)、云原生等,越來(lái)越龐大,越來(lái)越精細(xì),越來(lái)越動(dòng)態(tài),同時(shí)也越來(lái)越復(fù)雜。通過(guò)人去尋找各種信息的關(guān)聯(lián)性,再根據(jù)經(jīng)驗(yàn)判斷和優(yōu)化,顯然是不可行的,耗時(shí)耗力還無(wú)法找到問(wèn)題根因。

可觀測(cè)性不僅包含傳統(tǒng)監(jiān)控的能力,更多的是面向業(yè)務(wù),強(qiáng)調(diào)將業(yè)務(wù)全過(guò)程透明化的理念,實(shí)現(xiàn)全景監(jiān)控、智能運(yùn)維和自修復(fù)能力等體系化的服務(wù)能力。

有業(yè)界專家一句話總結(jié)傳統(tǒng)監(jiān)控與可觀測(cè)性的區(qū)別:“監(jiān)控告訴我們系統(tǒng)的哪些部分是工作的;可觀測(cè)性告訴我們那里為什么不工作了。”

QQ截圖20211119092508.png

可觀測(cè)性體系的三大維度

在CNCF對(duì)于云原生的定義中,已經(jīng)明確將可觀測(cè)性列為一項(xiàng)必備要素。

CNCF云原生生態(tài)也整合了可觀測(cè)性體系,在CNCF生態(tài)全景圖中可觀測(cè)性主要是按照Monitoring監(jiān)控指標(biāo)、Logging事件日志、Tracing鏈路追蹤三個(gè)維度來(lái)分類。

監(jiān)控指標(biāo)(Monitoring)

云原生監(jiān)控指標(biāo)可觀測(cè)產(chǎn)品大都是從傳統(tǒng)的監(jiān)控產(chǎn)品發(fā)展而來(lái)的,傳統(tǒng)監(jiān)控中Zabbix以其高可用和圖形化展示而廣受歡迎。

而在云原生時(shí)代,CNCF孵化的監(jiān)控工具Prometheus取代了以Zabbix為代表的眾多傳統(tǒng)監(jiān)控工具,已基本成為云原生監(jiān)控體系通用的解決方案,并可以通過(guò)配合Grafana工具實(shí)現(xiàn)監(jiān)控?cái)?shù)據(jù)圖形化進(jìn)行可視化分析。

事件日志(Logging)

在業(yè)界中,事件日志可觀測(cè)產(chǎn)品也已經(jīng)是一片紅海。日志管理方案大都包含日志收集、日志聚合、日志存儲(chǔ)與分析幾個(gè)模塊,具體過(guò)程是日志收集工具與應(yīng)用程序容器一起運(yùn)行,并直接從應(yīng)用程序收集消息,然后將消息轉(zhuǎn)發(fā)到中央日志存儲(chǔ)以進(jìn)行匯總和分析。

在這方面Elastic Stack日志解決方案獨(dú)占鰲頭,幾乎覆蓋了日志管理的全流程,其中一大變數(shù)是用于日志聚合、過(guò)濾等業(yè)務(wù)的Logstash效能較差,在未來(lái)可能會(huì)被CNCF孵化的Fluentd取代。

鏈路追蹤(Tracing)

比起監(jiān)控日志與事件日志,鏈路追蹤可觀測(cè)的產(chǎn)品競(jìng)爭(zhēng)要相對(duì)激烈得多。其根本原因在于鏈路數(shù)據(jù)與實(shí)際業(yè)務(wù)和業(yè)務(wù)實(shí)現(xiàn)協(xié)議、編程語(yǔ)言等細(xì)粒度具體場(chǎng)景密切相關(guān)。

這也導(dǎo)致針對(duì)不同產(chǎn)品實(shí)現(xiàn)和網(wǎng)絡(luò)協(xié)議的鏈路追蹤產(chǎn)品層出不窮,但是他們?cè)诠δ軐?shí)現(xiàn)上并沒(méi)有太本質(zhì)的差距,卻又受制于實(shí)現(xiàn)細(xì)節(jié),彼此互斥,很難搭配工作。

QQ截圖20211119092508.png

構(gòu)建可觀測(cè)性能力的關(guān)鍵

傳統(tǒng)的工具是垂直向的,在引入一個(gè)新的組件的同時(shí)也會(huì)引入一個(gè)與之對(duì)應(yīng)的觀測(cè)工具。盡管保證了數(shù)據(jù)的全面性,但丟失了數(shù)據(jù)的關(guān)聯(lián)性和分析排查的連貫性。

如果有一個(gè)統(tǒng)一的數(shù)據(jù)平臺(tái),把所有數(shù)據(jù)放在一個(gè)平臺(tái),似乎就能解決關(guān)聯(lián)性的問(wèn)題。

但實(shí)際情況往往是,建立了一個(gè)觀測(cè)指標(biāo)、日志、鏈路的統(tǒng)一平臺(tái),數(shù)據(jù)堆在了一個(gè)地方,用的時(shí)候還是按傳統(tǒng)的方式各看各的,關(guān)聯(lián)性還得靠人的知識(shí)和經(jīng)驗(yàn)。

因此,可觀測(cè)性能力的構(gòu)建,最關(guān)鍵的其實(shí)是解決數(shù)據(jù)統(tǒng)一和關(guān)聯(lián)的問(wèn)題:把之前需要人去比對(duì)、過(guò)濾的事交給程序去處理,人的時(shí)間更多的用在判斷和決策上。

中國(guó)信通院《可觀測(cè)性技術(shù)發(fā)展白皮書(shū)》指出,可觀測(cè)平臺(tái)能力的構(gòu)建,需要具備統(tǒng)一數(shù)據(jù)模型、統(tǒng)一數(shù)據(jù)處理、統(tǒng)一數(shù)據(jù)分析、數(shù)據(jù)編排、數(shù)據(jù)展示的能力。

那么,如何做數(shù)據(jù)統(tǒng)一和關(guān)聯(lián)呢?

在統(tǒng)一數(shù)據(jù)平臺(tái)上,由于數(shù)據(jù)是來(lái)自于各種觀測(cè)工具的,雖然在數(shù)據(jù)格式上統(tǒng)一了,但不同工具的元數(shù)據(jù)截然不同。如果在統(tǒng)一數(shù)據(jù)平臺(tái)上去梳理和映射這些元數(shù)據(jù),將是龐雜、難維護(hù)、不可持續(xù)的。

那么該如何做呢?答案就是標(biāo)準(zhǔn)化。

只有將標(biāo)準(zhǔn)化、結(jié)構(gòu)化的數(shù)據(jù)喂給觀測(cè)平臺(tái),觀測(cè)平臺(tái)才能從中發(fā)現(xiàn)巨大價(jià)值。統(tǒng)一數(shù)據(jù)平臺(tái)只是在數(shù)據(jù)格式上進(jìn)行了標(biāo)準(zhǔn)化,而要想將數(shù)據(jù)關(guān)聯(lián)還必須建立context的標(biāo)準(zhǔn)化,context就是數(shù)據(jù)的空間信息,再疊加上時(shí)間信息的關(guān)聯(lián)就可以發(fā)揮真正的觀測(cè)價(jià)值。

目前,CNCF為了統(tǒng)一這一亂象,推出了Open Telemetry以期實(shí)現(xiàn)理想狀態(tài)下的大一統(tǒng):統(tǒng)一Logs、Trace、Metrics三種數(shù)據(jù)協(xié)議標(biāo)準(zhǔn),使用一個(gè)Agent完成所有可觀測(cè)性數(shù)據(jù)的采集和傳輸,適配眾多云廠商,兼容CNCF上眾多的開(kāi)源與商業(yè)項(xiàng)目。

可以說(shuō)Open Telemetry是一套與平臺(tái)無(wú)關(guān)、與廠商無(wú)關(guān)、與語(yǔ)言無(wú)關(guān)的追蹤協(xié)議規(guī)范,意在讓鏈路追蹤可觀測(cè)更加規(guī)范化。

但遺憾是,至今未有廠商或開(kāi)源項(xiàng)目可以統(tǒng)一Open Telemetry后端,三種數(shù)據(jù)源的統(tǒng)一存儲(chǔ)、展示與關(guān)聯(lián)分析仍面臨極大挑戰(zhàn),而解決以上問(wèn)題的前提,仍然是統(tǒng)一數(shù)據(jù)源(數(shù)據(jù)格式)。

總的來(lái)說(shuō),云原生可觀測(cè)性方興未艾,因?yàn)樵圃膽?yīng)用系統(tǒng)趨于規(guī)?;蛷?fù)雜化,越是復(fù)雜的龐大機(jī)器越是會(huì)強(qiáng)調(diào)其可靠性和穩(wěn)定性。

未來(lái),云原生可觀測(cè)未來(lái)需要一個(gè)大一統(tǒng)的可落地產(chǎn)品,通過(guò)統(tǒng)一的標(biāo)準(zhǔn)匯聚三者的數(shù)據(jù),挖掘交叉區(qū)域的價(jià)值。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論