本站小編為你精心準備了通信集群服務器監視系統研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
前言
SNMP是目前常用的環境管理協議,它與協議無關并且可以在IP、IPX、APPLETALK、OSI等網絡傳輸協議上使用。它提供了從網絡上的設備中收集網絡管理信息的方法,為設備向網絡管理工作站報告問題和錯誤提供了方法,使用SNMP技術不會修改設備系統所有的網絡設置。目前的SNMP是一個從網絡上的設備收集管理信息的公用通信協議,并且絕大部分網絡設備都實現了對SNMP協議的支持。SNMP簡單模型如圖1所示。
SNMP定義了管理進程(manager)和管理(agent)之間的關系,這個關系稱為共同體(community)。描述共同體的語義是非常復雜的,但其句法卻很簡單。位于網絡管理工作站(運行管理進程)上和各網絡元素上利用SNMP相互通信對網絡進行管理的軟件統統稱為SNMP應用實體。若干個應用實體和SNMP組合起來形成一個共同體,不同的共同體之間用名字來區分,共同體的名字則必須符合Internet的層次結構命名規則,由無保留意義的字符串組成。此外,一個SNMP應用實體可以加入多個共同體。
1SNMP的基本實現
設備的管理者收集從網絡上的設備管理信息并記錄在管理信息庫(MIB)中,MIB包含了機(被監視設備)中的有關配置和性能的數據,有一個組織體系和公共結構,其中包含分屬不同組的許多對象。MIB數據對象以一種樹狀分層結構進行組織,這個樹結構(見圖2)中的每個分枝都有一個專用的名字和一個數字節的標識符。本系統的MIB應用以一種樹狀結構瀏覽的方式訪問整個MIB數據庫,通過數字標識來查找MIB中的數據對象,這個數字標識符號從結構樹的頂部(根部)開始,直到各個葉子節點(數據對象)為止。到達目標設備的路徑即為設設備的對象標識符(objectidentifierdesendant,OID),本系統可通過其尋址到要檢測和監視設備。OID是以管理信息結構(StructureofManagementInformation,SMI)為基礎的一系列點分符號,如1.3.6.1.2.1.1,這些點分符號在任何網絡中都惟一標識某一個特定數據參數。跟其它程序實現過程一樣,整個SNMP協議管理編程也要經過一個創建、執行、撤銷的過程。初始化SNMP環境即加載SNMP的功能,接著執行所進行的操作,SNMP是基于消息機制的,所以消息的傳遞與管理是程序實現的核心技術。整個SNMP協議的程序實現過程可大體分為加載SNMP,建立會話,設置實體模式,發送接收消息,提取數據報,取得返回值,最終實現設備的實時監視。
2關鍵技術分析
2.1ServerSystemMIB子集
結合本部門的設備實際情況而言,集群服務器平臺下的DigitalUNIX4.0D操作系統使用了Compaq的ServerSystemMIB變量來建立EnvironmentMonitor,但是其缺乏靈活性和易用性,僅僅使用了ServerSystemMIB一個子集。如圖3所示。
本文的設計思想繞過系統的EnvironmentMonitor,直接調用系統函數SNMP_send、SNMP_get等函數訪問ServerSystemMIB(或在客戶端發送SNMP標準協議包實現),獲取系統當前的溫度、風扇、電源等傳感器狀態值,達到對系統硬件狀態的實時、準確的監視。經過擴展使用的ServerSystemMIB子集。如圖4所示。
2.2工作站的SNMP環境監測技術分析
工作站的Windowns系統首先需要啟動SNMP服務,從而在工作站上建立起SNMP管理,使得管理客戶端只需要通過網絡發送標準的SNMP_send、SNMP_get等協議包既可獲取相應于系統硬件狀態的OID值。
從客戶端/服務器的角度來看,監視系統工作站和SNMP既是客戶端,同時又充當服務器的角色。作為服務器,本系統監聽UDP端口162,接收SNMP發送的消息;SNMP監聽UDP端口161,接收本系統發送的查詢請求。作為客戶機,本系統可以隨時向SNMP發送查詢請求。因此,基于Windowns系統下開發的該“集群服務器狀態監視系統”實際上就是一個客戶端。本系統開發的主要工作有以下兩點:
(1)構造正確的PDU,組成SNMP報文;
(2)對發送(接收)的SNMP報文進行BER編碼和解碼。BER編碼處理后的SNMP報文,提交給UDP,同時指定SNMP的IP地址和端口號即可。接收到返回的應答數據包后,再對SNMP報文進行相應的解碼分析和處理。
2.3網絡交換機的SNMP環境監測技術分析
通過深入分析網絡交換機的MIB庫,選取適應本分系統的OID,可以實時監測到包括網絡交換機的各個模塊的運行狀況,在此基礎上,還可以建立相關數據庫文件,統計網絡流量、擁塞狀態等,選取的switchhubMIB子集。如圖5所示。
3簡單網絡管理協議在集群服務器中的應用
目前國內對大型集群服務器硬件設備監視手段比較單一,缺乏對這些網絡集群運行設備的統一監視手段,僅能從設備底層驅動級對其進行監視,無法通過底層傳感器得到硬件設備實時參數信息(例如:機箱風扇狀態、CPU風扇狀態等)。這種基于簡單網絡協議思想建立、開發的硬件設備實時監視系統,很好地利用底層傳感器的有效數據,解決了系統硬件狀態的實時監視問題,基本實現了對各種服務器的監視功能,能夠更好地對在線運行設備進行管理、維護,基本做到了全方位、全天候監視,大大提高了系統的可維護性。
3.1SNMP與兩種常見協議的比較
集群服務器狀態監視系統充分地利用了SNMP具有簡單性、擴展性、獨立性的特性。
(1)簡單性:不用采取類似UDP的連接方式需要在被管理設備上創建新進程的方法,從而影響到其它程序的穩定運行;也不使用TCP“三次握手”來建立的連接方式,避免了浪費網絡、內存資源,實現比較復雜,而且TCP協議很少參與底層網絡的操作,無法監視到底層設備,適合在復雜的互聯網上運行;
(2)擴展性:通過定義新的被管理設備即擁有MIB信息的設備,可以非常方便地擴展管理功能而且可管理絕大部分符合Internet標準的設備;
(3)獨立性:即使被管理設備發生嚴重錯誤時,也不會影響管理設備的正常工作。
3.2簡單網絡協議中MIB的應用
管理信息庫(MIB)是網絡管理中的重要組成部分。每個MIB包含系統與設備的狀態信息、運行的數據統計、配置參數等。通過SNMP的五種命令就可以讀取或設置MIB庫中變量的值,獲得MIB信息的七種PDU。
所有的MIB對象類型被收集到一個或多個管理信息庫中并且對象類型按照管理信息結構和標識(SMI)定義。一個對象類型的名字明確地代表一個對象,稱為對象標識符。對象標識符是按照在MIB樹中建立的嚴格分層空間構造的,對象標識符總是一個惟一的從樹根開始描述MIB樹的整數序列。這里處于簡單性考慮,使用了SNMP定義其中的五種操作,每種操作對應一種PDU。
(1)GetRequest查詢請求PDU,由管理工作站發出,PDU中指明一個或多個要求查詢的對象。接收、處理后,返回GetRequest應答PDU。
(2)SetRequest設置請求PDU,由管理工作站發出,PDU中指明一個或多個要求設置的對象。接收、設置后,返回GetResponse應答PDU。
(3)GetNextRequest查詢請求PDU,由管理工作站發出,PDU中指明一個或多個要求查詢的對象。和GetRequestPDU不同的是,GetNextRequestPDU實際操作的對象,不是PDU中指明的對象,而是按字典序的下一個對象。接收、處理后,返回GetResponse應答PDU。
(4)GetResponse應答PDU,由應答管理工作站發出的查詢、設置請求PDU。應答PDU中包含了處理結果以及出錯代碼。
(5)Trap發出,向管理工作站報告本地網絡事件。所以,通過MIB,網絡管理器對管理對象的管理就簡化為網絡管理器對被管對象的MIB庫的內容的查看和設置。對不同的設備,只要它們有相應的軟件和統一的MIB,網絡管理器就可以對它進行統一管理。同時,網絡管理器對被管對象的控制也通過MIB改變為對MIB內變量值的設置,這樣就避免了管理協議定義過多的控制信息,因為新的控制功能可以通過在MIB中增加對應的新的變量來實現,而不必增加新的控制信息。
3.3集群服務器狀態監視系統
在對SNMP進行細致分析的基礎上,該軟件設計了基于Windows系統、面向UNIX應用軟件的集群服務器狀態監視系統。管理信息庫的組織方式采取類似于SNMP的管理信息組織方式—MIB樹的方式來組織被管對象。協議數據單元方面保持SNMP基本操作,力求在管理站點上提供給管理機一個整個管理區域內的MIB樹的直觀映射,以方便管理機對管理對象的實時監視。
3.4系統流程
根據以上關于SNMP協議的理論,結合本部門的實際情況,集群服務器狀態監視系統的流程設計如圖6。
3.5SNMP與集群服務器的有機結合
就近些年國內對硬件設備監視的種類來看,基于SNMP技術對設備監視的手段已經存在,這種基于SNMP協議建立的硬件設備實時監視系統的方法實現了對集群服務器進行運行狀態監視的功能。針對集群服務器設備的特點,我們實現了SNMP技術與集群服務器的有機結合,使得集群服務器狀態監視系統方法和手段變得更為靈活、易于使用,并且該方法不需要對操作系統做任何的改動,大大增強了該方法的穩定性。而且通過該技術研發的硬件實時監視系統還具有很強的可擴展性和移植性。可將支持SNMP協議的所有設備添加到該系統內,為構建統一的監視平臺提供了技術支持,為其進行全面的設備狀態監視,以便達到更好的設備管理、維護目的(如圖7)。
4完成情況和有待解決的問題
4.1完成情況
基于簡單網絡協議、數據處理分系統設備的現狀,通過VC具體編譯設計監視系統,實現了利用底層傳感器得到集群服務器實時參數信息的功能,并使該系統達到在線運行設備狀態可視化的程度,使得設備的維護、管理更加科學化。
現在已可實現的基本功能:
(1)網絡狀態實時嗅探功能;
(2)實時監視各服務器CPU的運算頻率;
(3)實時監視各服務器CPU的數量;
(4)實時監視各服務器CPU的緩存容量;
(5)實時監視各服務器磁盤的容量;
(6)實時監視各服務器內存的容量;
(7)實時監視各服務器內存的數量;
(8)實時監視各服務器電源狀態;
(9)實時監視各服務器CPU狀態;
(10)實時監視各服務器CPU風扇狀態;
(11)實時監視各服務器電源風扇狀態;
(12)實時監視各服務器機箱溫度及狀態;
(13)實時監視各服務器內部底層傳感器狀態;
(14)實時監視各網絡交換機內部模塊狀態;
(15)實時監視各網絡交換機內部底層傳感器狀態。
4.2有待解決的問題
在集群服務器狀態監視系統管理方面完成了實現預期管理所需的基本功能,測試的結果基本符合設計的要求,但其中也存在一些問題。如系統的反應不夠靈敏,MIB信息的更新速度不夠快;監控模塊的容錯性能較差,發生故障后容易掛起。
還需在系統的安全性方面,和對結構數據類型和用戶自定義數據類型的支持方面作進一步的工作。另外可以考慮擴大監控的范圍,不僅僅對類中的成員變量進行監控,還要對類中的成員函數進行監控。