色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > SPINE:高拓展性、用戶友好的自動化日志解析新神器

          SPINE:高拓展性、用戶友好的自動化日志解析新神器

          發(fā)布人:MSRAsia 時間:2022-11-21 來源:工程師 發(fā)布文章
          編者按:在計算機系統(tǒng)與軟件的實踐和研究中,可靠性是至關(guān)重要且經(jīng)久不衰的課題。如何自動化地分析日志所記錄的系統(tǒng)狀態(tài)并讓數(shù)據(jù)“說話” ,受到了廣泛研究。日志解析是自動化日志分析中的關(guān)鍵起步。如何將日志解析應(yīng)用于大規(guī)模復(fù)雜的云環(huán)境往往面臨諸多現(xiàn)實挑戰(zhàn),如數(shù)據(jù)不均衡,數(shù)據(jù)漂移等。
          為了解決這些挑戰(zhàn),微軟亞洲研究院的研究員們提出了支持用戶反饋且具有高可擴展性的日志解析方法 SPINE。該方法被軟件工程領(lǐng)域頂級會議 ESEC/FSE 2022 接收,并榮獲 “杰出論文獎” (ACM SIGSOFT Distinguished Paper Award)。SPINE 是如何提升日志解析效果和性能的呢?讓我們從今天的文章中獲得答案吧!


          圖片微軟亞洲研究院將攜手 ESEC/FSE 2022 合作舉辦 Ada Workshop,點擊上圖鏈接了解詳情


          在云計算時代,軟件系統(tǒng)的可靠性至關(guān)重要,一點小問題就可能引發(fā)蝴蝶效應(yīng),影響百萬用戶。為了了解并保障軟件系統(tǒng)的穩(wěn)定,日志被廣泛用于觀測并忠實記錄系統(tǒng)的內(nèi)部狀態(tài),是分析與解決系統(tǒng)故障的基礎(chǔ)。然而,使用人工分析體量巨大的日志并不現(xiàn)實,因此自動化日志分析日漸興起,而日志解析是關(guān)鍵且基礎(chǔ)的步驟。在實踐中,日志數(shù)據(jù)往往存在著數(shù)據(jù)量巨大、極度不均衡、數(shù)據(jù)漂移且沒有標(biāo)注等問題。為了解決這些問題,并將日志解析真正落實到復(fù)雜的云環(huán)境中,微軟亞洲研究院的研究員們和微軟 Azure 的工程師們提出了支持用戶反饋的大數(shù)據(jù)場景下的日志解析方法 SPINE,并將其落地到了產(chǎn)品線中。


          近日,SPINE 被軟件工程領(lǐng)域的全球頂級會議 ESEC/FSE 2022 接收,并榮獲 “杰出論文獎” (ACM SIGSOFT Distinguished Paper Award)。


          圖片

          論文鏈接:

          https://www.microsoft.com/en-us/research/publication/spine-a-scalable-log-parser-with-feedback-guidance-2/





          ESEC/FSE 大會全稱為 ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) ,與 ICSE、ASE 并列為軟件工程領(lǐng)域三大頂級會議,在學(xué)術(shù)界和工業(yè)界都具有極大的影響力。今年的 ESEC/FSE 大會有效投稿量為449,最終接收99篇,接收率約為22%,會議將于2022年11月14日至18日在新加坡舉辦。


          圖片

          日志解析:智能日志分析的關(guān)鍵核心


          自動化日志分析在近年來逐漸成為研究熱點,例如基于日志的異常檢測、故障診斷、故障預(yù)測等。幾乎所有的自動化日志分析技術(shù),都依賴于日志解析這一關(guān)鍵的前置步驟。經(jīng)過日志解析,將半結(jié)構(gòu)化文本形式的原始日志轉(zhuǎn)換為結(jié)構(gòu)化的日志數(shù)據(jù)之后,下游的各類日志分析任務(wù)才能自動化地執(zhí)行。


          日志解析可從形式上被定義為:從原始日志信息中提取日志模板和日志參數(shù)的任務(wù)。日志信息的主體通常由兩部分構(gòu)成:(1) 模板:描述系統(tǒng)事件的靜態(tài)的關(guān)鍵字,通常為一段自然語言,這些關(guān)鍵字被顯式地寫在日志語句的代碼中。(2) 參數(shù):也稱為動態(tài)變量,是在程序運行期間的某個變量的值。


          圖片

          圖1:日志解析示例


          現(xiàn)階段,大量的自動化日志解析工作致力于準(zhǔn)確高效地分離日志中的模板和參數(shù)部分。盡管這些日志解析器在公開的基準(zhǔn)日志數(shù)據(jù)集上取得了良好成效,但它們在實際應(yīng)用中仍然面臨諸多挑戰(zhàn)。微軟的研究員和工程師們通過在實際工業(yè)環(huán)境中進(jìn)行的大量例證研究,揭示出其中的兩個核心挑戰(zhàn)。


          大規(guī)模、不平衡的日志數(shù)據(jù)


          首先,大多數(shù)現(xiàn)有的日志解析器只能在單線程模式下運行。然而,現(xiàn)實世界的日志數(shù)據(jù)量極為龐大。例如,在例證研究中,僅微軟某個內(nèi)部服務(wù),平均每天就會產(chǎn)出約50億條日志,合每小時約2億條。如此規(guī)模的數(shù)據(jù)量超出了任何單一計算核或節(jié)點的處理能力,尤其難以滿足實時日志分析的需要。


          表面上,日志解析似乎是一項很容易并行化的任務(wù)。然而,工業(yè)實踐中日志數(shù)據(jù)的內(nèi)在不平衡性將大大降低并行化的效率。這促使研究員們設(shè)計一種能夠在多個計算單元上進(jìn)行更有效的橫向擴展的日志解析器。


          圖片

          圖2:不同日志模板下日志數(shù)量分布:X 軸表示模板 ID,Y 軸表示對應(yīng)于該模板的日志數(shù)量(Y 軸為對數(shù)標(biāo)度)。


          日志漂移與解析器的快速適應(yīng)


          另一個挑戰(zhàn)來自于日志伴隨著軟件系統(tǒng)的迭代而不斷發(fā)生變化。研究員們在微軟某內(nèi)部服務(wù)中收集了8周的日志,并計算隨著時間推移而新出現(xiàn)的日志模板的數(shù)量,結(jié)果如圖3所示。由于持續(xù)集成/交付(CI/CD)的開發(fā)范式,日志模板的數(shù)量會隨時間增加,日志解析器也應(yīng)不斷地更新,以適應(yīng)數(shù)據(jù)的漂移,否則解析的準(zhǔn)確度會隨時間流逝而逐漸下降。


          遺憾的是,因為缺少足夠的有標(biāo)簽數(shù)據(jù),現(xiàn)有的日志解析器大多采用無監(jiān)督的方法,例如聚類、頻繁模式挖掘、最長共同子序列提取等來識別日志的公共部分作為模板。這需要大量的人工標(biāo)注來進(jìn)行繁瑣的模型超參數(shù)調(diào)整,并且要求用戶對日志解析方法的內(nèi)部原理極為熟悉。因此,研究員們認(rèn)為日志解析應(yīng)當(dāng)降本增效,盡可能地降低用戶反饋機制的成本,提高用戶體驗,以達(dá)到快速調(diào)整日志解析器參數(shù)的效果。


          圖片

          圖3:新日志模板數(shù)量增加曲線


          圖片

          反饋支持的高擴展日志解析器 SPINE


          針對上述問題,微軟亞洲研究院的研究員們設(shè)計了 SPINE。SPINE 具體分為兩個階段:離線訓(xùn)練階段(紅色箭頭)和在線解析階段(綠色箭頭)。在離線訓(xùn)練階段,SPINE 會基于收集的日志數(shù)據(jù)訓(xùn)練一個初始模型。隨后,在在線解析階段,應(yīng)用訓(xùn)練得到的日志解析模型,處理不斷更新的在線日志數(shù)據(jù)。


          圖片

          圖4:SPINE 模型總體架構(gòu)圖


          SPINE 包含四個核心組件:日志數(shù)據(jù)預(yù)處理(Pre-processing)、初始分組(Initial grouping)、漸進(jìn)式聚類(Progressive clustering)和在線解析(Online parsing)。首先,對原始的日志分詞,并進(jìn)行必要的日志清理。在此之后,初始分組模塊會將日志快速分割成粗粒度的、互不重疊的多個日志組(log group)。再將漸進(jìn)式聚類算法應(yīng)用于每個日志組 ,把相似的日志進(jìn)一步劃分為細(xì)粒度的日志簇(log cluster)。一個日志簇中的日志,可以認(rèn)為誕生于同一個日志打印語句。因此,可以提取其共同的 token 作為模板,將其余部分視為參數(shù)。在線解析階段,SPINE 會將學(xué)習(xí)到的模型應(yīng)用于新到來的日志數(shù)據(jù)?;谶@些日志和模型中已有的日志模版之間的相似度,將其歸屬為最相似的日志簇中,并解析出其模板和參數(shù)。


          SPINE 可以靈活地擴展到多個并行計算單元,以應(yīng)對極大規(guī)模的工業(yè)日志數(shù)據(jù)。為了應(yīng)對工業(yè)日志數(shù)據(jù)的極端不平衡性,研究員們設(shè)計了一種特殊的日志數(shù)據(jù)調(diào)度算法來平衡不同計算單元上的工作負(fù)載,以節(jié)約總體運行時間。此外,SPINE 還設(shè)計了專門的用戶反饋機制來維持在漂移日志數(shù)據(jù)下的解析精度。


          并行化日志數(shù)據(jù)調(diào)度


          在前置步驟中,日志被劃分成不同的日志組。然而,工業(yè)日志數(shù)據(jù)的不平衡性會導(dǎo)致日志的解析時間往往受制于最大的那個日志組。這一挑戰(zhàn)促使了新的調(diào)度算法設(shè)計的誕生,將日志解析任務(wù)更均勻地分配給多個計算單元,以達(dá)到最佳性能。假設(shè)

          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

          網(wǎng)線測試儀相關(guān)文章:網(wǎng)線測試儀原理


          關(guān)鍵詞: AI

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