鬼佬大哥大
  • / 9
  • 下載費用:30 金幣  

一種基于樸素貝葉斯分類技術的動態監控間隔調整方法.pdf

摘要
申請專利號:

CN201510542115.8

申請日:

2015.08.28

公開號:

CN105204971A

公開日:

2015.12.30

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/30申請日:20150828|||公開
IPC分類號: G06F11/30; G06F11/34; G06K9/62 主分類號: G06F11/30
申請人: 浙江大學; 蘇州龍唐信息科技有限公司
發明人: 尹建偉; 陳怡東; 趙新奎; 李瑩; 鄧水光
地址: 310027 浙江省杭州市西湖區浙大路38號
優先權:
專利代理機構: 浙江杭州金通專利事務所有限公司 33100 代理人: 董世博
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510542115.8

授權公告號:

||||||

法律狀態公告日:

2018.03.16|||2016.03.02|||2015.12.30

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明公開了一種基于樸素貝葉斯分類技術的動態監控間隔調整方法,包括通過監控系統客戶端Agent從監控目標節點主機獲取主機的監控信息,對獲取的監控信息進行存儲,并且對數據進行預處理,剔除異常無效數據;設定分類特征集合,得到分類結果;對當前時間點監控信息的分類結果進行處理,本發明所提供的方法能夠應對云計算復雜環境中的監控問題,提供精確高效的監控解決方案,提高監控系統運行效率,使其能夠適應云計算環境中彈性伸縮引起的負載變化,有效調整監控間隔。

權利要求書

權利要求書
1.  一種基于樸素貝葉斯分類技術的動態監控間隔調整方法,其特征在于,包括如下步驟:

1.  1)通過監控系統客戶端Agent從監控目標節點主機獲取主機的監控信息,選取CPU使用率和內存使用率信息;

1.  2)對獲取的監控信息按照時間戳、主機、監控數據值的方式進行存儲,并且對數據進行預處理,剔除異常無效數據;

1.  3)設定分類特征集合f,其中包括了四個特征信息:CPU使用率,CPU變化率,內存使用率,內存變化率四個特征值,設定分類器中的類別集合,包括對監控間隔調整的5種不同行為類別;根據監控目標特征選取合理數據集合作為初始化樣本,將初始化樣本帶入分類器中進行訓練;計算的值包括各類別的統計數量,總類別樣本數量,各特征值在不同類別下的統計值;統計以上數據用來計算樸素貝葉斯模型中的每個類別的先驗概率p(c),特征值屬于某一類別的概率p(fi|c);當對當前時間點監控信息進行分類時,將監控數據代入分類器進行分類,得到分類結果;

1.  4)通過步驟1.3)得到的對當前時間點監控信息的分類結果,對監控間隔采取相應的改變;設定監控間隔的粒度范圍大小為1~20,初始化監控間隔定義為5,根據分類得到的結果可以對監控間隔采取增大1,增大2,不變,減小1,減小2的行為,但最大的監控間隔不能超過20;通過監控系統動態配置功能改變監控間隔,并進入下一個監控周期,監控間隔變化行為的操作可以定義為i個監控間隔周期,每次做出分類操作是可以將前i個監控點數據加入分類器中進行迭代訓練;

1.  5)通過步驟1.4)進行迭代后樣本規模會不斷擴大,選取一定大小閾值控制樣本規模,當分類器得到較好穩定效果后,將樣本保存為常用訓練樣本數據。

說明書

