SNMP數據異常檢測系統設計與開發
SNMP工作在TCP/IP的無連接的數據報上,由SMI(Structure of Management Information,管理信息結構)、MIB(Management Information Base,管理信息庫)和協議組成。MIB是一個樹形結構的數據庫,數據庫中的每一個被管理的項目都有相應的對象所對應,這些對象結構化集合起來就是MIB。管理站通過讀取信息庫里的數據來獲得數據,從而起到監視作用,同時管理站還能夠修改信息庫里的數據來時實現對資源的控制。
基于SNMP數據異常檢測系統分為數據獲取模塊、數據處理模塊和數據分析模塊。其檢測流程是從MIB庫中獲取信息,再將信息存入到數據庫中。由數據處理模塊對數據進行處理,最后由數據分析模塊,運用K-means算法,對數據進行分析,最后將分析結果存入到數據庫中,并能夠在界面顯示。
1 信息獲取模塊
信息獲取處理模塊是SNMP數據異常檢測系統開發設計的基礎。信息獲取模塊實現的是獲取整個系統所需的數據,數據獲取模塊采集本地pc機的數據,還能夠獲取路由中的相關數據。數據獲取模塊,負責采集數據,即從MIB庫中獲取數值信息,將其存入到數據庫中,供分析使用。本文所要獲取的數據,在MIB庫中都是直接存在的,因此只需要根據其OID進行獲取即可。其獲取過程包括以下幾個步驟。
由Get-Request讀對象值,管理站未獲得網絡設備的才輸或設備在網絡中的運行數據,向Agent發起的讀操作。
Get-Next-Request讀取當前對象的下一個可讀取對象的值。
Set-Request:NMS更新Agent中的對象值。
Get-Response:Agent對Get-Request、Get-Next-Request和Set-Request三種操作的應答。
Trap:Agent向NMS發送對象值。
2 數據處理模塊
采集的數據是一個時間段的數據。對此本文要對獲取的初始數據進行初步的統計分析。統計分析過后的數據,對分析網絡狀態更具有參考性。本文用來表示單位時間內的差值,T來表示周期。
處理模塊實現的過程:從數據庫中取出所需要的數據,取出相應的數據后,將隊形行的上下兩條數據做差,從而算出變量,并將其復制給新的變量,以便于后期進行進一步的計算。做差后按照公式進行計算,最后將計算出來的數值存入數據庫供分析使用。獲取的數據經過數據的預處理存入MySql數據庫中。由于MIB庫中的信息過于繁瑣,本文只選取其中一部分信息進行獲取,數據庫主要表結構包括所屬的IP的CPU利用率、發出的字節總數,包括組幀字符、收到的字節總數,包括組幀字符、收到的被丟棄的分組數等。
當本文獲取到初始數據后,要將其進行處理,處理后的數據本文成為預處理數據,本文將其存到SNMP_final表中,如下所示:
3 數據分析模塊
分析模塊是整個系統的核心。作用是分析數據庫中獲取的數據,同時,對于數據分析采用聚類數據挖掘算法。數據挖掘是通過算法對大量數據進行知識再發現的過程。常見的是聚類算法和分類算法。由于互聯網數據中的很大一部分是超文本數據,這些數據可以看成是半文本數據。也就是說,在互聯網的數據挖掘中本文所要做的是在傳統的數據挖掘下增加對半結構數據的挖掘。聚類算法具有處理不同字段類型、可伸縮性、處理高位數據、發現任意簇的形狀的聚類、處理異常數據、對數據順序的不敏感性等特點。
系統的數據分析模塊采用的K-means算法。該算法是質心聚類算法,其算法特點是收斂速度較快、復雜度不高、數據處理效率高,廣泛應用于多個領域。核心思想是:先把對象樣本分成k個類,然后隨機的從樣本中選出k個點作為假設中心點。將這些數據向離其最近的中心點歸類,直至每組內的相似度最高而組與組之間的相似度最低。本文通常采用歐幾里得距離來衡量其相似性,評級劃分質量的目標函數J。
J就是各簇內點到該簇中心的距離和。因此,當J的值越小,聚類越密集,效果就越好。本文就是通過K-means算法進行不斷地優化,使J的值變得越來越小,當達到最小值時就是本文要的結果。
K-means算法一共有4個步驟:第一步,選取初始點為聚類的假定中心點;第二步,將要被聚類樣本點進行分類;第三步,根據分類調整第一步所假定的中心點;第四步,輸出結果。
算法K-means基于簇中對象平均值輸入簇的數目K和N個對象的數據庫輸出K個簇,滿足均方誤差函數值最小步驟如下:
任意選擇K個對象作為初始簇中心(初始平均值);
標準化K個對象數據度量值;
Repeat;
計算分配后每個簇中對象的平均值(第一次按初始狀態平均值);
根據簇中對象平均值,重新將每個對象賦給最類似的簇;
Until對象的重新分配不再變化。
通過迭代的方法把數據對象劃分到不同的簇中,以求得最小化的目標函數,從而使得生成的簇盡可能緊湊和獨立。新的聚類生成和確定算法的K值是聚類算法的關鍵,通過多次迭代計算實現類間相似度距離越小,類內相似度聚類越大,從而獲得最優結果。
(廣州華立科技職業學院王超)