科技云報道原創(chuàng)。
可觀測性不是一個新鮮的名詞,但是近年來隨著云原生技術(shù)的發(fā)展,在帶來效率、可用性提升的同時也增加了復(fù)雜度,而可觀測性成為降低這種復(fù)雜度的唯一手段,因此被推到了前所未有的重要地位。
Gartner將應(yīng)用可觀測性(Applied Observability)列為“2023年十大戰(zhàn)略技術(shù)趨勢”之一,并指出,到2026年,70%成功實現(xiàn)可觀測性的企業(yè)機構(gòu),將能夠降低決策延遲,幫助目標(biāo)業(yè)務(wù)或IT流程建立競爭優(yōu)勢。
那么,云原生時代的可觀測性有哪些新挑戰(zhàn)和新趨勢?
云原生帶來可觀測性變革
可觀測性,是指通過分析系統(tǒng)的Metrics(指標(biāo))、Traces(鏈路)、Logs(日志)等數(shù)據(jù),構(gòu)建完整的觀測模型,從而實現(xiàn)故障診斷、根因分析和快速恢復(fù)。
對此,谷歌有一個很簡單的表述,快速排障(troubleshooting),即可觀測性的核心價值。
盡管近年來可觀測性頗有一點“網(wǎng)紅”氣質(zhì),但可觀測性也是由傳統(tǒng)監(jiān)控演進(jìn)而來的。
傳統(tǒng)監(jiān)控是面向運維視角的,從系統(tǒng)外部視角去觀察系統(tǒng)的運行狀態(tài),應(yīng)用規(guī)模普遍較小且服務(wù)之間沒有互相依賴,更多是通過閾值來監(jiān)控單體主機的日志和性能指標(biāo)。
隨著云原生技術(shù)的發(fā)展,基于容器和微服務(wù)化的應(yīng)用規(guī)模更加龐大,服務(wù)之間依賴呈現(xiàn)為網(wǎng)狀結(jié)構(gòu),復(fù)雜的云上環(huán)境以及分布式系統(tǒng)的復(fù)雜性、動態(tài)性,使得故障定界、調(diào)用追蹤非常不明朗。
例如,雖然很多容器化應(yīng)用上線有著開箱即用、快速發(fā)布的這些好處,但也有很多的網(wǎng)絡(luò)流量抓取不到。
在這種情況下,其實很難通過傳統(tǒng)的方式進(jìn)行網(wǎng)絡(luò)流量抓包分析,云環(huán)境網(wǎng)絡(luò)流量監(jiān)控“黑盒”的短板也逐步暴露了出來。
以往的日志、性能指標(biāo)監(jiān)控能力,就需要補充面向云網(wǎng)絡(luò)的流量日志與性能指標(biāo),同時結(jié)合動態(tài)的全鏈路追蹤能力,實現(xiàn)多維數(shù)據(jù)的關(guān)聯(lián)分析,提供整體應(yīng)用的可靠性保障。
因此,云原生可觀測性被提出來了,要求從系統(tǒng)內(nèi)部出發(fā),基于“白盒化”的思路去監(jiān)測系統(tǒng)內(nèi)部的運行情況,不僅發(fā)現(xiàn)問題,更對于問題現(xiàn)象背后本質(zhì)給出明晰解釋。
而可觀測性背后的指標(biāo)、日志、事件、鏈路數(shù)據(jù),以及診斷工具的結(jié)合使用,就為事前預(yù)防、事中處理、事后復(fù)盤提供了重要決策依據(jù)。
可以說,可觀測性是基礎(chǔ)設(shè)施自動化的基石,優(yōu)秀的可觀測性是確保云原生紅利高效釋放的前提條件。
可觀測性的三大維度
云原生計算基金會CNCF將可觀測性分解為三個更具體方向進(jìn)行研究,分別是:事件日志、鏈路追蹤和聚合度量。
日志(Logging)日志的職責(zé)是記錄離散事件,通過這些記錄事后分析出程序的行為,譬如曾經(jīng)調(diào)用過什么方法,曾經(jīng)操作過哪些數(shù)據(jù)等等。
輸出日志的確很容易,但收集和分析日志卻可能會很復(fù)雜。面對成千上萬的集群節(jié)點,迅速滾動的事件信息,數(shù)以TB計算的文本,傳輸與歸集都并不簡單。
目前,事件日志可觀測產(chǎn)品已經(jīng)是一片紅海。
日志管理方案大都包含日志收集、日志聚合、日志存儲與分析幾個模塊,具體過程是日志收集工具與應(yīng)用程序容器一起運行,并直接從應(yīng)用程序收集消息,然后將消息轉(zhuǎn)發(fā)到中央日志存儲以進(jìn)行匯總和分析。
常見的日志管理工具包括ELK Stack、Fluentd、Loki等。其中,Elastic Stack日志解決方案幾乎覆蓋了日志管理的全流程。
度量(Metrics)度量是指對系統(tǒng)中某一類信息的統(tǒng)計聚合,主要目的是監(jiān)控和預(yù)警,如某些度量指標(biāo)達(dá)到風(fēng)險閾值時觸發(fā)事件,以便自動處理或者提醒管理員介入。
度量常用的工具包括:Zabbix、Nagios、Prometheus,及相關(guān)高可用部署方案如Prometheus-operator、Thanos。
追蹤(Tracing)追蹤的主要目的是排查故障如:分析調(diào)用鏈的哪一部分、哪個方法出現(xiàn)錯誤或阻塞,輸入輸出是否符合預(yù)期等等。
云原生時代,追蹤不只局限于調(diào)用棧了,一個外部請求需要內(nèi)部若干服務(wù)的聯(lián)動響應(yīng),這時候完整的調(diào)用軌跡將跨越多個服務(wù),同時包括服務(wù)間的網(wǎng)絡(luò)傳輸信息與各個服務(wù)內(nèi)部的調(diào)用堆棧信息。因此,分布式系統(tǒng)中的追蹤常被稱為“全鏈路追蹤”。
同時,追蹤方面的情況與日志、度量也有所不同。
追蹤是與具體網(wǎng)絡(luò)協(xié)議、程序語言密切相關(guān)的,各個服務(wù)之間是使用HTTP還是gRPC來進(jìn)行通信,會直接影響追蹤的實現(xiàn),各個服務(wù)是使用Java、Golang還是Node.js來編寫,也會直接影響到進(jìn)程內(nèi)調(diào)用棧的追蹤方式。
這決定了追蹤工具本身有較強的侵入性,通常是以插件式的探針來實現(xiàn),也決定了追蹤領(lǐng)域很難出現(xiàn)一家獨大的情況,通常要有多種產(chǎn)品來針對不同的語言和網(wǎng)絡(luò)。
近年來各種鏈路追蹤產(chǎn)品層出不窮,市面上主流的工具既有像Datadog這樣的一攬子商業(yè)方案,也有AWS X-Ray和Google Stackdriver Trace這樣的云計算廠商產(chǎn)品,還有像SkyWalking、Zipkin、Jaeger這樣來自開源社區(qū)的優(yōu)秀產(chǎn)品。
總的來說,日志、度量、追蹤三者打通,最大的價值是能做到全鏈路錯誤尋根,即從發(fā)現(xiàn)請求Metric指標(biāo)異常,通過指標(biāo)關(guān)聯(lián)分析,并逐層下鉆到明細(xì)Trace追蹤和具體Error Log,全流程自動化從宏觀到明細(xì)的錯誤發(fā)現(xiàn)和根因定位。
可觀測性將走向何方?
不難發(fā)現(xiàn),可觀測性問題相對復(fù)雜,沒有開箱即用的最佳方案。
為了應(yīng)對云原生場景下復(fù)雜的可觀測性問題,各大廠商采用了不同的策略。
有的采用多種產(chǎn)品組合的方式,針對不同場景,為客戶提供不同的解決方案,比如AWS有CloudWatch、AMP、AMG等產(chǎn)品組合,阿里云有ARMS、鏈路追蹤、日志服務(wù)SLS等;
有的廠商則提供了統(tǒng)一的解決方案,比如Azure monitor,Vmware Tanzu Wavefront,華為云CIE等。
隨著各大廠商和開源項目的發(fā)展和推進(jìn),在可預(yù)見的未來,可觀測領(lǐng)域正在呈現(xiàn)新的趨勢:
趨勢一:形成可觀測性行業(yè)標(biāo)準(zhǔn)首先是指標(biāo),Prometheus作為云原生時代指標(biāo)數(shù)據(jù)標(biāo)準(zhǔn)已經(jīng)形成共識。
鏈路標(biāo)準(zhǔn)也隨著OpenTracing和OpenTelemetry的推行而逐漸占據(jù)主流。
OpenTelemetry作為一套由CNCF主導(dǎo)的云原生可觀測性的標(biāo)準(zhǔn)協(xié)議,目前已經(jīng)是海外企業(yè)在該領(lǐng)域的實踐標(biāo)準(zhǔn)。
反觀國內(nèi),雖未形成類似的標(biāo)準(zhǔn),卻也涌現(xiàn)了諸如 CAT 和 SkyWalking 等一系列國產(chǎn)開源的 APM 系統(tǒng)。得益于對業(yè)務(wù)代碼無侵入,性能表現(xiàn)優(yōu)秀,社區(qū)活躍,中文文檔齊全等眾多優(yōu)秀特性,SkyWalking在國內(nèi)異常火爆。
在日志領(lǐng)域,雖然其數(shù)據(jù)結(jié)構(gòu)化程度較低難以形成數(shù)據(jù)標(biāo)準(zhǔn),但采集存儲分析側(cè)涌現(xiàn)出Fluentd、Loki等開源新秀;另一方面,Grafana作為可觀測數(shù)據(jù)展示標(biāo)準(zhǔn)也愈加明朗。
?趨勢二:構(gòu)建以應(yīng)用為中心的觀測視角可觀測性比較好的觀測視角是應(yīng)用視角,以應(yīng)用為單位關(guān)聯(lián)指標(biāo)、鏈路與日志,利用逐漸成熟的eBPF探針技術(shù)快速實現(xiàn)全局應(yīng)用可觀測,無侵入應(yīng)用探針為主,OpenTelemetry為輔實現(xiàn)代碼級可觀測能力。
趨勢三:聚焦業(yè)務(wù)成敗在“業(yè)務(wù)至上”的時代,技術(shù)工程師們保障的核心其實并不是這套IT系統(tǒng)或軟件,核心其實是業(yè)務(wù)。
一筆業(yè)務(wù)可能會涉及到多個微服務(wù)系統(tǒng),需要追蹤到整個API關(guān)聯(lián)的訂單、用戶甚至具體到哪一筆交易,這也是可觀測性和業(yè)務(wù)結(jié)合的一個重要發(fā)展趨勢。
趨勢四:加大IT投入“可觀測性”被定義為是一個降本增效的好工具,這讓許多開發(fā)者認(rèn)為安裝了可觀測性平臺,就可以降低成本、為業(yè)務(wù)創(chuàng)造價值。
事實上,可觀測性工具從來不是一個“便宜”的東西,可觀測性平臺除了基本的工具投入,還需要有一套完整的數(shù)據(jù)存儲方案,企業(yè)自研一套優(yōu)秀的可觀測性解決方案投入成本并不低。
以美國企業(yè)的可觀測性相關(guān)投入為例,其占企業(yè)整體IT支出的5%-10%。
因此,可觀測性產(chǎn)品的“降本增效”不是短時間內(nèi)就可以顯現(xiàn)出來的,而是通過長時間的應(yīng)用產(chǎn)生價值,企業(yè)將做好加大投入的準(zhǔn)備。
趨勢五:可觀測性與安全融合安全和可觀測性的合并,已在全球范圍內(nèi)形成一種趨勢。
摩根士丹利《安全分析和可觀測性》一文中提到,在國外,以DataDog為代表的公司在上市之后發(fā)布的新增功能中有70%都是安全相關(guān)的。
這其中的道理非常簡單,可觀測性是通過檢查其輸出來衡量系統(tǒng)內(nèi)部狀態(tài)的能力,它收集了系統(tǒng)的方方面面,通過這些數(shù)據(jù)可以分析出系統(tǒng)的故障,自然也就能夠分析出系統(tǒng)有沒有被入侵。
比如DataDog就提供了通過分析當(dāng)前訪問請求,區(qū)分哪些可能是黑客在嗅探,或者準(zhǔn)備未來做DDoS攻擊的接口的功能。
也就是說,采集的數(shù)據(jù)在安全方面也能夠發(fā)揮作用,而不像傳統(tǒng)安全工具那樣,需要針對安全場景再進(jìn)行一次數(shù)據(jù)采集。
所以,安全和可觀測性的合并在全球范圍內(nèi)已經(jīng)成為一種趨勢。
針對攻擊現(xiàn)場的追蹤,比如國內(nèi)的態(tài)勢感知、SIEM這些安全產(chǎn)品都選擇了和可觀測性進(jìn)行融合。
結(jié)語
總體來說,真正的可觀測性平臺應(yīng)該是,能夠?qū)⒏鞣N各樣對于系統(tǒng)的形態(tài)、實時的狀態(tài)進(jìn)行有結(jié)構(gòu)性的收集并提供一系列的觀察、測量手段的平臺。
就像傳感器一樣,能夠讓開發(fā)者們的開發(fā)、測試、運維過程變的更容易,能夠即時了解系統(tǒng)的運行狀態(tài),而并不是簡簡單單的“監(jiān)控”。
來源:科技云報道
免責(zé)聲明:此文內(nèi)容為第三方自媒體作者發(fā)布的觀察或評論性文章,所有文字和圖片版權(quán)歸作者所有,且僅代表作者個人觀點,與極客網(wǎng)無關(guān)。文章僅供讀者參考,并請自行核實相關(guān)內(nèi)容。投訴郵箱:editor@fromgeek.com。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長
- 折疊屏2024的新東西、好東西、舊東西
- “客服來電”懷疑有詐?抖音上線“驗證助手”幫助用戶防范詐騙
- 葉國富觀點很精彩,奈何名創(chuàng)優(yōu)品說得好聽、做得難看?
- 算力荒緩解,自主化智算還有必要嗎?
- 波司登千元鵝絨褲僅3克鵝絨,警惕被“國貨品牌”割韭菜
- 中國電車進(jìn)入10萬級時代,2025年決生死,但日本車先頂不住了
- 谷歌成為手機市場的殺手,國產(chǎn)手機或被迫擁護國產(chǎn)操作系統(tǒng)
- 董明珠與小米的二次戰(zhàn)爭
- 芯片不賣中國,美芯無處賣了,本來不要的市場偷偷地賣,后悔莫及
- 僅售999元 月底開售 閃極打響AI眼鏡量產(chǎn)發(fā)令槍
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。