臧其事 周俊琦 謝立帆
摘要:隨著數(shù)據(jù)中心的不斷發(fā)展,設備的種類與數(shù)據(jù)都在增加,從小型機,PC服務器,到交換機,UPS,存儲設備,虛擬機和vCenter,系統(tǒng)管理人員需要一種通用靈活的易用的設備監(jiān)控與管理方式,以提高數(shù)據(jù)中心設備的管理效率。本文首先介紹了簡單網(wǎng)絡管理協(xié)議(SNMP)的工作原理,分析了 SNMP v3 協(xié)議的加密實現(xiàn)。并以農(nóng)行上海分行的基于 SNMP 的設備監(jiān)測系統(tǒng)為例,實現(xiàn)了對數(shù)據(jù)中心各類設備資源的實時管理,通過主動探知與被動告警兩種模式,監(jiān)測設備失效信息并主動告警,提高了數(shù)據(jù)中心設備的管理效率。
關鍵詞:簡單網(wǎng)絡管理協(xié)議;監(jiān)控系統(tǒng);安全性
中圖分類號:TP308 文獻標識碼:A 文章編號:1007-9416(2018)09-0112-02
1 引言
隨著IT技術的發(fā)展,數(shù)據(jù)中心的作用和地位日益重要,承載的設備數(shù)量日益龐大,設備類型日益復雜。傳統(tǒng)形式上,采用對機房進行定時的人工巡檢,被證明是一種低效和滯后的監(jiān)控方式,系統(tǒng)管理員需要實時或準實時的了解設備的基本狀況,如網(wǎng)絡是否聯(lián)通、硬件是否故障、UPS電壓是否在正常范圍內(nèi)等。針對上述需求,中國農(nóng)業(yè)銀行上海市分行考察了多種解決方案,認為簡單網(wǎng)絡管理協(xié)議(Simple Network Management Protocol,SNMP)具有通用與靈活等優(yōu)點,可以在原設備的基礎硬件上實時地進行監(jiān)控。
盡管有著良好的易用性,但SNMP協(xié)議自身存在著一些缺點,主要亟待解決的問題是安全性。在考慮靈活與通用的同時,需要同步考慮安全問題,SNMP v3版本的出現(xiàn),其兩個核心模塊是基于用戶的安全模型 (USM) 和基于視圖的訪問控制模型 (VACM),大大增強了安全性,因此,本文采用了SNMP v3版本的技術進行具體實施。
2 SNMP協(xié)議安全性分析
SNMP使用Community名稱進行認證,而其默認的名稱Public通常不會被管理員刻意更改,而嘗試使用此名稱進行網(wǎng)絡訪問,通常能夠輕易獲得訪問許可。同時,此協(xié)議在傳輸時并不加密,使用網(wǎng)絡抓包工具如Sniff能夠輕易抓取SNMP協(xié)議報文,并分析出使用的Community名稱。還有一些特別的技巧可以逃避Community認證,例如通過對非標準字段進行注入,導致緩沖區(qū)溢出,從而構成一次成功的攻擊。
SNMPv3為了解決安全性問題,主要引入了USM(基于用戶的安全模型)和VACM(基于視圖的訪問控制模型)兩種技術。USM提供了認證和加密功能,VACM確定用戶是否允許訪問特定的MIB對象以及訪問方式。USM引入了用戶名和組的概念,可以設置認證和加密功能。它指定使用HMAC-MD5和HMAC-SHA進行身份驗證,指定使用CBC-DES進行信息加密。在提交RFC 2574(USM)時,這三種安全協(xié)議被認為是(可接受的)安全的。而VACM技術定義了組、安全等級、上下文、MIB視圖、訪問策略五個元素,這些元素同時決定用戶是否具有訪問的權限,只有具有了訪問權限的用戶才能管理操作對象。
3 設備監(jiān)控系統(tǒng)的設計
本系統(tǒng)的設計目標是監(jiān)測數(shù)據(jù)中心各類設備以獲得性能參數(shù),主要有主動和被動兩種模式。其中主動模式是由服務器主動通過OID向客戶端進行詢問,包含CPU負載,風扇轉(zhuǎn)速,磁盤使用,UPS電壓,網(wǎng)絡流量等性能數(shù)據(jù);被動模式是通過客戶端主動向服務器發(fā)起異常消息通知,例如網(wǎng)絡中斷,磁盤拔出,風扇停轉(zhuǎn),或者是某一部件失效。一個典型的異常消息如下所示:
2017-09-14 10:15:32
2 Green Red alarm.NetworkRedundancy LostAlarm - Event: Lost Network Redundancy (74862)
Summary: Lost uplink redundancy on virtual switch "vSwitch1". Physical NIC vmnic5 is down. Affected portgroups:"VLAN1001", "VLAN4000".
通過上述兩種監(jiān)測,可以有效的監(jiān)控和探知設備的使用狀態(tài),根據(jù)歷史數(shù)據(jù)進行分析和預警。
3.1 總體設計
通過對 SNMP 協(xié)議的研究,設計和構建了基于B/S 架構的系統(tǒng)結構模型,如圖1所示。
由于采集產(chǎn)生了大量數(shù)據(jù),這些數(shù)據(jù)以分topic的類別被投送到kafka集群,由下游消費者接收消息并進行分析,最后將分析結果入庫或放入HDFS。從而形成一個經(jīng)典,可插拔的生產(chǎn)-消費者架構。按我行的情況設計,針對不同的設備使用了不同的消費者進行數(shù)據(jù)接收和分析,例如ATM的消費者,UPS的消費者,以及vCenter的消費者。
采用生產(chǎn)-消費者這一經(jīng)典架構,可以通過調(diào)節(jié)生產(chǎn)和消費者的數(shù)量使系統(tǒng)效率達到最大化,例如我行的ATM數(shù)量較多,從而可以通過部署多個消費者的形式處理大量的ATM性能數(shù)據(jù)。
3.2 功能設計
3.2.1 數(shù)據(jù)采集
數(shù)據(jù)采集處于系統(tǒng)的生產(chǎn)者的位置,通過主動詢問的方式采集設備的性能數(shù)據(jù),并將采集得到的數(shù)據(jù)結果按不同的topic放入kafka隊列。 主要是通過各個廠商提供的MiB文件,提取系統(tǒng)需要采集的關鍵指標,如UPS的電壓,服務器風扇轉(zhuǎn)速等數(shù)據(jù),通過給定的OID向設備進行詢問,將返回結果解析后放入消息隊列。該功能作為系統(tǒng)的基礎部分,通過時間驅(qū)動來確保實時性。
3.2.2 數(shù)據(jù)分析
數(shù)據(jù)分析作為系統(tǒng)的消費者存在,主要接收來自數(shù)據(jù)采集功能采集的基礎數(shù)據(jù),包括主機信息、IP信息、磁盤信息、進程信息、CPU信息等數(shù)據(jù),結合設備的具體特征,根據(jù)歷史數(shù)據(jù)得出baseline以及正常浮動范圍,對于超出浮動范圍的部分編制告警信息,并發(fā)送給運維人員。
3.2.3 數(shù)據(jù)展示
數(shù)據(jù)展示主要是以圖表方式呈現(xiàn)被監(jiān)測設備性能歷史數(shù)據(jù),其圖表如圖2所示:
3.2.4 告警
對于超過浮動閾值的性能數(shù)據(jù),以及被動接收到的錯誤信息,將主動通過短信,微信以及語音電話等方式通知運維人員。實現(xiàn)方式是將編制的告警信息放入kafka上另一個topic的消息隊列實現(xiàn),由另外一個告警消費者負責從中讀告警內(nèi)容并分發(fā)給告警人。
4 結語
我行的設備監(jiān)控系統(tǒng)以SNMPv3為基準協(xié)議,實現(xiàn)了對數(shù)據(jù)中心設備資源的實時監(jiān)控,并將監(jiān)測到的性能數(shù)據(jù)以圖形方式直觀顯示出來,提高了設備管理的工作效率,為設備管理提供了一種安全高效的方式。同時完成了對于失效事件的主動告警,將錯誤信息及時推送給運維人員,將反應時間由分鐘縮短到了秒級。由于使用了高安全性的SNMPv3協(xié)議,系統(tǒng)的安全性也得到了較為完善的保障,達到了性能與安全性的平衡,在類似系統(tǒng)的設計中具有一定的借鑒意義。
參考文獻
[1]施勝強.淺析計算機網(wǎng)絡管理[J].計算機光盤軟件與應用,2012,(16):36-38.
[2]趙小錄.SNMPv3在商業(yè)交換機中的研究與應用[D].廣州:廣東工業(yè)大學,2014.
[3]楊曉東,劉玉珍,張煥國.基于SNMP的安全威脅及防范策略分析[J].計算機工程,2004,30(22):122-124.
[4]王金京.云計算環(huán)境下的計算機網(wǎng)絡安全問題探析[J].網(wǎng)絡安全技術與應用,2015,(8):37-38.