新聞中心
作者 | 張旭海

創(chuàng)新互聯(lián)是專業(yè)的北海網(wǎng)站建設公司,北海接單;提供網(wǎng)站設計制作、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行北海網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
運維挑戰(zhàn)與可觀測性
近 10 年間,企業(yè)線上服務與 IT 基礎設施的規(guī)模不斷擴大,各種與之匹配的研發(fā)實踐、生態(tài)如微服務、DevOps、云原生等等也不斷的發(fā)展。在 Canonical 發(fā)布的 Kubernetes and cloud native operations report 2022 中顯示:超過 40% 的受訪者所在的組織運行了超過 100 臺機器(包括VM、Bare Metal 等),而超過 20% 的受訪者所在的組織,擁有超過 10 個 Kubernetes 生產(chǎn)集群。
企業(yè)運維的挑戰(zhàn)
業(yè)務復雜度的提升以及規(guī)模的擴大,讓運維工作愈發(fā)關鍵且困難,而為了快速響應業(yè)務變化,對 DevOps 的要求也越來越高。例如在 DORA Four Keys 中提到,對于發(fā)布頻率這一指標,精英級別要求能夠按需發(fā)布,實現(xiàn)每日變更多次。但發(fā)布變更常伴隨著故障。
76% 的 IT 系統(tǒng)故障是由變更引起的。
-- 18 Key Areas Shaping IT Performance Markets in 2020
多數(shù)故障都是由變更引起的,而對變更頻率的要求又越來越高,雖然可以通過提升軟件質量來降低故障率,但故障是不可避免一定會發(fā)生的。為了降低故障對業(yè)務的影響,我們便期望修復故障的時間盡可能的短,但修復故障的前提是定位故障。
66% 的 MTTR 用于識別是什么變化導致了故障。
-- 2022 State of Managing IT Performance Study – Key Takeaways
日趨復雜的系統(tǒng)讓故障根因難以直觀地顯現(xiàn),畢竟規(guī)模越大的業(yè)務,其所涉及到的各種應用、服務、基礎設施等環(huán)節(jié)可能越復雜。因此系統(tǒng)復雜度的上升,導致處理故障的大部分時間都花費在定位問題上。
對系統(tǒng)發(fā)生了什么了如指掌是定位問題的前提,因此如何監(jiān)控整個線上系統(tǒng),如何獲悉規(guī)模巨大的系統(tǒng)的運行狀態(tài),成為了一大挑戰(zhàn)。這種挑戰(zhàn)反過來也促進了可觀測性領域的發(fā)展。
可觀測性的目標
對于數(shù)字化落地較早的企業(yè),為了應對挑戰(zhàn),可能早已構建了 APM、NPM 監(jiān)控系統(tǒng),以及開源的或是商用的追蹤系統(tǒng)等。而對于傳統(tǒng)企業(yè)可能數(shù)字化的步伐才剛剛開始,線上服務還停留在從無到有的階段。
那么企業(yè)處于自身特定的發(fā)展語境下,對可觀測性的要求有什么異同呢?
總體上看,可觀測性代表了對系統(tǒng)形成洞察的能力,可觀測性水平越高,對系統(tǒng)形成的洞察就越深。因此不論企業(yè)的數(shù)字化程度是低是高,其構建可觀測性能力的目標都是不會改變的。
這些目標包括:
(1) 更全面的收集系統(tǒng)上下文
系統(tǒng)可觀測的前提是收集數(shù)據(jù),各種遙測數(shù)據(jù)反映了系統(tǒng)當時的上下文。因此數(shù)據(jù)越多越全,對系統(tǒng)運行的還原度就越高。但由于采樣底噪以及數(shù)據(jù)管理等問題,既要獲得全面的上下文,又要限制收集的規(guī)模,權衡并不容易。
(2) 更有效的關聯(lián)各層級數(shù)據(jù)
遙測數(shù)據(jù)是單一而孤立的,基礎設施層關心的數(shù)據(jù)與業(yè)務應用關心的數(shù)據(jù)可能相去甚遠。數(shù)據(jù)之間只有建立起關系,人腦才易于從中發(fā)現(xiàn)問題,抽絲剝繭。數(shù)據(jù)形成關聯(lián)的有效程度,與能從中獲得洞察的深度成正比。
(3) 更自動化的尋找問題根因
數(shù)據(jù)規(guī)??赡軙笖?shù)增長,但人腦的產(chǎn)出只能隨著時間線性增長。因此如何通過自動化的手段,降低人腦的認知成本,縮短人工時間,逐漸變得愈發(fā)重要。
不同企業(yè)之間可觀測性能力建設的差異,可能主要體現(xiàn)在對上述目標的完成程度上。
企業(yè)可觀測性能力的建設是持續(xù)深入的過程,那么如何才能衡量現(xiàn)狀,發(fā)現(xiàn)不足進而指導未來的方向呢?
可觀測性成熟度模型
StackState 作為一家提供可觀測性解決方案的咨詢公司,發(fā)布了一份 《可觀測性成熟度模型》,基于其對真實問題、客戶討論以及技術研究,旨在幫助企業(yè)在可觀測性能力建設上作為指導。
成熟度等級
《可觀測性成熟度模型》將可觀測性分為四個等級,從低到高,越高的等級代表越能深入的對系統(tǒng)進行觀測洞察。
Level 1:監(jiān)控
監(jiān)控代表了相對古老而簡單的觀測手段:跟蹤數(shù)值。
跟蹤的數(shù)值通常專注于基本的組件、應用層面的參數(shù)指標,如可用性、性能、容量指標等等。每一次對指標的采集將產(chǎn)生一個事件,事件結合某些閾值,則可能引發(fā)報警。
作為最初級的可觀測性,通過跟蹤數(shù)值和指標報警的能力,企業(yè)能夠獲悉組件或應用的健康狀態(tài),并在出現(xiàn)故障后得到通知。然而,跟蹤數(shù)值加報警的形式,的確能告訴運維人員組件出了故障,但故障的原因是什么,需要聯(lián)系誰來解決該問題,都無法在這一級別得到很好的處理。
此外,隨著時間的推移,越來越多的指標項被加入監(jiān)控系統(tǒng),結果一個問題可能會導致一連串的指標報警,從而出現(xiàn) “到處亮紅燈,但不知道發(fā)生了什么” 的窘境。
Level 2:可觀測性
可觀測性是可觀測性成熟度模型的第二個等級(名字起得差強人意)。由于上一級別遺留的問題,即只知道出了故障但難以得知故障產(chǎn)生的具體原因。因此第二級的目標就是能確定系統(tǒng)不工作的原因。
第二級可觀測性,通??梢圆捎?“指標”、“日志”、“跟蹤” 這三種關鍵類型的遙測數(shù)據(jù)來提供系統(tǒng)洞察力?!爸笜恕?與上一級的跟蹤數(shù)值基本一致?!叭罩尽笔菍ο到y(tǒng)中發(fā)生事件的帶時間戳的記錄?!备櫋皠t能顯示數(shù)據(jù)是如何從頭至尾流經(jīng)系統(tǒng)的。
實際上,我們會發(fā)現(xiàn)這三種關鍵數(shù)據(jù)(某些文章稱之為三大支柱)已經(jīng)廣泛的應用在了成熟的微服務系統(tǒng)中,圍繞著“三大支柱”的各種解決方案也層出不窮??傊ㄟ^合理的方案采集這些遙測數(shù)據(jù),并展示在儀表板上,就實現(xiàn)了第二級的可觀測能力。
誠然,借助”三大支柱“的有力支持,第二級可觀測能力能夠更廣泛而全面的了解整個系統(tǒng)的運行狀態(tài)。但隨著系統(tǒng)規(guī)模的擴大,遙測數(shù)據(jù)會越來越多,不同的遙測數(shù)據(jù)也可能會存在于不同的系統(tǒng)中(數(shù)據(jù)孤島)。那么當出現(xiàn)問題時就需要通過人工從大量遙測數(shù)據(jù)中抽絲剝繭,關聯(lián)因果關系。隨著規(guī)模的擴大,受限于人力排查,MTTR 的時間也會不斷延長。
Level 3:因果可觀測性
通過人工建立數(shù)據(jù)相關性,低效且不直觀。因果可觀測性,作為第三個級別,能夠通過某些手段揭示這種相關性,從而達到找到事件發(fā)生的原因且確定其對整個系統(tǒng)影響的目的。
具體通過何種手段建立相關性,將在下一節(jié)描述。那么假如已經(jīng)實現(xiàn)了因果可觀測性能力,可能會遇到的新的挑戰(zhàn)可能是什么?
如何對數(shù)據(jù)規(guī)范化,如何長期存儲并高效使用這些數(shù)據(jù)可能會是下一階段的挑戰(zhàn)。另外,巨大的數(shù)據(jù)量也會導致即使揭示了數(shù)據(jù)的相關性,但仍然需要耗費大量時間來從噪音中分離出有用的信號。
Level 4:使用 AIOps 的主動式可觀測性
通過 AI 和 ML 的方式從堆積如山的數(shù)據(jù)中尋找模式,從而能幫助團隊更快的發(fā)現(xiàn)問題。在指標報警和警告中找到模式的變化,可以幫助團隊提前預知可能發(fā)生的故障,進而實現(xiàn)預防性的、無事故的運維目標。
AIOps 能夠提升效率,提高根因分析的準確率,甚至預測異常和實現(xiàn)系統(tǒng)自愈。
因果可觀測性
從前面可觀測性的四個成熟度等級可以發(fā)現(xiàn),可觀測性成熟度第二級別,得益于開源技術的成熟,是目前多數(shù)系統(tǒng)能夠達到或是已經(jīng)處于的位置。而更進一步,達到因果可觀測性,則是相對清晰的發(fā)展方向。那么,如何實現(xiàn)因果可觀測性的目標,建立數(shù)據(jù)之間的相關性呢?
《可觀測性成熟度模型》中給出的方法,是建立時間序列下的拓撲結構變化視圖。
對系統(tǒng)進行故障根因調查時,先看看系統(tǒng) “發(fā)生了哪些變化”,是一個合理的切入點。畢竟大多數(shù)故障都是因系統(tǒng)發(fā)生了變更而引起的,比如新的代碼部署、配置變更、自動擴縮容等等。
但復雜的系統(tǒng)可能會發(fā)生不止一處變化,如果能對比故障發(fā)生前后,整個系統(tǒng)棧的拓撲結構變化以及組件之間的關系變化,就能清晰的辨別出變化點及其之間的關系。
拓撲結構是系統(tǒng)內(nèi)所有組件的地圖,它跨越了所有層次,是離散組件之間關系和依賴的集合。
現(xiàn)代環(huán)境由許多動態(tài)層、微服務、無服務器應用和網(wǎng)絡技術組成,因此在你的可觀測性組合中加入最新的拓撲結構,對于區(qū)分因果關系至關重要。拓撲結構為數(shù)以千計的未連接的數(shù)據(jù)流提供了錨點,使它們具有結構性,使以前看不見的連接變得可見。拓撲可視化讓你在全?;顒拥谋尘跋虏榭磥碜跃W(wǎng)絡、基礎設施、應用程序和其他領域的遙測數(shù)據(jù);它還為你提供了重要的背景,讓你知道當某些事情發(fā)生時,你的業(yè)務是如何受到影響的。
--《可觀測性成熟度模型》
來源:《可觀測性成熟度模型》
如上圖所示,將原本孤立的數(shù)據(jù)比如服務的注冊發(fā)現(xiàn)、自動化部署、請求追蹤等等數(shù)據(jù)匯聚,形成完整的拓撲結構,那么第一級與第二級已經(jīng)實現(xiàn)收集的各種遙測數(shù)據(jù)就都可以掛載在拓撲圖上。
此外,單有拓撲圖還不夠。對實施自動化運維的現(xiàn)代系統(tǒng)環(huán)境中,頻繁的發(fā)布、不斷變化的基礎設施以及動態(tài)擴縮容使得拓撲結構變化的很快,處理問題時刻的系統(tǒng)拓撲,可能已經(jīng)與發(fā)生問題時刻完全不同了。
因此,除了構建拓撲結構來關聯(lián)數(shù)據(jù),留存基于時間的快照也非常關鍵。一旦擁有了隨時間變化的拓撲結構快照,就可以在時間線上自由的對比拓撲的變化并查看對應的遙測數(shù)據(jù)。
來源:《可觀測性成熟度模型》
透過時間序列下的拓撲結構視圖,數(shù)據(jù)孤島被彌合起來,大大加快了根因分析的速度。關聯(lián)起來的數(shù)據(jù)也易于建立模式,為自動化分析奠定基礎。當然,建立這樣的數(shù)據(jù)模型并不容易,除了技術上的挑戰(zhàn),可能還涉及組織上的變革。目前已經(jīng)有例如 OpenTelemetry 這類開放標準,嘗試先從遙測數(shù)據(jù)收集的角度建立初步的關聯(lián),雖然遙測數(shù)據(jù)只是第一步,但也是一個良好的開始。
可觀測性的發(fā)展方向
成熟度模型為企業(yè)可觀測性演進的方向提供了階段性的參考,那么在建立系統(tǒng)可觀測性過程中,為了覆蓋企業(yè)需求,具體需要關注什么樣的能力呢?有哪些技術可以引領可觀測性向著更高的成熟度而演進呢?
Gartner 在 2022 年年中發(fā)布的 Critical Capabilities for Application Performance Monitoring and Observability 梳理了APM 和可觀測性的六項關鍵能力:
- 應用程序調試及分布式剖析(ADDP):識別代碼內(nèi)的缺陷及錯誤的根源,來緩解性能下降問題
- 行為分析:支撐對用戶及應用行為的探索和分類
- 業(yè)務分析:通過統(tǒng)計各項業(yè)務 KPI (如轉化率、棄購率、業(yè)務健康度)來為營銷人員和應用開發(fā)者提供對整個業(yè)務條線的洞察力
- IT 服務和基礎設施監(jiān)控:以類似 SLA、OLA、SLO 的形式為開發(fā)者、DevOps、運維團隊等提供基礎設施、關鍵服務的健康度
- 根因分析:通過 APM 等技術建立問題、原因、影響的關系鏈條,支撐故障修復
- 運行時應用程序自我保護(RASP):在運行時識別易受攻擊的組件并在一定程度上阻止風險請求
以上六大關鍵能力,從包括開發(fā)者、運營者、管理者等多個視角覆蓋了不同角色對可觀測性的要求,在通往因果可觀測性,甚至是 AIOps 的主動式可觀測性的道路上,對上述能力的演進要求,可能會聚焦在以下兩個方面:
(1) 如何更全面的收集數(shù)據(jù),更好的聚合、關聯(lián)數(shù)據(jù),避免數(shù)據(jù)孤島
在鏈路追蹤和性能優(yōu)化等場景下,傳統(tǒng)可觀測系統(tǒng)能提供的數(shù)據(jù)更多在應用層面,而系統(tǒng)、內(nèi)核以及硬件層面的數(shù)據(jù),通常不易獲取,且難以關聯(lián)。通過 eBPF 技術獲取底層棧的信息并與上層棧數(shù)據(jù)進行關聯(lián),這種解決方案逐步貼近了“全棧、全鏈路”的追蹤目標,很可能會成為今后鏈路追蹤的標配。
(2) 如何主動的基于數(shù)據(jù)洞察形成建議,引導人類做出管理決策
收集的數(shù)據(jù)越全面,關聯(lián)越多,數(shù)據(jù)規(guī)模勢必越來越大,目前很多大規(guī)模企業(yè)的觀測數(shù)據(jù)規(guī)模早已超出了人力所能處理甚至理解的程度。今后通過 AI 來幫助人類處理和分析數(shù)據(jù)也許是必然的結果,在以 ChatGPT 為代表的大語言模型日趨成熟的今天,結合企業(yè)自身垂直領域的觀測數(shù)據(jù)進行深度訓練而得到的增強 AI,預計能夠為人類提供更準確和理性的決策。
結語
本文通過介紹《可觀測性成熟度模型》,描述了企業(yè)可觀測性演進的階段性參考。在成熟度模型中,因果可觀測性是指通過建立數(shù)據(jù)之間的相關性來打破數(shù)據(jù)孤島從而建立對數(shù)據(jù)更深層次的認知??梢曰跁r間序列下的拓撲結構變化視圖的方法來實現(xiàn)因果可觀測性。
可以預見,企業(yè)對可觀測性的重視程度會越來越高,未來通過更加成熟的可觀測性能力,企業(yè)不僅能洞察在線服務的運行狀況,還可以支撐商業(yè)分析、精細化成本管理、自動化運維等多種場景的需要。
文章名稱:企業(yè)可觀測性的演進之路
分享地址:http://m.fisionsoft.com.cn/article/djsdhsg.html


咨詢
建站咨詢
