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