背景技術(shù):
復(fù)雜系統(tǒng)的性能可能難以管理、調(diào)查和/或細化。提供計算服務(wù)的云計算平臺是復(fù)雜系統(tǒng)的一個示例。云計算平臺的客戶需要嚴格的性能和可用性要求。為了具有競爭力,云計算平臺需要定期提高服務(wù)質(zhì)量,以滿足客戶的需求。提高服務(wù)質(zhì)量的一個方面是基于跟蹤各種關(guān)鍵性能指標(biāo)來量化性能和可用性。然而,在云計算平臺的情況下,系統(tǒng)可以包括多個獨立開發(fā)的部件,通常在不同的硬件配置和跨多個數(shù)據(jù)中心執(zhí)行。這種異質(zhì)性和系統(tǒng)復(fù)雜性可以使得在系統(tǒng)行為中跟蹤異常的各種關(guān)鍵性能指標(biāo)和異常的診斷兩者困難且昂貴。對系統(tǒng)行為中異常的跟蹤和診斷對于各種復(fù)雜系統(tǒng)和/或操作的管理可能是有益的。
技術(shù)實現(xiàn)要素:
所描述的實現(xiàn)涉及可調(diào)謂詞(predicate)發(fā)現(xiàn)。一個實現(xiàn)被顯示為用于獲得數(shù)據(jù)集合并且確定數(shù)據(jù)集合中感興趣的屬性的異常的異常評分的方法。該方法還可以基于異常評分來產(chǎn)生排序的謂詞列表,并且使得排序列表的至少一個謂詞被呈現(xiàn)。
本發(fā)明內(nèi)容被提供以簡化的形式介紹概念的選擇,這些概念在下面的詳細描述中進一步描述。本發(fā)明內(nèi)容不旨在標(biāo)識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護的主題的范圍。
附圖說明
附圖圖示了本專利中傳達的概念的實現(xiàn)。通過參考結(jié)合附圖的以下描述,可以更容易地理解所示實現(xiàn)的特征。在可行的情況下,使用各種附圖中的類似的附圖標(biāo)記來表示類似的元件。此外,每個附圖標(biāo)記的最左邊的數(shù)字表示首先引入附圖標(biāo)記的附圖和相關(guān)聯(lián)的討論。
圖1和圖2示出了其中可以根據(jù)一些實現(xiàn)使用本概念的示例性系統(tǒng)。
圖3和圖4示出了根據(jù)一些實現(xiàn)的示例謂詞發(fā)現(xiàn)結(jié)果。
圖5示出了根據(jù)一些實現(xiàn)的可以被配置為完成某些概念的示例計算機或計算設(shè)備。
圖6和11-13是根據(jù)一些實現(xiàn)來完成某些概念的流程圖。
圖7-10示出了與根據(jù)一些實現(xiàn)來完成某些概念的算法有關(guān)的圖。
具體實施方式
概述
本討論涉及可調(diào)謂詞發(fā)現(xiàn)。在所公開的實現(xiàn)中,可調(diào)謂詞發(fā)現(xiàn)概念可被實現(xiàn)以發(fā)現(xiàn)標(biāo)識數(shù)據(jù)的異常子集的謂詞(例如,條件,約束)。例如,可調(diào)謂詞發(fā)現(xiàn)概念可用于診斷復(fù)雜系統(tǒng)中的異常,諸如提供計算服務(wù)的云計算平臺。此外,可以選擇(例如,調(diào)整)異常的水平(例如大小)用于診斷。
一般來說,謂詞是其中異常(例如相對于基線的行為變化)發(fā)生的條件和/或約束。在某些情況下,異??赡苁俏⒚畹暮?或難以識別的(例如潛在的故障)。附加地或備選地,系統(tǒng)可能是非常復(fù)雜的和/或包含異構(gòu)部件,潛在地使異常診斷變得非常困難。在所公開的實現(xiàn)中,可調(diào)謂詞發(fā)現(xiàn)可以有效且快速地發(fā)現(xiàn)指示異常的謂詞。在某些情況下,可調(diào)謂詞發(fā)現(xiàn)也可能發(fā)現(xiàn)潛在的重要的但難以檢測的異常,即使對于高度復(fù)雜的系統(tǒng)。例如,可調(diào)謂詞發(fā)現(xiàn)可以回答諸如以下問題:服務(wù)在哪些條件下變得更慢,服務(wù)器更有可能失敗,客戶是否更有可能流失?謂詞的發(fā)現(xiàn)可以允許更快速、更高效的異常的診斷??烧{(diào)謂詞發(fā)現(xiàn)可以為系統(tǒng)管理員提供一個易于可操作的結(jié)果。
在所公開的實現(xiàn)中,可調(diào)謂詞發(fā)現(xiàn)可以應(yīng)用于來自系統(tǒng)的數(shù)據(jù)集合。數(shù)據(jù)集合可以包括系統(tǒng)的屬性和/或性能特征。例如,系統(tǒng)的屬性可以包括系統(tǒng)中的部件的標(biāo)識、位置和/或類型。在云服務(wù)系統(tǒng)的示例中,性能特征可能包括時間、延遲、可靠性、部件可用性、硬件故障、軟件故障、返回碼等。性能特征也可以被視為關(guān)鍵性能指標(biāo)(kpi)。來自系統(tǒng)的數(shù)據(jù)集合還可能包括異常(例如,性能異常)。異??赡芘c系統(tǒng)的屬性和/或性能特征中的一個或多個有關(guān)和/或在其中被證明。
在一些實現(xiàn)中,可調(diào)謂詞發(fā)現(xiàn)可以被認為是用于挖掘服務(wù)日志(例如,云計算服務(wù)日志)以標(biāo)識異常的自動化系統(tǒng)??烧{(diào)謂詞發(fā)現(xiàn)可以包括用于檢測系統(tǒng)行為和/或性能中的潛在重大異常的相對有效的挖掘算法??烧{(diào)謂詞發(fā)現(xiàn)還可以為這些異常提供潛在的解釋,諸如幫助制定關(guān)于所涉及的部件和根本原因的數(shù)據(jù)驅(qū)動假設(shè)。在所公開的實現(xiàn)中,可調(diào)謂詞發(fā)現(xiàn)可能不依賴于用于謂詞發(fā)現(xiàn)和/或異常檢測的顯式監(jiān)督信號。例如,數(shù)據(jù)集合可能不必包括單獨日志中的故障數(shù)據(jù)或異常實例集合。在所公開的實現(xiàn)中,可調(diào)謂詞發(fā)現(xiàn)也可以對異常值是魯棒的。
此外,在所公開的實現(xiàn)中,可調(diào)謂詞發(fā)現(xiàn)可以提供技術(shù)來控制通常與魯棒統(tǒng)計相關(guān)聯(lián)的計算開銷。例如,與可調(diào)謂詞發(fā)現(xiàn)概念一致的算法可以解決由與潛在復(fù)雜系統(tǒng)及其對應(yīng)的計算開銷相關(guān)聯(lián)的搜索空間的大小可能施加的挑戰(zhàn)。
可調(diào)謂詞發(fā)現(xiàn)案例研究
圖1-4共同圖示出可調(diào)謂詞發(fā)現(xiàn)的示例。圖1-2示出了與所公開的實現(xiàn)一致的示例性系統(tǒng)100。圖3-4示出了通過將可調(diào)謂詞發(fā)現(xiàn)概念應(yīng)用于系統(tǒng)100可以獲得的示例結(jié)果。
如圖1所示,系統(tǒng)100可以是包括數(shù)據(jù)中心102(1)和數(shù)據(jù)中心102(2)的云服務(wù)系統(tǒng)。注意,不同的繪圖元素的實例通過括號參考來區(qū)分,例如,102(1)是指與102(2)不同的數(shù)據(jù)中心。當(dāng)共同參考多個繪圖元素時,將不使用括號,例如,數(shù)據(jù)中心102可以指代數(shù)據(jù)中心102(1)或數(shù)據(jù)中心102(2)中的一者或兩者。
系統(tǒng)100還可以包括連接多個實體的網(wǎng)絡(luò)104,包括數(shù)據(jù)中心102、具有監(jiān)視系統(tǒng)108的服務(wù)器操作中心106、具有可調(diào)謂詞發(fā)現(xiàn)(tpd)部件112的診斷設(shè)備110和/或具有應(yīng)用接口116的客戶端設(shè)備114。
網(wǎng)絡(luò)104可以包括各種有線和/或無線網(wǎng)絡(luò)及其組合。例如,網(wǎng)絡(luò)104可以包括公共因特網(wǎng)以及連接圖1所示的任意設(shè)備/數(shù)據(jù)中心的各種專用網(wǎng)絡(luò)或其部分。為了下面的討論的目的,網(wǎng)絡(luò)104在設(shè)備和/或共享信息的數(shù)據(jù)中心之間提供連接性通常是足夠的。
在圖1所示的示例中,客戶端設(shè)備114可以通過經(jīng)由網(wǎng)絡(luò)104與數(shù)據(jù)中心102(1)或數(shù)據(jù)中心102(2)進行通信來與應(yīng)用程序118進行交互。應(yīng)用接口116可以包括用于與應(yīng)用通信的邏輯,例如格式化功能、顯示功能等。例如,客戶端設(shè)備114可以由希望使用由應(yīng)用可用的各種特征的最終用戶采用。將相對于圖2進一步討論數(shù)據(jù)中心102的示例配置。
服務(wù)器操作中心106通??梢园ㄒ粋€或多個服務(wù)器設(shè)備,其被配置為針對性能特征和/或網(wǎng)絡(luò)問題監(jiān)視各個數(shù)據(jù)中心102。監(jiān)視系統(tǒng)108可以監(jiān)視整個系統(tǒng)100和/或各個部件的可靠性。例如,監(jiān)視系統(tǒng)可以在服務(wù)器設(shè)備(圖2)上執(zhí)行以監(jiān)視數(shù)據(jù)中心102(1)和102(2)。監(jiān)視系統(tǒng)還可以收集數(shù)據(jù)集合中的信息,諸如服務(wù)日志。
圖2更詳細地示出了系統(tǒng)100,具體示出了數(shù)據(jù)中心102(1)的示例性數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)。在這種情況下,數(shù)據(jù)中心102(1)包括諸如入侵檢測和預(yù)防系統(tǒng)(idps)200、核心路由器202、虛擬專用網(wǎng)(vpn)204、接入路由器206、防火墻208、負載均衡器210、聚合交換機212、機頂盒(tor)交換機214和/或服務(wù)器218的機架216的設(shè)備或部件。系統(tǒng)100還可以包括各種其他部件,例如風(fēng)扇220,其可以在機架216和/或服務(wù)器218中。請注意,機架216、服務(wù)器218和風(fēng)扇220中的僅一個被指定和/或示出,以避免繪圖頁上的混亂。系統(tǒng)100的部件可以通過由圖2中的連接線表示的網(wǎng)絡(luò)連接。此外,在一些情況下,服務(wù)器218可以被認為是集群222(1)或集群222(2)的一部分。
一般來說,云服務(wù)提供商感興趣的關(guān)鍵性能指標(biāo)(kpi)的一個示例是延遲(例如延時)。例如,延遲可以指代部署虛擬機的請求延遲。為了本文檔的目的,延遲可以表示為百分位數(shù),這可能有助于避免從可能使用平均值發(fā)展的異常值偏離。請注意,kpi可能涉及引起系統(tǒng)100中性能異常的各種硬件和/或軟件問題中的任意一個,諸如故障、錯誤配置、協(xié)議錯誤、環(huán)境問題或其他故障。
作為示例,為了說明的目的,假設(shè)監(jiān)視系統(tǒng)108觀察數(shù)據(jù)中心102(1)的集群222(1)中的延遲回歸。在這個示例中,延遲回歸對于云服務(wù)操作是重要的,其中在第70百分位數(shù)處的延遲從7分鐘增加到34分鐘。隨后,在該示例中,監(jiān)視系統(tǒng)在數(shù)據(jù)中心102(1)的集群222(2)中觀察到類似的延遲回歸。
在這種情況下,tpd部件112可以利用由監(jiān)視系統(tǒng)108獲得的信息來診斷系統(tǒng)100的性能問題??梢詫碜韵到y(tǒng)的信息的調(diào)查視為數(shù)據(jù)挖掘。tpd部件可以標(biāo)識來自系統(tǒng)的信息中的和性能異常發(fā)生的謂詞中的性能異常。在這種情況下,輸出可調(diào)謂詞發(fā)現(xiàn)的示例結(jié)果,如圖3和圖4所示的圖。
圖3示出了來自tpd部件112(圖2)的第一示例謂詞發(fā)現(xiàn)輸出結(jié)果300。圖3示出了在302處指示的基線(例如,基線延遲)。圖3還示出了在304處指示的異常,其在這種情況下是在基線延遲上方的異常延遲增加。圖3提供了用于異常延遲增加的謂詞306,被示為“服務(wù)器ip=a.x.y.z.”。在這種情況下,具有ip地址“a.x.y.z”的服務(wù)器218(圖2)與相應(yīng)的基線延遲上的異常延遲增加相關(guān)。換句話說,謂詞306指定正在經(jīng)歷增加的延遲的集群222(1)(圖2)內(nèi)的單個服務(wù)器218(圖2)。
類似地,圖4圖示了來自tpd部件112(圖2)的第二謂詞發(fā)現(xiàn)輸出結(jié)果400。圖4包括基線402(基線延遲)和在基線之上的異常404(異常延遲增加)。圖4還包括具有值“2147023436”的返回碼謂詞406。謂詞406與異常404相關(guān),異常延遲在相應(yīng)的基線延遲上方增加。在該示例中,返回代碼值涉及由于在服務(wù)器218(圖2)處的超時而導(dǎo)致的操作系統(tǒng)(未示出)預(yù)取失敗。
在上面相對于圖1-4介紹的示例中,首先在集群222(1)中和隨后在集群222(2)中應(yīng)用了bios更新。bios更新導(dǎo)致在某些情況下風(fēng)扇220轉(zhuǎn)速較低,導(dǎo)致冷卻不足,最終導(dǎo)致高溫。高溫導(dǎo)致服務(wù)器218的cpu節(jié)制時鐘速度以減少熱量輸出。因此,cpu利用率不能達到100%的目標(biāo),這導(dǎo)致了觀察到的延遲。在這種情況下,性能異常(例如304、404)并不直接與代碼簽入相關(guān)聯(lián),所以性能異常僅出現(xiàn)在對特定數(shù)據(jù)中心102特有的風(fēng)扇配置中,并且回歸具有不尋常的原因。這些因素可能導(dǎo)致觀察到的性能異常難以通過傳統(tǒng)方法診斷。然而,tpd部件112可以諸如通過圖3和圖4所示的示例謂詞發(fā)現(xiàn)結(jié)果300和400來提供高效的診斷。
此外,在一些實現(xiàn)中,可以使用來自用戶的診斷級別選擇來調(diào)整謂詞發(fā)現(xiàn)。在某些情況下,調(diào)整可以用計算資源來交換所診斷的異常的質(zhì)量。例如,用戶可以選擇將附加的計算資源分配給可調(diào)謂詞發(fā)現(xiàn)以找到相對較小的性能異常。備選地,用戶可以選擇將更少的計算資源分配給可調(diào)謂詞發(fā)現(xiàn),以將診斷限制于更顯著的性能異常。如圖3的示例所示,具有ip地址“a.x.y.z”的服務(wù)器218(圖2)在50%百分位數(shù)處顯示出大約500秒的增加的延遲。在某些情況下,可以通過指定更大或更小的性能異常的診斷(例如1000秒、200秒等)來調(diào)整可調(diào)謂詞發(fā)現(xiàn)。
注意,系統(tǒng)100中示出的各種設(shè)備關(guān)于可由系統(tǒng)100的操作中的設(shè)備執(zhí)行的邏輯角色被圖示在圖1和圖2中。然而,各種設(shè)備的地理位置不需要被系統(tǒng)100反映。例如,數(shù)據(jù)中心102(1)和/或102(2)可以與服務(wù)器操作中心106和/或診斷裝置110組合。作為另一示例,tpd部件112和/或監(jiān)視系統(tǒng)108可以在單獨的數(shù)據(jù)中心內(nèi)的一個或多個設(shè)備上(諸如在一個或多個機架(例如,機架216)上)實現(xiàn)。而且,集群222可以以各種方式布置。例如,服務(wù)器集群可能不包括機架216上的所有服務(wù)器。此外,集群可以包括來自多個機架的單個和/或多個服務(wù)器、數(shù)據(jù)中心等。另外,本文中關(guān)于特定設(shè)備或設(shè)備描述的功能可以分布在多個設(shè)備上或組合在單個設(shè)備上。
此外,請注意,圖1將服務(wù)器操作中心106圖示為多個服務(wù)器設(shè)備,而診斷設(shè)備110和客戶端設(shè)備114被圖示為單獨的計算設(shè)備。這反映了一個特定實現(xiàn),并且其他實現(xiàn)經(jīng)由多個設(shè)備可以提供如本文所討論的特征功能和/或客戶端功能。同樣地,本文所討論的服務(wù)器操作中心和/或數(shù)據(jù)中心功能可以由各個設(shè)備執(zhí)行。
另外請注意,實際上,可以存在本文提及的每個計算設(shè)備的附加的實例,例如附加的分析設(shè)備、服務(wù)器操作中心、客戶端設(shè)備和數(shù)據(jù)中心。如下面更詳細地討論的,圖1所示的每個計算設(shè)備可以包括執(zhí)行存儲在一個或多個計算機可讀存儲介質(zhì)(諸如易失性存儲器或非易失性存儲器、光盤、硬盤、閃存等)上的指令的一個或多個處理設(shè)備,諸如計算機處理器。
雖然上述示例包括從云計算日志等獲得的數(shù)據(jù)挖掘和處理數(shù)據(jù),但是可調(diào)謂詞發(fā)現(xiàn)概念可以應(yīng)用于在其上期望一些分析處理的其他大型數(shù)據(jù)集合。如將理解的,該技術(shù)推廣到可能需要魯棒統(tǒng)計的其他領(lǐng)域中的分析任務(wù)。因此,本發(fā)明不限于本文所描述的任意特定實現(xiàn)、方面、概念、結(jié)構(gòu)、功能和/或示例。相反,本文描述的實現(xiàn)、方面、概念、結(jié)構(gòu)、功能和/或示例中的任意一個是非限制性的,并且本發(fā)明可以以在數(shù)據(jù)挖掘、分析、云計算數(shù)據(jù)中心、和/或通常的分布式計算系統(tǒng)中提供益處和優(yōu)點的各種方式來使用。
特定tpd部件實現(xiàn)
圖5示出了體現(xiàn)在診斷設(shè)備110上的tpd部件112。診斷設(shè)備是可被配置為完成某些概念的系統(tǒng)的一個示例,如下面更詳細地討論的。在這種情況下,診斷設(shè)備被圖示為臺式計算機。術(shù)語“計算機”或“計算設(shè)備”可互換使用,并且如本文所使用的可以意指具有一定量處理能力的任意類型的設(shè)備。雖然為了說明的目的圖示出計算機的具體示例,但是這樣的計算機的其他示例可以包括傳統(tǒng)的計算設(shè)備,諸如個人計算機、相對于圖1-2引入的任意設(shè)備的任意一個、蜂窩電話、智能電話、個人數(shù)字助理、或無數(shù)不斷演進或尚未開發(fā)的設(shè)備類型中的任意一個。此外,系統(tǒng)可以表現(xiàn)在單個計算設(shè)備上或分布在多個計算設(shè)備上。
在這種情況下,診斷設(shè)備110可以包括應(yīng)用層502、操作系統(tǒng)層504和硬件層506。除了其它配置之外,tpd部件112可以被表現(xiàn)為應(yīng)用層502的程序或應(yīng)用。在該示例中,tpd部件可以包括調(diào)整模塊508、謂詞列表模塊510和輸出模塊512。tpd部件可以處理通過監(jiān)視系統(tǒng)108在網(wǎng)絡(luò)104上提供的數(shù)據(jù),例如服務(wù)日志。備選地,監(jiān)視系統(tǒng)108可以用數(shù)據(jù)填充數(shù)據(jù)庫522,并且tpd部件可以處理數(shù)據(jù)庫中的數(shù)據(jù)。
硬件層506可以包括處理器514、存儲裝置/存儲器(例如,一個或多個計算機可讀存儲介質(zhì))516、顯示設(shè)備518和/或各種其它元件。例如,其他元件可以包括輸入/輸出設(shè)備、光盤讀取器、usb端口等。
處理器514可以執(zhí)行計算機可讀指令以提供諸如tpd部件功能的功能。數(shù)據(jù)和/或計算機可讀指令可以存儲在存儲裝置/存儲器516上和/或從諸如光學(xué)存儲設(shè)備520的其它源接收。存儲裝置/存儲器516可以包括易失性存儲設(shè)備或非易失性存儲設(shè)備、硬盤驅(qū)動存儲設(shè)備、閃存存儲設(shè)備(例如,記憶棒或存儲卡)和/或光學(xué)存儲設(shè)備(例如,cd、dvd等)等。
作為診斷裝置110的所圖示的配置的備選方案,計算機可以采用芯片(soc)型系統(tǒng)設(shè)計。在這種情況下,由計算機提供的功能可以集成在單個soc或多個耦合的soc上。例如,計算機可以包括共享資源和專用資源。接口可以促進共享資源和專用資源之間的通信。顧名思義,專用資源可以被認為包括專門用于實現(xiàn)特定功能的個體部分。共享資源可以是可以由多種功能使用的存儲裝置、處理單元等。
通常,本文所描述的任意功能可以使用軟件、固件、硬件(例如,固定邏輯電路)或這些實現(xiàn)的組合來實現(xiàn)。本文使用的術(shù)語“引擎”、“工具”、“部件”或“模塊”通常表示軟件、固件、硬件,整個設(shè)備或網(wǎng)絡(luò)、或其組合。例如,在軟件實現(xiàn)的情況下,這些可以表示當(dāng)在處理器(例如一個或多個cpu)上執(zhí)行時執(zhí)行指定任務(wù)的程序代碼。程序代碼可以存儲在一個或多個計算機可讀存儲裝置/存儲器設(shè)備中,諸如計算機可讀存儲介質(zhì)。部件的特征和技術(shù)是平臺無關(guān)的,這意味著它們可以在具有各種處理配置的各種商業(yè)計算平臺上實現(xiàn)。
如本文所使用的,術(shù)語“計算機可讀介質(zhì)”和“計算機可讀媒介”可以包括信號和硬件。相比之下,術(shù)語“計算機可讀存儲介質(zhì)”和“計算機可讀存儲媒介”不包括信號。計算機可讀存儲介質(zhì)可以包括“計算機可讀存儲設(shè)備”。計算機可讀存儲設(shè)備的示例包括諸如ram的易失性存儲介質(zhì)以及諸如硬盤驅(qū)動器、光盤和閃存等的非易失性存儲介質(zhì)。
在一些實現(xiàn)中,調(diào)整模塊508可被配置為針對tpd部件112正在調(diào)查的數(shù)據(jù)集合執(zhí)行與調(diào)整謂詞發(fā)現(xiàn)相關(guān)的功能。例如,調(diào)整模塊可以從調(diào)整謂詞發(fā)現(xiàn)的用戶接收輸入。在某些情況下,用戶輸入可以被認為是診斷級別選擇。以上關(guān)于圖3討論的與調(diào)整相關(guān)的用戶輸入的一些示例,包括一定量的計算資源和/或性能異常的大小。用戶輸入還可以包括用于測量異常的基線值。備選地,在一些情況下,調(diào)整模塊可以將基線確定為跨數(shù)據(jù)集合的分布。在另一示例中,用戶輸入可以包括分配給謂詞發(fā)現(xiàn)的時間量。
對調(diào)整模塊508的用戶輸入的另一示例可以包括用戶指定數(shù)據(jù)集合的多少屬性,謂詞發(fā)現(xiàn)過程應(yīng)當(dāng)對數(shù)據(jù)集合的多少屬性進行反應(yīng)。例如,用戶可以要求tpd部件112對涉及數(shù)據(jù)集合的兩個或多個屬性(例如,數(shù)據(jù)表的兩列或多列、數(shù)據(jù)表的兩個以上行等)的異常進行反應(yīng)。在另一實例中,用戶可以指定tpd部件對影響系統(tǒng)比閾值時間量更長和/或多于閾值百分比時間的異常進行反應(yīng)。
在一些實現(xiàn)中,調(diào)整模塊508可以考慮資源的可用性來調(diào)整謂詞發(fā)現(xiàn)。例如,調(diào)整模塊可以獲得與當(dāng)前可用資源以及基于可用資源的自動調(diào)整謂詞發(fā)現(xiàn)相關(guān)的輸入。在另一示例中,調(diào)整模塊可以基于資源可用性的時間差異來調(diào)整謂詞發(fā)現(xiàn)過程的定時。例如,調(diào)整模塊可以延遲謂詞發(fā)現(xiàn)過程,以便在另一時間使用計算資源。
在一些實現(xiàn)中,謂詞列表模塊510可以被配置為執(zhí)行與tpd部件112正在調(diào)查的數(shù)據(jù)集合的列表謂詞相關(guān)的功能。列出謂詞可以包括識別異常并發(fā)現(xiàn)與異常相關(guān)聯(lián)的謂詞。數(shù)據(jù)集合可以被認為是對謂詞列表模塊的輸入的示例。對謂詞列表模塊的其他輸入可以包括針對tpd部件的感興趣屬性(例如,關(guān)鍵性能指標(biāo))的用戶選擇以便以異常檢測(例如延遲)為目標(biāo)。在某些情況下,感興趣的屬性可以由數(shù)據(jù)表中的列表示。謂詞列表模塊可以使用可調(diào)謂詞發(fā)現(xiàn)技術(shù)來調(diào)查感興趣的屬性如何隨著時間和/或在哪個條件下改變。當(dāng)謂詞列表模塊從基線發(fā)現(xiàn)感興趣的屬性的行為中的顯著變化(換句話說是異常)時,謂詞列表模塊可以確定該異常的相關(guān)聯(lián)的謂詞(條件),其標(biāo)識具有顯著改變的異常子集。謂詞可以在除表示感興趣屬性的列之外的數(shù)據(jù)表中的列中表明。請注意,數(shù)據(jù)表可以包含數(shù)值和/或非數(shù)值條目。例如,謂詞可以包括數(shù)據(jù)中心的名稱或縮寫。
在一些情況下,謂詞列表模塊510可以從調(diào)整模塊508接收信息,諸如要識別的異常的大小。謂詞列表模塊還可以被配置為執(zhí)行與生成異常評分和/或使用異常評分來對異常進行排序相關(guān)的功能。謂詞列表模塊執(zhí)行的功能將在下面關(guān)于圖6-10進一步描述,其包括可用于謂詞發(fā)現(xiàn)、評分等的特定技術(shù)和/或算法。
在一些實現(xiàn)中,輸出模塊512可被配置為執(zhí)行與輸入到調(diào)整模塊508和/或謂詞列表模塊510和/或從調(diào)整模塊508和/或謂詞列表模塊510輸出有關(guān)的功能。例如,在一些情況下,輸出模塊可向用戶呈現(xiàn)圖形用戶界面(gui),用于顯示與調(diào)整謂詞發(fā)現(xiàn)和/或診斷級別選擇有關(guān)的信息的目的。例如,信息可以包括用于識別的異常的大小的預(yù)設(shè)值和/或起始值。gui可以用于從用戶收集可以由調(diào)整模塊使用的輸入。例如,用戶可以經(jīng)由gui輸入與調(diào)整謂詞發(fā)現(xiàn)有關(guān)的參數(shù)。輸出模塊還可以執(zhí)行與輸出謂詞發(fā)現(xiàn)結(jié)果有關(guān)的功能,諸如異常和/或謂詞的識別和/或列表、與謂詞相關(guān)聯(lián)的異常的大小的指示(例如,異常評分)、異常和相關(guān)謂詞的排序列表、包括謂詞的圖形顯示等。在一個示例中,輸出可以類似于圖3和圖4中的結(jié)果300和400所示的圖形和相關(guān)文本。在另一示例中,輸出模塊可以輸出落入從用戶接收的診斷等級選擇內(nèi)的異常和相關(guān)謂詞的排序列表。在某些情況下,系統(tǒng)管理員或分析人員可以查看可調(diào)整謂詞發(fā)現(xiàn)結(jié)果,以確定要跟進的哪些結(jié)果。
在圖5的示例中,輸出模塊512可以根據(jù)從謂詞列表模塊510獲得的結(jié)果來生成圖形用戶界面(gui)524。gui524圖示了基線526,在這種情況下基線部署時間,和異常528,在這種情況下增加的部署時間。gui524還示出與增加的部署時間相關(guān)聯(lián)的兩個謂詞530,“os版本=2.176”和“時間>10/11/13,13:11:45”。換句話說,在圖5所示的示例中,tpd部件112已經(jīng)確定在2013年10月11日13:11:45之后某個代碼改變(例如,操作系統(tǒng)版本2.176)有助于增加的部署時間。在該示例中,tdp部件能夠使用來自監(jiān)視系統(tǒng)108的數(shù)據(jù)集合來發(fā)現(xiàn)虛擬機(vm)部署的持續(xù)時間內(nèi)的顯著增加所引起的謂詞530(例如,代碼改變、定時)。tdp部件不僅檢測到異常528,而且還標(biāo)識增加的部署時間對包括os版本2.176在內(nèi)的謂詞最為明顯,并在“10/11/1313:11:45”之后開始。使用謂詞,開發(fā)人員然后可以調(diào)查在指定的時間點附近與操作系統(tǒng)相關(guān)的代碼更改。
總而言之,上面和下面描述了可以由tpd部件112提供的幾個特征。這些特征可以包括調(diào)整謂詞發(fā)現(xiàn)過程。另一特征可以包括標(biāo)識數(shù)據(jù)異常子集的謂詞的發(fā)現(xiàn)。下面更詳細討論的另一特征可以涉及對異常進行評分和排序。
示例可調(diào)整謂詞發(fā)現(xiàn)技術(shù)
圖6圖示了示例可調(diào)整謂詞發(fā)現(xiàn)方法600??梢躁P(guān)于提供魯棒的診斷以檢測例如在云服務(wù)中的性能異常來使用方法600。
在這種情況下,在框602,云服務(wù)可以輸出可能被認為(或轉(zhuǎn)換為)表的云數(shù)據(jù),諸如日志等。在框604,數(shù)據(jù)可以經(jīng)由數(shù)據(jù)挖掘引擎以各種算法的形式被挖掘。例如,數(shù)據(jù)挖掘可以例如在框606處提供數(shù)據(jù)集合表(例如,表、數(shù)據(jù)集合)。在框608,以各種其他算法的形式的分析處理可以將數(shù)據(jù)集合表處理成結(jié)果,在方框610處,其可用于檢測異常。所檢測的異常和/或相關(guān)聯(lián)的謂詞可以依次用于診斷問題并且確定關(guān)于異常的解決方案。
作為示例,考慮包括表示虛擬機部署數(shù)據(jù)的列的表,其包括集群名稱(例如,部署位置)、時間、操作系統(tǒng)版本和延遲。對異常進行評估的興趣的屬性可以是延遲,因為虛擬機部署延遲問題可能是顯著的。例如,在特定時間在特定地點特定操作系統(tǒng)關(guān)于部署延遲是有問題的發(fā)現(xiàn)提供有價值的信息。然而,請注意,所檢測的異??赡苁怯幸娴?。例如,在延遲持續(xù)時間中相對于給定基線的顯著提高可以指示基線本身具有潛在的太高的延遲(并且因此例如某些變化可能已經(jīng)修復(fù)了先前未被標(biāo)識的錯誤)。備選地或附加地,包括在數(shù)據(jù)表中的元素和/或感興趣的屬性可以包括各種項目中的任意一個,諸如在群集中的事件失敗的錯誤率、錯誤消息的分布、消耗多少能量等等。
一般而言,云服務(wù)可以使用一些形式的測量基礎(chǔ)設(shè)施,其以適當(dāng)?shù)男问绞占途幾g遙測信息用于進一步的分析。為了簡單起見,假設(shè)遙測信息可以維持在具有屬性a1,...,ak的單個關(guān)系r中。該關(guān)系中的每個元組可以對應(yīng)于特定動作的單個測量。該屬性集合可以被劃分成兩個不重疊的集合ae和am,使得ae包含描述執(zhí)行動作的系統(tǒng)環(huán)境的屬性集合,并且am包含各自對應(yīng)于性能指標(biāo)的屬性集合。這種關(guān)系的示例如下表1所示:
表格1
該關(guān)系中的每個元組可以包含與產(chǎn)生新的虛擬機有關(guān)的信息。對于此關(guān)系,集合ae包括屬性時間戳(時間)、虛擬機類型(vm類型)和數(shù)據(jù)中心位置(數(shù)據(jù)中心),并且集合am包含延遲屬性(延遲)。
關(guān)于異常,∑(ri,ai)可以是在關(guān)系r中所有元組的屬性值ai上計算的一些統(tǒng)計特性(例如,中位數(shù))。給定特定屬性ai∈am上的這樣的統(tǒng)計特性,異??梢允菧y量的子集
關(guān)于魯棒性,可以使用魯棒聚合。例如,對于任意子集s=σθ(r),其中σ是關(guān)系選擇運算符,s與r關(guān)于一個特定性能指標(biāo)
關(guān)于“評分函數(shù)”,作為評分函數(shù)的一部分的魯棒聚合可用于量化異常s關(guān)于下方基線分布的異常的影響。為了簡單起見,r用作基線集合;然而,當(dāng)基線被單獨指定時(例如,作為上個月的測量),該方法可以完全相同地工作。影響可以根據(jù)針對給定的性能指標(biāo)屬性am在s和r之間的分配中的變化來測量。
在一個實現(xiàn)中,評分函數(shù)可以將三個參數(shù)(r,s,am)作為輸入,并且可以輸出用于對異常進行排序的個體數(shù)。每個評分函數(shù)可以量化影響的至少兩個方面,包括(a)根據(jù)am(的分布)的變化異常如何不同,以及(b)操作/對象的多少實例受到異常的影響。請注意,這兩個因素可以相互折衷,因為如果異常中包含更多的點,則分布中的變化較小,反之亦然。覆蓋r中所有點的異常將進而具有基線分布,因此根本不顯示任意變化。
為了量化am中的偏差,可以使用魯棒聚合函數(shù)σr來計算s中所有項目以及基線r中的所有項目上的屬性的聚合am。隨后,異常程度可以被測量為這兩個值之間的差值;該差異可以使用符號σr(s,am)~σr(r,am).來表示。注意,σr的選擇以及適當(dāng)?shù)牟罘诌\算符~取決于場景和感興趣屬性的類型。當(dāng)a是數(shù)值類型時,σr通常是百分位數(shù),并且~是它們之間的絕對差。另一方面,對于非數(shù)值分類屬性(例如錯誤代碼或失敗函數(shù)調(diào)用的名稱),例如可以使用kl-發(fā)散(概率分布之間的距離的度量)。這里,可以在基線集合(r)和異常子集(s=σθ(r))中的am的值的概率分布am之間計算發(fā)散。注意,kl-發(fā)散是默認的魯棒措施,因為每個單獨的項目不能不成比例地改變總體概率分布。
為了量化多少個操作/對象的實例受異常影響,可以使用s的大小的s函數(shù),其實際上這是自然對數(shù)|s|,給出以下評分函數(shù):
f(r.s,am):=(σr(s,am)~σr(r,am))×log|s|)
其中(σr(s,am)~σr(r,am))人基線偏離,并且log|s|因子受實例的數(shù)量的影響。請注意,s的大小(直接使用|s|相反)的對數(shù)使用有利于導(dǎo)致與基線較大偏差(但較少數(shù)量的實例)的異常。盡管如此,當(dāng)在一些修改之后|s|的其他函數(shù)被用于量化實例的數(shù)量的影響時,本文描述的算法也是適用的。
另一種技術(shù)是多樣性,其中為了避免為相同異常提供多個類似的解釋或為相同的異常測量集合提供多種解釋,可以將多樣性的概念納入到挖掘任務(wù)中。例如,兩個謂詞
雖然多樣性可以是用戶定義的,但是本文解釋了簡單和有意義的多樣性函數(shù)??紤]在相同的環(huán)境屬性ae上定義的兩個原子謂詞θ1和θ2。如前所述,多樣性的概念旨在捕捉兩種謂詞之間的重疊程度。雖然存在測量這種重疊的多個度量,諸如
相同的原理可以類推到由許多原子謂詞的連接定義的異常。對于這種多謂詞異常,僅謂詞的一個子集也會引起相對較高的評分異常是可能的??紤]以下情況,使用示例“構(gòu)建版本2.17”:如果使用版本2.17的所有部署具有異常高的延遲,則可能使用構(gòu)建版本2.17并被部署在群集xyz上的部署子集也將顯示高延遲。因此,除了延遲尖峰對于集群xyz是特定的,除了原始異常[構(gòu)建=2:17]之外呈現(xiàn)異常[版本=2:17∧集群=xyz]不傳遞附加信息并且可以避免以減少冗余處理。從以上概括來看,多原子謂詞的多樣性的默認概念可以定義如下。讓
示例可調(diào)謂詞發(fā)現(xiàn)算法
在本節(jié)中,將描述可用于可調(diào)謂詞發(fā)現(xiàn)概念的示例算法。具體地,示例算法可以用于上面介紹的多種異常挖掘任務(wù)。在一些實現(xiàn)中,算法可以提取標(biāo)識測量日志r的最高k個最高評分的不同異常的謂詞。用于標(biāo)識異常的算法可以由ae中的單個屬性上的原子謂詞來定義,被稱為樞軸屬性。還包括具有針對多個樞軸屬性的異常的算法。
用于挖掘異常的特定算法可以取決于樞軸屬性的類型(例如,感興趣的屬性)。具有超過值的固有順序的樞軸屬性(諸如數(shù)值和日期時間數(shù)據(jù)類型)可以稱為有序樞軸。備選地,從某個域枚舉值(諸如集群名稱和操作系統(tǒng)版本)的屬性可以稱為分類樞軸。
對于有序的樞軸,可以提取
在這種情況下,請注意,am表示要檢測到異常上的性能指標(biāo),ae表示樞軸屬性,并且θij表示針對范圍謂詞
單樞軸異??梢允褂檬纠惴?:用于有序樞軸的詳盡算法(例如,樸實
算法1.用于標(biāo)識有序樞軸上的異常的窮舉算法可以通過樞軸屬性對項目進行排序,然后對每一對起點和終點內(nèi)的項目子集進行評分。該算法的計算復(fù)雜度可以取決于計算評分函數(shù)的成本。對于基于中位數(shù)的評分函數(shù),這個成本可以是o(|σθ(r)|),其中σ解釋正在評分的異常。然而,確定給定針對θij的中位數(shù)的間隔θi(j+1)的中位數(shù)的成本可以通過保持包括最大堆和最小堆的兩個堆的間隔的中位數(shù)逐漸增加而減少到
算法2.網(wǎng)格細化可以表現(xiàn)為提供了一種有原理的方法為了效率來潛在地折中挖掘異常的“準(zhǔn)確性”的算法。該算法不是返回潛在的最高評分異常,而是該算法可以返回其評分可能在最高評分異常的因子α(例如α=0.9)內(nèi)的異常。作為回報放寬評分約束,該算法在實踐中可以更快地執(zhí)行幅度級。如果期望更好的評分,α可能會增加。該算法看到的加速是利用在云診斷環(huán)境中看到的數(shù)據(jù)分布中通常發(fā)現(xiàn)的屬性的結(jié)果。這些屬性包括“小”異常,其中對于大多數(shù)數(shù)據(jù)集合,異常被預(yù)期構(gòu)成所有項目的相對較小的一部分。窮盡算法可以花費大量的計算時間來排除類似于基線的間隔,因此是非異常的。相比之下,網(wǎng)格細化算法可以通過界定搜索空間中異常的評分來快速排除搜索空間的大部分。
轉(zhuǎn)向魯棒統(tǒng)計的穩(wěn)定性,針對通常在實踐中看到的數(shù)據(jù)分布,魯棒統(tǒng)計關(guān)于少量點的添加/移除相對穩(wěn)定。圖7圖示了示例性延遲分布702和對應(yīng)的中位數(shù)704的圖表700。通常,該分布的中間部分706傾向于“平坦”,這意味著中位數(shù)響應(yīng)于k個點的插入或刪除不會顯著變化(其最多可以沿著x軸將中位數(shù)移動k個點,對應(yīng)于沿著y軸的小變化)。這種穩(wěn)定性屬性意味著異常的評分
網(wǎng)格細化算法可以使用各級粗糙度的網(wǎng)格在包含高評分異常的數(shù)據(jù)中“放大”區(qū)域。首先,該算法可以以粗粒度分析數(shù)據(jù),僅從沿著網(wǎng)格的點中選擇vlow和vhigh的值,并計算出以更細粒度發(fā)現(xiàn)的異常可能評分的上限。只有對于這些上限足夠高的子區(qū)域,可以考慮在更精細的網(wǎng)格分辨率下發(fā)現(xiàn)的異常,重復(fù)該過程,直到發(fā)現(xiàn)異常具有在所有未知異常的潛在最高評分的α的因子內(nèi)的評分。用圖8中的圖表800圖示出了網(wǎng)格細化處理的各個方面。
示例網(wǎng)格細化算法被顯示為下面的α-近似網(wǎng)格細化算法(算法2a)。在這個示例中,α-近似網(wǎng)格細化算法保持由4元組(θij,s,u,g)表示的異常優(yōu)先級隊列,其中θij是間隔,s是當(dāng)前間隔的評分,u是通過在間隔[vi;vj]的端點附近的網(wǎng)格的任意細化可達到的評分的上限,并且g是當(dāng)前網(wǎng)格大小。
算法2a
示例網(wǎng)格細化算法按它們的評分的上限的順序來從優(yōu)先級隊列對異常出隊。如果當(dāng)前評分在評分的邊界的∝因子內(nèi),則在檢查多樣化約束之后將當(dāng)前評分加到結(jié)果集合中。否則,使用下面算法2b中的示例細化過程中所示的“放大”過程來細化間隔:
算法2b
在間隔細化期間,對于在更精細的網(wǎng)格大小的每個可能的細化間隔,異常的評分以及可實現(xiàn)的可能細化的上限可以通過“細化”網(wǎng)格來計算,即,當(dāng)使用(a)任意精細的網(wǎng)格和(b)端點vlow和vhigh在原始“粗糙”端點對的一個網(wǎng)格大小內(nèi)時(參見圖8中的“細化后的異?!?針對異常的可能的最大評分。一旦確定了最大-k個近似異常,算法就可以終止。
為了正確性,“boundscore”功能可以在任意給定謂詞的評分上提供顯著上限,即,對于網(wǎng)格g的任意間隔θij,如果qrefined是通過細化如在算法2b中所示的θij所獲得的間隔集合,則
例如,讓
關(guān)于正確性,網(wǎng)格細化算法可以滿足不變性,當(dāng)且僅當(dāng)異常的評分在最高評分異常的∝因子內(nèi)時,異常被添加到最大k個異常集合中。讓sθ作為通過算法2a所示的算法包含在最大k個中的第一個異常。此外,讓
算法3?,F(xiàn)在將討論示例種子擴展算法。網(wǎng)格細化算法可以依賴于中位數(shù)屬性的穩(wěn)定性(參見圖7)。然而,圍繞更高(或低得多)百分位數(shù)的分布通常較不穩(wěn)定。進一步描述用于是旨在基于這些百分位數(shù)特別在評分函數(shù)時異常的更快檢測或用于非常大的數(shù)據(jù)集合的快速分析算法,用于種子擴展。該算法提供了顯著更低的漸近開銷(o(n1.5))以及顯著更快的掛鐘運行時間。然而,與可以保證恒定近似比的網(wǎng)格細化算法相反,種子擴展算法挖掘的異常評分可以在最優(yōu)異常的數(shù)據(jù)依賴因子內(nèi)。
種子擴展算法背后的直覺基于通常包含針對性能指標(biāo)的極端(即相對高或低)值的高/低百分位數(shù)的異常。為了簡化陳述,可以假設(shè)尋找與大型性能指標(biāo)值相對應(yīng)的異常。種子擴展算法可以首先按照性能指標(biāo)值的順序來選擇最大
為了避免選擇潛在的所有種子點是瞬態(tài)異常的情況,可以在選擇種子值之前應(yīng)用初始平滑步驟。這里,性能指標(biāo)的每個值vi可以被沿著大小為c的樞轉(zhuǎn)軸和在vi處“居中”的間隔的所有值中的中位數(shù)值替換;那么可以在這些值中選擇最大的值。這樣,低價值區(qū)域內(nèi)的單個列出點不被選為種子,消除考慮(單點)瞬態(tài)異常。
給定由索引s標(biāo)識的具有樞軸值vs的任意種子點,算法可以用謂詞
擴展單個種子點的程序被示出在下面的算法3中:
算法3
擴展單個種子點的程序可以擴展種子直到擴展不會導(dǎo)致異常評分的改善??梢灾貜?fù)地為
通過種子擴展算法挖掘的異常的質(zhì)量取決于如何容易地從背景分布區(qū)分異常。在一些實現(xiàn)中,可以使用數(shù)據(jù)集合的兩個屬性來量化(例如,評分)這種異常特征。第一屬性可以是相對于樞軸屬性的性能指標(biāo)屬性的最大梯度(即,maxi(vi+1-vi))maxi(vi+1-vi)),表示為δmax)。該測量可以在平滑之后計算,有效地使其在大小c的任意間隔上具有潛在最大梯度。對于第二個屬性,讓
算法4?,F(xiàn)在將討論用于多樞軸挖掘的示例算法。異常可能由于系統(tǒng)條件而發(fā)生,該系統(tǒng)條件只能通過多個屬性的謂詞被可靠地捕獲。例如,當(dāng)機器上還有多個活動的線程時,操作的響應(yīng)時間可以只在高內(nèi)存爭用下降低。用于標(biāo)識這種多屬性異常的強力方法將是檢查所有環(huán)境屬性子集的謂詞的所有組合,這顯然是計算上禁止的。這個計算硬度并不是問題唯一的,而是其他領(lǐng)域觀察到的常見類別問題的實例,諸如最優(yōu)決策樹構(gòu)造。因此,第一方法可以是貪心地構(gòu)建多樞軸異常。以下所示是采用貪心挖掘過程greedymine(r,f,am,k)進行多樞軸挖掘的基于采樣和協(xié)同細化的方案,該方案返回由評分函數(shù)f排序的最大k個多樞軸異常。例如,θc可以用于表示采樣數(shù)據(jù)上的謂詞,并且θr可用于表示整個數(shù)據(jù)上的謂詞。
算法4
在實踐中,絕大多數(shù)的異常情況都可以用貪婪技術(shù)進行檢測。然而,為了檢測用貪婪技術(shù)不能很好地檢測到的異常,提出了一種在不同屬性上結(jié)合起來共同優(yōu)化樞軸的算法。最后,該算法利用了通常在現(xiàn)實生活中的數(shù)據(jù)分布中看到的屬性(即,當(dāng)只有謂詞的子集被考慮時,由l個謂詞表征的最高評分異常的評分減少的程度的邊界)以提供一種對所挖掘的異常的評分給出質(zhì)量保證的易于處理的算法。
由于缺乏與其他樞軸聯(lián)合的潛在細化的遠見,用于挖掘異常的純粹貪婪算法可能將單個異常分解為多個異常。為了處理這種困境情況,提出了一個示例協(xié)同優(yōu)化策略:首先,貪婪挖掘算法可以用加權(quán)評分函數(shù)在數(shù)據(jù)的小隨機樣本上運行,其中每個數(shù)據(jù)點被反抽樣比加權(quán)。這可以給出一個初始的“粗糙”的異常集合。那么這些異常可以如下使用完整數(shù)據(jù)集合被協(xié)同細化:可以采用與逐漸“放大”的網(wǎng)格細化算法類似的用于確定每個謂詞的準(zhǔn)確間隔邊界的方法。然而,不是一個接一個地細化屬性,對于每個異常,可以在鉆取到下一個網(wǎng)格層級之前,以特定網(wǎng)格大小在所有構(gòu)成樞軸屬性上確定潛在的最佳間隔。
現(xiàn)在將描述α-近似多重樞軸細化。當(dāng)計算對抗數(shù)據(jù)分布的最高評分異??赡茉谟嬎闵鲜墙沟臅r,通??梢岳矛F(xiàn)實生活中的數(shù)據(jù)看到的屬性來獲得具有對異常評分有絕對保證的易于處理的算法。首先,為了闡述這些數(shù)據(jù)屬性,考慮了一個示例異常,其最佳特征是沿著兩個不同的樞軸屬性的間隔。圖10示出了關(guān)于針對這種異常的兩個樞軸屬性(樞軸1和樞軸2)的異常測量值的熱圖表示1002。圖10還示出了當(dāng)獨立考慮時每個樞軸屬性(的謂詞)的兩個百分位數(shù)分布1004和1006,以及當(dāng)樞軸屬性被一起考慮時的第三百分位數(shù)分布1008。顯然,當(dāng)兩個屬性被一起考慮時觀察到的異常中位數(shù)和背景分布之間的偏差在僅考慮樞軸之一時向較高百分位數(shù)移動。這是由于向異常添加了非異常點。這些非異常點只能通過在輔屬性上的樞軸旋轉(zhuǎn)進行過濾。通過限制發(fā)生這種移動的程度,可以提供顯著邊界用于異常評分中的可能改善。
最大細化比:由于多重樞軸異常由在樞軸屬性上的l個謂詞限定,最大細化比是最大常數(shù)γ,使得存在謂詞的排序
現(xiàn)在將描述限界多軸異常評分??梢约僭O(shè)對于給定的對數(shù)關(guān)系r和性能指標(biāo)屬性am,最大細化比γ是已知的或保守的(γ=1是最保守的)估計的。在這個假設(shè)下,給定了l個樞軸異常sθl,通過在附加的屬性上樞軸旋轉(zhuǎn)得到異常評分內(nèi)的潛在細化的估計是可能的。讓n=|sθl|。如果任意異常中屬性的最大數(shù)為m,對于任意l-屬性異常,由擴展sθl形成的m-謂詞異常的最小大小具有至少為nmin=γm-ln.的大小nmin=γm-ln.。對于聚合函數(shù)為中位數(shù)的特定情況,通過擴展sθl所獲得最大評分然后可以由下式限界:
這是因為在最佳情況下,通過附加樞軸過濾的所有點都低于中位數(shù)值sθl,并且因此導(dǎo)致中位數(shù)向右移動。隨著關(guān)于樞軸的更多謂詞被添加到異常中,這種估計變得更加嚴格。
如單樞軸網(wǎng)格細化算法的情況,通過以較少的樞軸保持異常的最佳可能的l-軸(未看到)細化的上界,可以設(shè)計近似多樞軸挖掘算法(除了細化過程和初始化步驟之外,類似于上述α-近似細化算法)。
在一些實現(xiàn)中,上述示例技術(shù)可以單獨使用或組合使用以實現(xiàn)可調(diào)謂詞發(fā)現(xiàn)概念。例如,tpd部件(例如,tpd部件112)可以根據(jù)從用戶接收或者通過上文相對于圖5所述的自調(diào)整的診斷級別選擇來選擇算法。在一些情況下,可以通過tpd部件使用上述示例算法的部件的混合。當(dāng)然,這些示例并不意味著是窮盡的和/或限制的,并且考慮針對可調(diào)謂詞發(fā)現(xiàn)的其他技術(shù)。
方法
圖11圖示了針以可調(diào)謂詞發(fā)現(xiàn)的示例性技術(shù)或方法1100的第一流程圖。在一些實現(xiàn)中,方法1100可以由tpd部件(諸如tpd部件112)執(zhí)行(參見圖1、2和5)。備選地,該方法可以由其他設(shè)備和/或系統(tǒng)執(zhí)行。
在圖11的框1102處,方法1100可以從用戶,諸如通過gui,接收診斷級別選擇,如上文相關(guān)于圖5所述。在框1104,該方法可以獲得一個或多個數(shù)據(jù)中心的數(shù)據(jù)集合。在框1106,該方法可以標(biāo)識在診斷級別選擇中具有異常評分的數(shù)據(jù)集合中的性能異常。在一些實現(xiàn)中,診斷級別選擇可以與性能異常的大小有關(guān)。在某些情況下,診斷級別選擇可以關(guān)于分配給標(biāo)識性能異常的計算資源調(diào)整性能異常的大小。
在框1108,方法1100可以確定性能異常的謂詞。例如,該方法可以確定單個性能異常出現(xiàn)的條件。在框1110,該方法可以基于異常評分來生成排序的謂詞列表。在某些情況下,排序列表可以包括異常評分的指示。在框1112,該方法可以使得排序列表的謂詞中的至少一個被呈現(xiàn)。在一些實現(xiàn)中,使得謂詞中的至少一個被呈現(xiàn)可以包括在圖形用戶界面上顯示所述謂詞的至少一個。
圖12圖示了用于可調(diào)謂詞發(fā)現(xiàn)的示例技術(shù)或方法1200的第二流程圖。
在框1202,方法1200可以接收數(shù)據(jù)集合。在某些情況下,可以從描述一個或多個數(shù)據(jù)中心的性能的服務(wù)日志導(dǎo)出數(shù)據(jù)集合。在框1204,該方法可以標(biāo)識數(shù)據(jù)集合中的性能異常。在某些情況下,該方法可以自動調(diào)整用于標(biāo)識性能異常的計算資源量。在某些情況下,該方法可以經(jīng)由與性能異常的大小有關(guān)的用戶輸入以可選擇的可調(diào)方式標(biāo)識性能異常。在某些情況下,該方法可以基于感興趣的屬性值的分布中的改變來標(biāo)識性能異常。感興趣的屬性可以通過用戶輸入來指定。備選地,感興趣的屬性可能不被用戶指定。在其他情況下,該方法可以基于感興趣的多個屬性值的分布的變化來標(biāo)識性能異常。
在框1206,方法1200可以生成用于性能異常的謂詞的排序列表。例如,謂詞可以包括性能異常出現(xiàn)的條件。在某些情況下,該方法可以確定性能異常的異常評分。該方法還可以使用異常評分來生成謂詞的排序列表。例如,單個異常評分可以指示單個性能異常的大小。在某些情況下,生成排序的謂詞列表可以包括生成顯示謂詞的排序列表的圖形用戶界面(gui)。例如,該方法可以生成gui,其顯示相對于基線和至少一個關(guān)聯(lián)謂詞的單個性能異常的圖形。
圖13圖示了可調(diào)謂詞發(fā)現(xiàn)的示例性技術(shù)或方法1300的第三流程圖。
在框1302,方法1300可以獲得數(shù)據(jù)集合。在框1304,方法1300可以確定數(shù)據(jù)集合中感興趣的屬性的異常的異常評分。在某些情況下,用戶可以選擇感興趣的屬性。
在框1306,方法1300可以基于異常評分來生成謂詞的排序列表。在某些情況下,在排序列表中包括單個謂詞可能受到用戶選擇的異常評分的級別的影響。在框1308,該方法可以使得排序列表的至少一個謂詞被呈現(xiàn)。
其他示例
上面描述了示例實現(xiàn)。附加的示例如下所述。一個示例可以從用戶接收診斷級別選擇。該示例可以獲得一個或多個數(shù)據(jù)中心的數(shù)據(jù)集合。該示例可以標(biāo)識在診斷級別選擇中具有異常評分的數(shù)據(jù)集合中的性能異常。該示例可以確定性能異常的謂詞。該示例可以基于異常評分來生成謂詞的排序列表。該示例可以導(dǎo)致排序列表的至少一個謂詞被呈現(xiàn)。
另一示例包括以上和/或以下示例中的任意一個,其中診斷級別選擇與性能異常的大小有關(guān)。
另一示例包括以上和/或以下示例中的任意一個,其中診斷級別選擇關(guān)于被分配給標(biāo)識性能異常的計算資源調(diào)整性能異常的大小。
另一示例包括以上和/或以下示例中的任意一個,其中排序列表包括異常評分的指示。
另一示例包括以上和/或以下示例中的任意一個,其中使得包括在圖形用戶界面上顯示謂詞中的至少一個。
另一示例可以包括處理設(shè)備、存儲設(shè)備和存儲在存儲設(shè)備上的可調(diào)謂詞發(fā)現(xiàn)部件。處理設(shè)備可以被配置為執(zhí)行可調(diào)謂詞發(fā)現(xiàn)部件作為計算機可執(zhí)行指令。該示例可以接收數(shù)據(jù)集合。該示例可以識別數(shù)據(jù)集合中的性能異常。該示例可以為性能異常生成謂詞的排序列表。
另一示例包括以上和/或以下示例中的任意一個,其中指令還包括生成顯示謂詞的排序列表的圖形用戶界面(gui)。
另一示例包括以上和/或以下示例中的任意一個,其中指令還包括自動調(diào)整被用于標(biāo)識性能異常的計算資源的數(shù)量。
另一示例包括以上和/或以下示例中的任意一個,其中謂詞包括性能異常發(fā)生的條件。
另一示例包括以上和/或以下示例中的任意一個,還包括確定性能異常的異常評分。
另一示例包括以上和/或以下示例中的任意一個,還包括使用異常評分來生成謂詞的排序列表。
另一示例包括以上和/或以下示例中的任意一個,其中個體異常評分指示個體性能異常的大小。
另一示例包括以上和/或以下示例中的任意一個,其中指令還包括經(jīng)由與性能異常的大小有關(guān)的用戶輸入來以可選擇地可調(diào)整的方式來標(biāo)識性能異常。
另一示例包括以上和/或以下示例中的任意一個,其中指令還包括基于感興趣的屬性的值的分布的變化來標(biāo)識性能異常。
另一示例包括以上和/或以下示例中的任意一個,其中通過用戶輸入來指定感興趣的屬性。
另一示例包括以上和/或以下示例中的任意一個,還包括基于感興趣的多個屬性的值的分布的變化來標(biāo)識性能異常。
另一示例包括以上和/或以下示例中的任意一個,還包括生成圖形用戶界面(gui),圖形用戶界面(gui)顯示相對于基線和至少一個相關(guān)聯(lián)謂詞的個體性能異常的圖形。
另一示例包括以上和/或以下示例中的任意一個,其中數(shù)據(jù)集合從描述一個或多個數(shù)據(jù)中心的性能的服務(wù)日志中被導(dǎo)出。
另一示例可以獲得數(shù)據(jù)集合。該示例可以確定數(shù)據(jù)集合中感興趣的屬性的異常的異常評分。該示例可以基于異常評分來生成謂詞的排序列表。該示例可以導(dǎo)致排序列表的謂詞的至少一個被呈現(xiàn)。
另一示例包括以上和/或以下示例中的任意一個,其中感興趣的屬性由用戶選擇的。
另一示例包括以上和/或以下示例中的任意一個,其中排序列表中的各個謂詞的包括受用戶選擇的異常評分的級別的影響。
結(jié)論
所公開的方法被描述的順序不旨在被解釋為限制,并且任意數(shù)量的所描述的塊可以以任意順序組合以實現(xiàn)該方法或備選方法。此外,方法可以以任意合適的硬件、軟件、固件或其組合來實現(xiàn),使得計算設(shè)備可以實現(xiàn)該方法。在一種情況下,方法作為指令集合被存儲在一個或多個計算機可讀存儲介質(zhì)上,使得計算設(shè)備的處理器的執(zhí)行使計算設(shè)備執(zhí)行該方法。
盡管涉及可調(diào)謂詞發(fā)現(xiàn)的技術(shù)、方法、設(shè)備、系統(tǒng)等以特定于結(jié)構(gòu)特征和/或方法動作的語言來描述,但是應(yīng)當(dāng)理解,所附權(quán)利要求中限定的主題不一定限于描述的具體特征或行為。相反,具體特征和動作被公開為實現(xiàn)所要求保護的方法、設(shè)備、系統(tǒng)等的示例性形式。