說明書一種基于樸素貝葉斯分類技術的動態監控間隔調整方法
技術領域
本發明涉及云計算智能監控系統技術領域,尤其涉及一種基于樸素貝葉斯分類技術的動態監控間隔調整方法。
背景技術
云監控伴隨著整個云計算系統的運行,執行的操作不僅僅是添加刪除監控目標,獲取數據這些簡單的操作,當云監控獲取數據之后,還需要對獲取的數據做出某些處理操作,讓用戶可以針對自己的需求自定義數據處理行為。監控的歷史數據可以看成是系統信息的一種日志數據,可以利用日志分析來獲得系統的運行歷史狀態和趨勢,從而做出進一步的決策。
云計算系統通常是一個大規模的系統,以OpenStack為例,系統中各個組件可以看成是獨立的模塊,模塊與模塊之間有著頻繁的信息交互。云計算系統中信息的交互都伴隨著網絡通信,網絡帶寬資源在云計算系統中是很重要的資源。在上文介紹的云監控收集客戶端度量信息的過程中,無論是在Pull還是Push方式的情況下,需要定義一個監控時間粒度,定時有效穩定地獲取監控的數據。在獲得詳細監控數據的同時,需要保證監控系統的資源利用的高效性,因此需要一個權衡的策略來獲得有效監控數據的同時,使系統的資源消耗率降低。
云環境中多變的系統環境特性,傳統的靜態監控模式已經不能滿足新環境的需求,云監控需要能夠動態地調整系統的監控時間間隔,在給系統帶來更小的負擔的同時,能夠保證系統的有效監控和穩定的運行。監控時間間隔配置在靜態文件中使其不能在運行時做出改變,在系統運行的過程中,客戶端和服務端始終會按照這個配置信息運行,Agent會定時在客戶端節點上運行收集信息, 服務端和客戶端之間也會按照配置的時間間隔進行數據通信。因此當監控的度量數據指標很大的時候,將會給監控目標節點帶來一定的性能負擔。對于監控系統的設計架構,考慮到可擴展性的設計,具體的監控任務通常都由插件來執行。當頻繁的在客戶節點上運行監控插件的時候,如果有的插件在運行時會消耗一定的系統資源,如在獲取JVM運行數據,或者Tomcat之類的數據時,需要對獲取數據做一定的分析,這樣給客戶端節點帶來的負擔是不能忽視的。
云監控能夠動態的改變自身系統的配置,能夠在運行時適應當前特定負載來進行配置文件的調整。
發明內容
針對上述技術缺陷,本發明的目的在于針對傳統監控軟件的固定監控時間間隔模型存在信息冗余和資源利用低下等問題,在云監控系統中加入運行時動態改變系統監控配置功能,提出了一種基于樸素貝葉斯分類技術的動態監控間隔調整方法,根據歷史監控信息對當前狀態做出趨勢預測,并且根據預測的結果來判定系統狀態,以此來動態調整的監控時間的監控,能夠有效的調整監控間隔,優化信息傳輸頻率,從而達到系統的高效運行。
為了解決上述技術問題,本發明的技術方案如下:
一種基于樸素貝葉斯分類技術的動態監控間隔調整方法,包括如下步驟:
1.1)通過監控系統客戶端Agent從監控目標節點主機獲取主機的監控信息,選取CPU使用率和內存使用率信息;
1.2)對獲取的監控信息按照時間戳、主機、監控數據值的方式進行存儲,并且對數據進行預處理,剔除異常無效數據;
1.3)設定分類特征集合f,其中包括了四個特征信息:CPU使用率,CPU變化率,內存使用率,內存變化率四個特征值,設定分類器中的類別集合,包括對 監控間隔調整的5種不同行為類別;根據監控目標特征選取合理數據集合作為初始化樣本,將初始化樣本帶入分類器中進行訓練;計算的值包括各類別的統計數量,總類別樣本數量,各特征值在不同類別下的統計值;統計以上數據用來計算樸素貝葉斯模型中的每個類別的先驗概率p(c),特征值屬于某一類別的概率p(fi|c);當對當前時間點監控信息進行分類時,將監控數據代入分類器進行分類,得到分類結果;
1.4)通過步驟1.3)得到的對當前時間點監控信息的分類結果,對監控間隔采取相應的改變;設定監控間隔的粒度范圍大小為1~20,初始化監控間隔定義為5,根據分類得到的結果可以對監控間隔采取增大1,增大2,不變,減小1,減小2的行為,但最大的監控間隔不能超過20;通過監控系統動態配置功能改變監控間隔,并進入下一個監控周期,監控間隔變化行為的操作可以定義為i個監控間隔周期,每次做出分類操作是可以將前i個監控點數據加入分類器中進行迭代訓練;
1.5)通過步驟1.4)進行迭代后樣本規模會不斷擴大,選取一定大小閾值控制樣本規模,當分類器得到較好穩定效果后,將樣本保存為常用訓練樣本數據。
本發明的有益效果在于:本發明所提供的方法能夠應對云計算復雜環境中的監控問題,提供精確高效的監控解決方案,提高監控系統運行效率,給云監控帶來的優勢主要由以下幾點:
1.動態改變監控目標配置
2.適應監控目標運行過程中負載變化,動態改變監控運行間隔
3.相對于傳統間隔優化方法和其他動態改變方法有更高的精確性
4.在系統狀態中加入資源變化率因素,更合理的預測監控行為
5.有效的減少了冗余監控信息獲取行為,使監控系統高效運行 能夠適應云計算環境中彈性伸縮引起的負載變化,有效調整監控間隔。
附圖說明
圖1為樸素貝葉斯分類中的類別集合定義;
圖2為監控間隔調整結構圖;
圖3為動態監控間隔調整流程圖。
具體實施方式
下面將結合附圖和具體實施例對本發明做進一步的說明。
本發明是利用監控信息中的基礎數據:CPU和內存信息,對系統狀態進行預測分類,方法設計了圖2的監控間隔調整結構,根據分類結果來執行相應的監控間隔調整操作。下面首先給出了一些相關的定義。
CPU使用率和內存使用率,因為這兩項指標在系統中存在著多種類型的數據,例如使用linux系統中的top指令顯示的信息中,CPU一欄中的指標主要包括如下:用戶模式(user),系統模式(system),空閑使用率(idle),I/O等待中(iowait)等。Top指令中的內存數據一欄顯示有total(內存總量),used(已使用的),free(空閑可用的),buffers(緩存內存大小)等選項。
本發明定義CPU和內存使用率為:
Cuse=100%-Cidle,Muse=Mtotal-MfreeMtotal]]>
即系統中所有消耗的CPU時間都計入CPU使用率之中,只有空閑部分作為可用CPU資源,內存則考慮空閑的可用資源,其余部分都考慮為已使用。
樸素貝葉斯概率模型是一個條件概率模型,其最基本的形式如公式所示:
P(A|B)=P(B|A)P(A)P(B)]]>
其中P(A|B)表示在已知在事件B發生的情況下,時間A發生的概率,這個公式是整個樸素貝葉斯模型的核心模型。首先定義待分類項的特征值,已經定義了CPU使用率和內存使用率,在考慮系統運行趨勢的時候值的的變化差值也應該加入,加入變化率兩項:
CPU變化率:Cdelta=Cuse(t)-Cuse(t-1)Cuse(t-1)]]>
內存變化率:Mdelta=Muse(t)-Muse(t-1)Muse(t-1)]]>
定義特征向量即出現的待分類項f={Cuse,Cdelta,Muse,Mdelta}。對于監控時間間隔來說,上面特征向量對于其產生的影響都是相對獨立的,因為任意特征的分類值如果是要增大的情況,監控時間間隔針對此服務就應該增大,否則對于這類資源監控健康狀況將得不到保證。
定義類別集合:C={-2,-1,0,1,2},C集合中的數值正數表示增大n個監控時間單位,負數表示減小n個時間單位,而0表示保持監控時間粒度不變。
將上述的定義應用到貝葉斯定理則得到下述方程:
p(c|f)=p(c)p(f|c)p(f)]]>
其中c表示了類別集合C中的每一項,即當某個特征f出現時計算其被分類為某一類別c的概率大小。p(c),{c∈C}則表示了在訓練樣本中每個類別c的先驗概率大小,這個可以由對訓練樣本統計得到:
p(c)=Count(c)T,c∈C]]>
因為特征向量都是獨立的,所以根據概率公式展開得到:
p(f|c)=p((Cuse,Cdelta,Muse,Mdelta)|c)=Πi=14p(fi|c),c∈C]]>
其中fi表示f特征中的第i項。
對于給定的某個特征對于C中所有類別p(f)是常量,因此可以表示有:
p(c|f)∝p(c)Πi=14p(fi|c)]]>
由上述公式推導后知,在分母為常數的情況下要使結果p(c|f)最大化,則只要使分子最大化即可,得出決策函數:
max(p(c)Πi=14p(fi|c)),c∈C]]>
根據決策函數得出的值落在的分類范圍區間來得到分類的結果。圖1給出了系統中分類的范圍。從圖1中可以看出,一共分為了5類,而并沒有采取普通的正態分布或者等分的情況,本發明中選取分類結果的依據如下:
1.對于CPU而言,正常負載不高的系統通常CPU都運行在10%以下,真實場景下系統很少會穩定的運行在如30%-40%這樣的中間狀態下,所以當系統中的CPU使用率超過50%的時候變可以說明系統已經出現負載變高的情況,系統將可能出現卡頓的情況,并且系統的CPU的load值也會顯著的上升。所以當系統出現在這些分類中的時候就應該減小監控的時間間隔。
2.內存對分類的影響則和CPU不同,對內存而言變化通常比CPU來的要緩慢,因為服務通常要一段時間內慢慢的消耗內存,或者內存泄露也是這樣情況。而對于使用率來講,占用75%的內存系統也是能夠正常工作的,而且對QoS不會帶來太大的影響。
3.而當各項指標都比較小的時候,可以認為系統穩定運行,并且監控的時間間隔應該可以相應的調大,因為穩定系統運行不需要頻繁的獲取監控數據,系統出現錯誤的概率也會相對的減小。加入變化率因素作為特征,穩定的負載表示系統狀態良好,可考慮增大監控間隔,當系統變化率突增或變動頻繁時,則系統應該需要更精確的監控信息。
具體的動態改變監控間隔過程如下
第一.通過監控系統客戶端Agent從監控目標節點主機獲取主機的監控信息,Agent采用插件形式在目標節點執行,綜合運用Pull/Push的方式與監控服務端進行數據傳輸。
第二.對獲取的監控信息按照時間戳、主機、監控數據值的方式存儲,監控數據包括上面定義CPU使用率,CPU變化率,內存使用率,內存變化率,跟主機關聯存儲,時間戳則采用標準的unix時間戳存儲。
第三.定義分類特征集合f,其中包括了四個特征信息:CPU使用率,CPU變化率,內存使用率,內存變化率四個特征值。定義分類器中的類別集合,包括了對監控間隔調整的5種不同行為類別。根據監控目標特征選取合理數據集合作為初始化樣本,將樣本中原始數據進行初始化,監控信息數值代入圖1中求得分類信息,然后將對應分類數據存入數據庫中,樣本數據中已知當前時間點應該采取的監控間隔改變行為。存儲的統計數據格式為特征fi為某一具體分類c的統計數量可表示為fi[c]的形式,將初始化樣本帶入分類器中進行訓練。需要計算的值包括各類別的統計數量Count(c),總類別樣本數量Sum(c),各特征值在不同類別下的統計值即上述的fi[c]。統計以上數據用來計算樸素貝葉斯模型中的每個類別的先驗概率p(c),特征值屬于某一類別的概率p(fi|c)。對當前時間點監控信息進行分類時,將監控數據代入分類器進行分類,得到分類結果。
第四.通過步驟三得到的對當前時間點監控信息的分類結果,對監控間隔采取相應的改變。本方法定義監控間隔的粒度范圍大小為1-20,初始化監控間隔定義為5,根據分類得到的結果可以對監控間隔采取增大1,增大2,不變,減小1,減小2的行為,但最大的監控間隔不能超過20,通過監控系統動態配置功能改變監控間隔,并循環進入下一個監控周期,具體流程如圖3所示,方法描 述如下:
1.初始化步驟三中所述樣本數據,將樣本數據對分類器進行初始化訓練,設初始監控間隔interval=5,定義監控間隔變化操作行為為m個監控間隔周期即m*interval。
2.對當前時間點進行分類,將前m個監控點數據加入分類器中進行迭代訓練加入監控歷史趨勢信息來預測判定當前系統的狀態。
3.對迭代后的訓練器計算類別先驗概率p(c),計算特征值相應類別概率p(fi|c),求得當前max(p(c)Πi=14p(fi|c)),]]>c∈C的值,得出當前監控點分類結果設為classify。
4.依據分類結果調整監控間隔時間,并且按照定義限定監控間隔邊界范圍:
interval=max(1,interval+ca),classify≤0
interval=min(threshold,interval+ca),classify>0
5.將本次迭代后的訓練器運用到下一個調整的循環過程中。
需要注意的是步驟四中進行迭代后樣本規模會不斷擴大,選取一定大小閾值控制樣本規模,當分類器得到較好穩定效果后,將樣本保存為常用訓練樣本數據可以得到較好的結果。
以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員,在不脫離本發明構思的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明保護范圍內。

關 鍵 詞:
一種 基于 樸素 貝葉斯 分類 技術 動態 監控 間隔 調整 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種基于樸素貝葉斯分類技術的動態監控間隔調整方法.pdf
鏈接地址:http://www.wwszu.club/p-6405621.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大