魏 航
(思科系統(tǒng)(中國)網(wǎng)絡(luò)技術(shù)有限公司,北京 100022)
隨著數(shù)字化轉(zhuǎn)型企業(yè)對云計算基礎(chǔ)架構(gòu)依賴程度的提高,融合了大數(shù)據(jù)和人工智能最新發(fā)展的智能運維(AIOps)逐漸成為提高基礎(chǔ)架構(gòu)服務(wù)質(zhì)量的關(guān)鍵[1]。Gartner在AIOps的研究報告[2]中指出,AIOps平臺應(yīng)由監(jiān)測(Observe)、處理(Engage)和行動(Act)三個部分結(jié)合大數(shù)據(jù)和機器學(xué)習(xí)組成一個閉環(huán)結(jié)構(gòu),而監(jiān)測是觸發(fā)整個閉環(huán)反饋的基礎(chǔ)和關(guān)鍵,沒有高質(zhì)量的監(jiān)測,就缺乏人工智能所需的大數(shù)據(jù)基礎(chǔ),因而也無法形成智能化的處理和相應(yīng)的主動運維行為。但在性能飛速提升的數(shù)據(jù)中心,數(shù)據(jù)平面監(jiān)測是一直以來的難點。本文將探討在高速網(wǎng)絡(luò)環(huán)境中進(jìn)行數(shù)據(jù)平面監(jiān)測的方法和發(fā)展趨勢,為智能運維系統(tǒng)的建設(shè)提供參考。
長期以來監(jiān)測數(shù)據(jù)中心網(wǎng)絡(luò)采用的也是傳統(tǒng)網(wǎng)絡(luò)常見的周期輪詢、周期探測、事件觸發(fā)異常告警或事件觸發(fā)主動探測等手段,其共同特點是采用從一個網(wǎng)管中心出發(fā)主動向被管節(jié)點拉取(Pull)數(shù)據(jù)的模式,能夠以最低開銷和可控數(shù)據(jù)規(guī)模收集一個管理模型所需的基本數(shù)據(jù),SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)網(wǎng)管、Syslog、Ping、Traceroute、SLA探針以及流量鏡像分析工具等本質(zhì)上都屬于此類數(shù)據(jù)收集方式。其開銷低、使用廣泛,但缺點是不能展示業(yè)務(wù)流量的全貌,在輪詢周期內(nèi)或是探測包發(fā)送的間隙,都是數(shù)據(jù)收集的盲點;其次以CPU運行軟件的方式,也無法在高速數(shù)據(jù)平面中更密集和更多維度的提供測量,導(dǎo)致在大型云數(shù)據(jù)中心內(nèi)普遍出現(xiàn)的閃斷丟包、流量微突發(fā)、延遲抖動等網(wǎng)絡(luò)異常無法被偵測,累積形成的故障無法預(yù)警和溯源,這都對追求極致體驗的數(shù)字化轉(zhuǎn)型類業(yè)務(wù)構(gòu)成了較大的威脅。
更適合大數(shù)據(jù)平臺的數(shù)據(jù)采集方式不能以某個數(shù)據(jù)采集點為中心構(gòu)建,而應(yīng)當(dāng)充分利用大規(guī)模分布式處理的思維,把從被管節(jié)點被動收集的Pull模式轉(zhuǎn)變?yōu)楸还芄?jié)點主動向收集器推送(Push)數(shù)據(jù)的模式。該模式特點是充分發(fā)揮每個被管節(jié)點本地的處理能力,以更密集的時間粒度和更多維度的管理狀態(tài)把本地信息向外報告,數(shù)據(jù)采集能力隨著數(shù)據(jù)中心規(guī)模的擴(kuò)展同步增長。這種分布式數(shù)據(jù)采集方法也稱為“遙測”(Telemetry)。但即便采用分布式處理后,面對現(xiàn)代數(shù)據(jù)中心高密度、高帶寬的帶內(nèi)數(shù)據(jù)平面的采集需求,仍然面臨處理性能的巨大考驗。因而普遍需要借助被管節(jié)點的大規(guī)模專用集成電路(ASIC),同時在收集和后續(xù)處理上使用由大量服務(wù)器構(gòu)成的大數(shù)據(jù)分布式處理集群。下面將著重探討在被管節(jié)點一側(cè)的遙測技術(shù)。
在數(shù)據(jù)中心場景中被管節(jié)點往往是網(wǎng)絡(luò)交換機,因而為網(wǎng)絡(luò)設(shè)備制定硬件可編程語言標(biāo)準(zhǔn)的開源組織P4(p4.org)對帶內(nèi)網(wǎng)絡(luò)的遙測(In-band Network Telemetry,INT)做了功能分類和定義[3],基本涵蓋了主流的INT技術(shù)實現(xiàn)方式。
“內(nèi)嵌數(shù)據(jù)”(MD)方式是指在用戶帶內(nèi)業(yè)務(wù)數(shù)據(jù)包中內(nèi)嵌管理數(shù)據(jù),這樣當(dāng)數(shù)據(jù)包經(jīng)過各個被管節(jié)點時便把路徑上的狀態(tài)信息附著在數(shù)據(jù)包中。到末端節(jié)點時,全路徑上的管理信息會在數(shù)據(jù)包內(nèi)形成一個逐跳堆疊起來的管理數(shù)據(jù)堆棧,末端節(jié)點再將該數(shù)據(jù)堆棧取出,封裝到連接收集器集群的隧道中完成信息的推送。
在工程實踐中,為避免附加數(shù)據(jù)堆棧給用戶關(guān)鍵業(yè)務(wù)數(shù)據(jù)包帶來額外的處理和轉(zhuǎn)發(fā)延遲,也為避免MTU溢出風(fēng)險和改動業(yè)務(wù)包負(fù)載引起的安全合規(guī)顧慮,往往采用不觸碰原始數(shù)據(jù)包,而是在起始節(jié)點將原始數(shù)據(jù)包的包頭克隆出來形成新包,將逐跳的管理信息附著在新包上。這樣由于包頭相同,新的管理包仍沿與業(yè)務(wù)數(shù)據(jù)包一致的路徑收集信息,達(dá)到與后者收集信息近似的效果。
MD方式的優(yōu)點是獲取了全路徑上最接近用戶實際傳輸狀態(tài)的第一手信息,而且信息載量理論上可以非常大,因而功能強大且可擴(kuò)展。但這種機制也有明顯缺陷,首先網(wǎng)絡(luò)異常出現(xiàn)頻率相比數(shù)據(jù)包轉(zhuǎn)發(fā)頻率相距懸殊,因而逐包攜帶信息的冗余度非常大,大量重復(fù)的數(shù)據(jù)對末端節(jié)點的導(dǎo)出和收集器的分析也是巨大的壓力;但采用抽樣的方式又可能錯過各種突發(fā)和趨勢變化等重要信息;而且也要考慮到數(shù)據(jù)包可能因為安全策略、隊列擁塞等原因被中途丟棄,因而沒有一定程度抽樣密度是達(dá)不到大數(shù)據(jù)所需的數(shù)據(jù)量要求的。
因而MD方式在起始節(jié)點要精心設(shè)計算法,過濾出對業(yè)務(wù)有潛在沖擊、值得逐包監(jiān)控的流,同時對攜帶的信息類型也要做權(quán)衡;在末端節(jié)點還需有復(fù)雜的去重機制以減輕自身和收集系統(tǒng)的壓力,比如通過統(tǒng)計分析算法得出更加明確的異常事件而非將每一個包的全量監(jiān)測信息上報。整個機制增加了網(wǎng)絡(luò)邊緣設(shè)備的資源占用和處理的復(fù)雜性,而邊緣往往是低端接入設(shè)備,硬件成本是極大挑戰(zhàn)。
如果沿業(yè)務(wù)流路徑攜帶的并非管理數(shù)據(jù)本身,而是管理指令(信令),被攜帶數(shù)據(jù)量可大幅縮減,甚至可直接嵌入到用戶數(shù)據(jù)流包頭字段而無需復(fù)制現(xiàn)有數(shù)據(jù)流,這種方式稱為“內(nèi)嵌指令”(MX)。明顯MX對設(shè)備的處理能力和資源要求都較低,但指令必須與設(shè)備自身功能配合,也限制了管理的通用性,因而更多被用于對特定關(guān)鍵指標(biāo)的測量,比如端到端的丟包與延遲。
與傳統(tǒng)Pull模式引入外來探測包的測量方式不同,MX方式通過嵌入指令實現(xiàn)用真實用戶數(shù)據(jù)包作為測量探針,不僅避免引入干擾,也讓數(shù)據(jù)更為真實。常用“周期著色”法,比如每30秒對起始節(jié)點發(fā)出的數(shù)據(jù)包打上特定測量標(biāo)記,同時所有末端節(jié)點對流入的有特定標(biāo)記的包進(jìn)行統(tǒng)計,然后收集器對發(fā)出和收到的標(biāo)記包數(shù)進(jìn)行差值計算,就可精確的確定單位周期真實的丟包數(shù)量。由于不同周期的標(biāo)記不同,所以不同周期的計數(shù)不會因為傳輸延遲而混疊。如果該過程加入了高精度時間同步協(xié)議(PTP),則可在初始節(jié)點和末端節(jié)點驗證時間戳差值而統(tǒng)計出延遲和抖動。
MX方式用較低的開銷實現(xiàn)了全路徑、全流量的測量,但其功能有限,比如丟包延遲的精確位置、原因等信息無法給出。
“輸出數(shù)據(jù)”(XD)方式則力求在開銷和功能之間找到平衡點。XD方式不將管理信息攜帶在每個用戶數(shù)據(jù)包內(nèi),而是由每個被管節(jié)點直接把管理信息推送給收集器。這樣做的優(yōu)勢是將處理分散到所有中間轉(zhuǎn)發(fā)節(jié)點而非集中在起始和末端,每個轉(zhuǎn)發(fā)節(jié)點盡可能簡化處理,比如無須分析大量歷史數(shù)據(jù),而是僅處理一個短時間周期(如1秒)的信息;無須處理端到端全路徑信息,而僅處理本跳局部信息;無須逐包處理,而是對歸并后的流(比如按五元組歸并)處理管理信息,這樣可以大大降低每個節(jié)點的資源占用和處理復(fù)雜度,而全景化的匯總、關(guān)聯(lián)、拼接、分析等工作交給收集器所在的大數(shù)據(jù)集群完成。所以XD理論上可以提供較高的信息載量和靈活的功能擴(kuò)展,卻不過多消耗節(jié)點資源,因而可以在包括低端接入設(shè)備在內(nèi)的全網(wǎng)內(nèi)全時、全量開啟,更具實用價值。
XD也有一些制約,其信息碎片化程度高,大數(shù)據(jù)集群在關(guān)聯(lián)拼接時需要網(wǎng)絡(luò)有預(yù)設(shè)的拓?fù)浠蚓邆銹TP時間戳以便排序;在分類批次設(shè)計中五元組流表與轉(zhuǎn)發(fā)流水線的硬件整合也是難點,一方面需要對關(guān)鍵指標(biāo)完成實時統(tǒng)計、事件觸發(fā)和流表記錄,同時對資源占用和處理性能要求要能適于部署在低端邊緣設(shè)備上,這些都需要更高水準(zhǔn)的硬件芯片設(shè)計來實現(xiàn)。
INT MD功能全面,但對資源和處理性能要求高,商用化多實現(xiàn)在12.8T-25.6Tbps級別的單芯片系統(tǒng)上;INT MX相對輕量化,但功能有限,對系統(tǒng)功能整合度要求高,多實現(xiàn)在廠商特定功能集內(nèi);INT XD做到了功能和開銷的相對平衡,但對芯片設(shè)計要求高,采用不同權(quán)衡策略的芯片功能差異也較大,需要不同企業(yè)在AIOps設(shè)計時根據(jù)需求詳細(xì)考查。從未來發(fā)展上看,通用企業(yè)數(shù)據(jù)中心會偏重將帶內(nèi)遙測通過XD方式實現(xiàn),而運營商和互聯(lián)網(wǎng)企業(yè)在升級到100/200G接入或普遍引入智能網(wǎng)卡之后,會重點考慮MD功能。當(dāng)然工程上的實現(xiàn)并不絕對,不同解決方案會走向某種模式為主、其他模式補充的混合形態(tài),以追求性能、功能與代價的最優(yōu)平衡。