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