云原生時代下,企業(yè)的最終目標是構(gòu)建聯(lián)動、統(tǒng)一的全鏈路觀測體系,為數(shù)據(jù)驅(qū)動決策提供可靠的支撐。
本文我們將從可觀測數(shù)據(jù)治理方法論、復雜軟件架構(gòu)的故障根因定位以及性能瓶頸分析核心方法和處置決策流程三個方面切入,分享云原生時代全鏈路可觀測體系建設(shè)思路。
烏卡時代(VUCA )企業(yè)需要適應(yīng)市場需求變化以及要求,業(yè)務(wù)持續(xù)性創(chuàng)新對企業(yè)技術(shù)架構(gòu)和業(yè)務(wù)架構(gòu)也提出了嚴峻的挑戰(zhàn)。首先,業(yè)務(wù)架構(gòu)需要快速適應(yīng)變化,有效感知用戶/業(yè)務(wù)的行為動態(tài),通過改善業(yè)務(wù)效率、用戶體驗驅(qū)動業(yè)務(wù)發(fā)展;其次,技術(shù)架構(gòu)需要采用適應(yīng)業(yè)務(wù)敏捷迭代和彈性伸縮的微服務(wù)架構(gòu)、云原生架構(gòu),以應(yīng)對業(yè)務(wù)頻繁變更及技術(shù)復雜性造成業(yè)務(wù)連續(xù)性下降的難點問題。
通過引入云原生端到端可觀測體系能夠幫助企業(yè):有效解決故障感知問題,清晰故障定位、精準根因分析、輔助故障處置決策,持續(xù)保障業(yè)務(wù)連續(xù)穩(wěn)定,同時基于多維運維數(shù)據(jù) metric、log、trace的業(yè)務(wù)價值挖掘能有效洞察業(yè)務(wù)變化,提升用戶體驗,驅(qū)動業(yè)務(wù)發(fā)展。本文結(jié)合嘉為在可觀測領(lǐng)域多年實踐針對云原生時代全鏈路觀測體系構(gòu)建方法給出建議、實踐和思考。
01. 可觀測起源及未來發(fā)展方向
1)云原生時代應(yīng)用觀測的難點
數(shù)字化轉(zhuǎn)型的高速發(fā)展,極大地推進了軟件架構(gòu)的迭代更新,從簡至繁經(jīng)歷了單體架構(gòu)-SOA架構(gòu)-微服務(wù)架構(gòu)-服務(wù)網(wǎng)格的演進更新歷程。
隨著云原生時代的到來,應(yīng)用架構(gòu)在落地敏捷開發(fā)、快速迭代、彈性伸縮的同時,將原有的單體應(yīng)用拆分成多個獨立部署、相互通信的組合應(yīng)用,給應(yīng)用運維的故障分析、根因定位、業(yè)務(wù)連續(xù)性穩(wěn)定帶來嚴峻挑戰(zhàn):
① 對象模型激增
單體應(yīng)用拆分微服務(wù)架構(gòu)后,服務(wù)數(shù)量劇增;同時,觀測對象從虛擬機細化到POD、容器級別,實例數(shù)量指數(shù)級增長。
② 信息維度復雜,難以建立多維數(shù)據(jù)關(guān)聯(lián)映射關(guān)系
相對于傳統(tǒng)虛機或宿主機,增加一層網(wǎng)絡(luò)、存儲、虛擬化計算資源,將增加額外的資源屬性及觀測指標;云原生微服務(wù)應(yīng)用涉及多個服務(wù)、多個組件,請求調(diào)用鏈路復雜。
③ 架構(gòu)動態(tài)變化,故障現(xiàn)場難以留存,問題難以定位
基于業(yè)務(wù)快速發(fā)展訴求的頻繁迭代更替,導致服務(wù)、接口、節(jié)點動態(tài)變化;云原生基于聲明式面向終端的設(shè)計思想,自動宕機重啟IP漂移,故障時難以有效的進行故障回溯和資源定位。
2)可觀測與傳統(tǒng)監(jiān)控的區(qū)別
監(jiān)控是可觀測性的一種實現(xiàn)手段,但可觀測遠不止于監(jiān)控。
傳統(tǒng)監(jiān)控體系是面向靜態(tài)資源,通過主動撥測方式構(gòu)建的時序監(jiān)控指標視圖,其前置條件是需要明確對象及觀測指標,基于指標體系,工程師能夠了解哪些系統(tǒng)是確定工作的。
在云原生觀測場景下,指標覆蓋不全、業(yè)務(wù)侵入性大、數(shù)據(jù)關(guān)聯(lián)性差、缺乏基于業(yè)務(wù)視角異常感知機制等問題凸顯,傳統(tǒng)監(jiān)控能力難以適應(yīng)云原生架構(gòu)動態(tài)變化、服務(wù)依賴關(guān)系復雜、信息組織多樣的現(xiàn)實問題,無法從全業(yè)務(wù)流量鏈路上有效定位問題、故障處置不及時,整體業(yè)務(wù)連續(xù)性遇到較大的挑戰(zhàn)。
在此背景下,誕生了云原生觀測體系,通過多維觀測數(shù)據(jù)鏈路trace、時序指標metric、日志明細log,進行有機融合構(gòu)建體系化的觀測體系,通過無侵入采集動態(tài)插碼技術(shù)降低業(yè)務(wù)觀測成本。同時提供豐富的業(yè)務(wù)應(yīng)用視角的觀測手段,包括依賴分析、性能剖析、故障排錯及根因定位等,實現(xiàn)從被動感知到主動觀測、從被動響應(yīng)到主動觀測體系建設(shè)的思維模式轉(zhuǎn)變,從而達到了解已知、防范風險、探索未知的觀測目標。
總結(jié)來說,傳統(tǒng)監(jiān)控可類比中醫(yī),基于脈搏時序檢測依賴人為經(jīng)驗判斷,依賴經(jīng)驗豐富的工程師;可觀測可類比西醫(yī),通過各種觀測手段如RUM、APM、日志、基礎(chǔ)監(jiān)控等,構(gòu)建全量觀測體系白盒診斷,讓醫(yī)生對系統(tǒng)實時進行全面體檢,發(fā)現(xiàn)問題所在。
3)云原生可觀測發(fā)展方向
云原生時代的觀測技術(shù),由單一時序指標數(shù)據(jù)向指標、鏈路、明細多維數(shù)據(jù)關(guān)聯(lián)聯(lián)動過渡,由單一監(jiān)控工具向分布式鏈路追蹤、海量日志檢索、集中告警治理、工程化AI的可觀測體系平臺演進。主要包含四個方面:
① 無侵入低侵入接入
使用字節(jié)碼、ebpf等無侵入或低侵入技術(shù)替換傳統(tǒng)手動可觀測埋點方式,降低觀測接入成本,極大方便可觀測數(shù)據(jù)的接入和平臺推廣。
② 采集能力開源生態(tài)
各頭部廠商將探針接入能力開源,通過開源協(xié)同共建、開放共贏,降低觀測采集插件開發(fā)成本,聚焦上層可觀測數(shù)據(jù)的價值分析。
③ 數(shù)據(jù)協(xié)議標準統(tǒng)一
OpenTelemetry成為事實的云原生觀測標準,開源工具和商業(yè)產(chǎn)品逐步兼容適配OT觀測標準數(shù)據(jù)協(xié)議,實現(xiàn)數(shù)據(jù)接入的標準化簡化遷移適配工作。
④ 以鏈路為中心的全景觀測
觀測分析視角由傳統(tǒng)的資源監(jiān)控,轉(zhuǎn)向以鏈路為核心的上層應(yīng)用觀測,有效感知并快速響應(yīng)、閉環(huán)業(yè)務(wù)異常。
02. 可觀測體系建設(shè)思路
1)可觀測體系建設(shè)路徑
可觀測體系的建設(shè),我們分為五個層級。目前,大多數(shù)企業(yè)都歷經(jīng)了監(jiān)控的前三個層級的建設(shè):L1-局部可用性監(jiān)控、L2-煙囪工具式監(jiān)控、L3-大平臺型監(jiān)控,并且正在向L4-可觀測體系建設(shè)邁進,向L5-智能監(jiān)控方向進行探索。在此過程中,有幾種變化:
2)可觀測體系建設(shè)的三大核心點
在這種變化之下,可觀測就絕不僅僅是一套工具或者一套數(shù)據(jù)組成,而是一個體系化工程,建設(shè)上主要有3個核心點:
核心點1-統(tǒng)一數(shù)據(jù)治理:觀測數(shù)據(jù)建模服務(wù)于觀測場景
面向云原生體系下不同的觀測組件、多維的觀測數(shù)據(jù)的不計其數(shù),如何將不同的觀測組件和觀測數(shù)據(jù)進行有機融合,建立統(tǒng)一觀測模型、構(gòu)建觀測標準,是建立云原生觀測體系首要解決的核心問題。
Peter Bourgon 在2017年2月撰寫了一篇簡明扼要的文章《Metrics,tracing,and logging》,文中將觀測數(shù)據(jù)按數(shù)據(jù)類型和應(yīng)用場景,劃分為鏈路數(shù)據(jù) trace、時序指標數(shù)據(jù) metric、明細日志文本數(shù)據(jù)log,這也是目前可觀測體系三大支柱的理論來源。
鏈路數(shù)據(jù) trace 基于特定標識,提供單筆請求的全量調(diào)用路徑自動構(gòu)建系統(tǒng)運行時軟件架構(gòu),提供清晰排障路徑。
時序指標數(shù)據(jù) metric 是用戶觀測系統(tǒng)狀態(tài)和變化趨勢,基于數(shù)據(jù)波動可有效發(fā)現(xiàn)異常,但無法用于根因定位。
明細日志文本數(shù)據(jù) log 是應(yīng)用運行過程的現(xiàn)場留存,保留完整業(yè)務(wù)執(zhí)行明細,是業(yè)務(wù)排障主要來源。
如何將三者進行有機統(tǒng)一,相互融合打造統(tǒng)一觀測體系,有三個關(guān)鍵點:
核心點2-統(tǒng)一評價標準:以應(yīng)用為中心健康評估
不同維度的觀測數(shù)據(jù)統(tǒng)一接入后,需要對數(shù)據(jù)進行清洗、關(guān)聯(lián)、聚合,構(gòu)建以應(yīng)用為中心,融合trace、metric、log多維數(shù)據(jù)的應(yīng)用性能評價體系,從而基于業(yè)務(wù)視角,統(tǒng)一性能評價標準、主動發(fā)現(xiàn)性能瓶頸、快速感知故障、高效故障恢復,保障應(yīng)用系統(tǒng)連續(xù)穩(wěn)定。
核心點3-觀測處置聯(lián)動:持續(xù)觀測改進閉環(huán)
以應(yīng)用為中心,將性能指標、運行日志、服務(wù)事件、請求鏈路進行統(tǒng)計聚合、關(guān)聯(lián)分析,建立服務(wù)全景觀測中樞,實現(xiàn)服務(wù)性能度量、預(yù)測,提供故障根因及性能分析依據(jù)。
聯(lián)動標準運維能力及AI賦能加持,基于性能觀測度量結(jié)果構(gòu)建清晰運維決策鏈路,聯(lián)動應(yīng)用發(fā)布、故障處置、容災(zāi)演練、服務(wù)治理,構(gòu)建持續(xù)觀測、優(yōu)化改進的雙向閉環(huán)反饋機制,保障系統(tǒng)連續(xù)穩(wěn)定。
03. 嘉為端到端可觀測產(chǎn)品實踐
1)嘉為鯨眼全棧智能可觀測中心
嘉為鯨眼可觀測產(chǎn)品是一款面向企業(yè)IT研發(fā)、運維、業(yè)務(wù)提供的一款領(lǐng)先的端到端體系化全鏈條可觀測產(chǎn)品,覆蓋用戶側(cè)真實體驗分析、后端應(yīng)用性能分析、指標體系建設(shè)、明細日志檢索、海量事件告警的全棧觀測場景,解決用戶體驗度量、業(yè)務(wù)故障感知、清晰故障定位、精準故障告警、高效數(shù)據(jù)檢索等核心問題,全方位滿足客戶及時性、準確性、輔助故障處置決策的可觀測需求。
產(chǎn)品具備以下亮點:
① 標準化
基于觀測場景完成觀測對象模型建模,規(guī)范觀測數(shù)據(jù)采集策略、指標聚合算法、指標檢測策略打通多維觀測數(shù)據(jù)(metric、trace、log)關(guān)聯(lián)映射關(guān)系,無縫對接CMDB構(gòu)建動靜結(jié)合的觀測對象尋址,落地體系化、標準化觀測場景建模方法。
② 一體化
以觀測對象模型為經(jīng)絡(luò)建立從前端用戶體驗分析、后端應(yīng)用性能分析、日志檢索、基礎(chǔ)監(jiān)控、事件告警的業(yè)務(wù)共識統(tǒng)一觀測視圖,無縫聯(lián)動嘉為藍鯨故障自愈、應(yīng)用發(fā)布、容災(zāi)切換等運維處置能力,實現(xiàn)觀測數(shù)據(jù)采集清洗、業(yè)務(wù)異常感知、故障事件告警、根因溯源排障、輔助運維處置決策的觀測處置全生命周期閉環(huán)。
③ 智能化
基于行業(yè)縱深海量數(shù)據(jù)建模構(gòu)建豐富的AIOps智能觀測場景,覆蓋指標異常檢測、資源容量預(yù)估、故障根因分析、專家知識沉淀、日志聚類等智能應(yīng)用場景。
④ 開放融合
兼容開源OpenTelemetry和藍鯨開源PaaS平臺,實現(xiàn)開放數(shù)據(jù)投遞、標準接口對接、自定義插件增強等開放性設(shè)計滿足客戶自主可控、自定義擴展、安全審計合規(guī)要求。此外,單一產(chǎn)品具備獨立交付開放融合能力,支持與現(xiàn)有監(jiān)控、運維工具能力打通。
2)解決方案核心優(yōu)勢
① 觀測體系融合構(gòu)建端到端全景觀測輔助決策分析
② 藍鯨運維生態(tài)融合加速問題處置保障業(yè)務(wù)連續(xù)
發(fā)現(xiàn)問題是解決問題前置條件,基于告警中心可對分層觀測對象全量告警事件進行告警治理(豐富、抑制、處置),通過告警中心作為觀測+運維處置決策橋梁聯(lián)動藍鯨強大運維處置生態(tài)(ITSM、故障自愈、容災(zāi)切換、發(fā)布中心)實現(xiàn)故障高效恢復,有效保證業(yè)務(wù)連續(xù)穩(wěn)定。
CMDB治理:CMDB消費場景規(guī)劃指南
查看詳細
CTest測試管理平臺:上新用例結(jié)構(gòu)化設(shè)計
查看詳細
CCode代碼管理平臺:代碼合并前CI任務(wù)狀態(tài)校驗
查看詳細
嘉為藍鯨WeOps:高效監(jiān)控Kubernetes集群的三大關(guān)鍵點
查看詳細
CFlow價值流管理平臺:從流程線上化到價值可視化,研運黑盒破解之道
查看詳細
CPack制品庫:制品黑白名單,為軟件供應(yīng)鏈安全護航
查看詳細
申請演示