一種使用snmp協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng),屬于服務(wù)器監(jiān)控【技術(shù)領(lǐng)域】,在服務(wù)器系統(tǒng)中使用BMC提供監(jiān)控管理服務(wù);BMC通過訪問傳感器對(duì)服務(wù)器機(jī)箱內(nèi)所有硬件進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)機(jī)箱內(nèi)有傳感器監(jiān)控到的數(shù)值超過預(yù)設(shè)的閾值時(shí),則向監(jiān)控主機(jī)發(fā)送報(bào)警消息;在監(jiān)控主機(jī)上安裝SNMP服務(wù)程序,主動(dòng)讀取被監(jiān)控傳感器數(shù)值;BMC監(jiān)控到的傳感器數(shù)據(jù)放置在系統(tǒng)共享內(nèi)存中,同時(shí)供基于IPMI監(jiān)控的程序和基于SNMP監(jiān)控的程序使用。發(fā)明為服務(wù)器運(yùn)行的可靠性提供雙重保證,防止在IPMI協(xié)議運(yùn)行異常時(shí)出現(xiàn)無法監(jiān)控的情況,提高監(jiān)控管理系統(tǒng)的可靠性。
【專利說明】—種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng)
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及服務(wù)器監(jiān)控【技術(shù)領(lǐng)域】,具體地說是一種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控 管理的系統(tǒng)。
【背景技術(shù)】
[0003]在當(dāng)前的大型服務(wù)器系統(tǒng)中,需要保證服務(wù)器運(yùn)行過程中及時(shí)發(fā)現(xiàn)硬件出現(xiàn)的 問題,并采取措施保證服務(wù)器的可靠性。目前對(duì)服務(wù)器的監(jiān)控主要通過帶內(nèi)和帶外的方式。 帶內(nèi)監(jiān)控是通過在服務(wù)器上運(yùn)行的操作系統(tǒng)包含的軟件對(duì)服務(wù)器進(jìn)行監(jiān)控,這種情況下一 旦操作系統(tǒng)出現(xiàn)異?;蛘咴诜?wù)器掉電則無法進(jìn)行正常的監(jiān)控。帶外監(jiān)控是通過在服務(wù)器 機(jī)箱內(nèi)的BMC辦卡提供監(jiān)控,因?yàn)椴灰蕾囉诓僮飨到y(tǒng)和服務(wù)器電源,因此即使在服務(wù)器不 開機(jī)的情況下也能提供正常的監(jiān)控管理。
[0004]BMC通常采用IPMI協(xié)議與被監(jiān)控的硬件進(jìn)行通信,同時(shí)以IPMI數(shù)據(jù)包的形式將 得到的數(shù)據(jù)或者報(bào)警消息發(fā)送給監(jiān)控主機(jī)。因此需要監(jiān)控主機(jī)必須安裝相應(yīng)支持IPMI協(xié) 議的軟件,否則無法正確解析BMC發(fā)出的命令。同時(shí)存在對(duì)IPMI解析的軟件因故障意外停 止的情況。因此需要在通過IPMI協(xié)議監(jiān)控的同時(shí),提供一種輔助的監(jiān)控方法。
[0005]簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP),由一組網(wǎng)絡(luò)管理的標(biāo)準(zhǔn)組成,包含一個(gè)應(yīng)用層協(xié)議 (application layer protocol)、數(shù)據(jù)庫模型(database schema)和一組資料物件。該協(xié) 議能夠支持網(wǎng)絡(luò)管理系統(tǒng),用以監(jiān)測(cè)連接到網(wǎng)絡(luò)上的設(shè)備是否有任何引起管理上關(guān)注的情 況。該協(xié)議是互聯(lián)網(wǎng)工程工作小組(IETF, Internet Engineering Task Force)定義的 internet協(xié)議簇的一部分。
【發(fā)明內(nèi)容】
[0006]SNMP協(xié)議目前主要用于遠(yuǎn)程系統(tǒng)管理。本發(fā)明將該協(xié)議應(yīng)用在服務(wù)器監(jiān)控管理 領(lǐng)域,提出了一種基于SNMP協(xié)議的服務(wù)器監(jiān)控管理系統(tǒng)的設(shè)計(jì)方案。
[0007]—種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng),其在服務(wù)器系統(tǒng)中使用BMC提供 監(jiān)控管理服務(wù);BMC通過訪問傳感器對(duì)服務(wù)器機(jī)箱內(nèi)所有硬件進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)機(jī)箱內(nèi)有 傳感器監(jiān)控到的數(shù)值超過預(yù)設(shè)的閾值時(shí),則向監(jiān)控主機(jī)發(fā)送報(bào)警消息;在監(jiān)控主機(jī)上安裝 SNMP服務(wù)程序,主動(dòng)讀取被監(jiān)控傳感器數(shù)值;BMC監(jiān)控到的傳感器數(shù)據(jù)放置在系統(tǒng)共享內(nèi) 存中,同時(shí)供基于IPMI監(jiān)控的程序和基于SNMP監(jiān)控的程序使用。
[0008]一種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng),其SNMP監(jiān)控系統(tǒng)為監(jiān)控主機(jī)提供 兩種服務(wù):一種為監(jiān)控主機(jī)可以通過SNMP協(xié)議查看當(dāng)前服務(wù)器中所有傳感器的數(shù)值,判斷 是否有硬件工作在非正常狀態(tài);另一種為當(dāng)SNMP監(jiān)控系統(tǒng)檢測(cè)到當(dāng)前有傳感器數(shù)值異常 時(shí),可自動(dòng)向注冊(cè)的IP地址發(fā)送報(bào)警信息。
[0009]一種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng),其所有需要監(jiān)測(cè)的傳感器以SNMP協(xié)議中的MIB節(jié)點(diǎn)的方式以樹形掛在在MIB數(shù)據(jù)庫上;通過對(duì)樹的遍歷訪問每個(gè)傳感器的讀數(shù)。
[0010]一種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng),其通過SNMP協(xié)議的報(bào)警保證在服務(wù)器監(jiān)控管理過程中,當(dāng)IPMI服務(wù)發(fā)生異常時(shí),監(jiān)控主機(jī)仍然能正常發(fā)現(xiàn)服務(wù)器中的硬件異常。
[0011]本發(fā)明的有益效果是:
將SNMP協(xié)議應(yīng)用在服務(wù)器監(jiān)控管理領(lǐng)域,與通常使用的IPMI協(xié)議一起,為服務(wù)器運(yùn)行的可靠性提供雙重保證,防止在IPMI協(xié)議運(yùn)行異常時(shí)出現(xiàn)無法監(jiān)控的情況,提高監(jiān)控管理系統(tǒng)的可靠性。
【專利附圖】
【附圖說明】
[0012]附圖1為SNMP服務(wù)自帶的MIB樹結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0013]1、本實(shí)施方式建立在LINUX操作系統(tǒng)上通過移植開源NET-SNMP代碼實(shí)現(xiàn)通過SNMP協(xié)議提供服務(wù)器的監(jiān)控管理功能。實(shí)施時(shí)需要按如下步驟根據(jù)服務(wù)器監(jiān)控管理需要將修改后的代碼編譯成能運(yùn)行在BMC上的可執(zhí)行程序。
[0014]2、建立數(shù)據(jù)庫文件,描述需要添加在MIB庫中的節(jié)點(diǎn),假設(shè)建立的數(shù)據(jù)庫文件名為 Inspur-MIB.txt:
在編譯NET-SNMP并將編譯后的程序移植到BMC板上執(zhí)行時(shí),SNMP服務(wù)會(huì)自帶一個(gè)MIB樹。
[0015]附圖中所示節(jié)點(diǎn)通常都為NET-SNMP在運(yùn)行時(shí)維護(hù)的默認(rèn)MIB庫中的節(jié)點(diǎn)。如果需要添加自定義節(jié)點(diǎn),需要在private下的enterprises下建立自己公司的節(jié)點(diǎn)。一般經(jīng)常使用SNMP服務(wù)的公司都會(huì)有自己固定的公司節(jié)點(diǎn)號(hào),在本發(fā)明中使用節(jié)點(diǎn)37945表示BMC的生產(chǎn)商(浪潮),之后在37945節(jié)點(diǎn)下建立子節(jié)點(diǎn)分別表示各個(gè)需要監(jiān)控的傳感器。
[0016]因?yàn)樾枰獙⑿陆ǖ墓?jié)點(diǎn)編譯到SNMP服務(wù)程序(snmpd)中,以便其能響應(yīng)對(duì)新增傳感器的讀消息和發(fā)送報(bào)警。需要根據(jù)新建節(jié)點(diǎn)使用mib2c工具將Inspur-MIB.txt轉(zhuǎn)化為代碼文件(Inspur, c, Inspur, h),并將這2個(gè)文件添加到NET-SNMP的編譯過程中。
[0017]使用mib2c之前首先需要將生成的Inspur-MIB.txt文件拷貝到目錄/root/temp/share/snmp/mibs中,如不存在相關(guān)目錄則需要新建。然后可在目錄apps中用命令/snmptranslate -1R - Tp Inspur”查看Inspur-MIB.txt是否正確定義了新建的節(jié)點(diǎn),如果Inspur-MIB.txt中沒有錯(cuò)誤,則該命令會(huì)打印出新建的節(jié)點(diǎn)以及其所有子節(jié)點(diǎn)的連接關(guān)系。
[0018]如Inspur-MIB.txt已經(jīng)被正確建立,貝U在目錄local中執(zhí)行以下指令“envMIBS="+ MyOID"./mib2c _c mib2c.notify, conf MASELLIE” 則可生成代碼文件 Inspur,c, Inspur, h
3、修改Inspur, c, Inspur, h文件,使新建節(jié)點(diǎn)能相應(yīng)消息
在Inspur, c中添加對(duì)“M0DE_GET”消息的相應(yīng),當(dāng)收到該消息時(shí),讀取相應(yīng)傳感器的值,并將該值發(fā)送給上位機(jī),同時(shí)添加計(jì)數(shù)器,計(jì)數(shù)器每一秒激發(fā)一次,查看CPU溫度,硬盤溫度,風(fēng)扇轉(zhuǎn)速的數(shù)值,如有超出閾值的,則發(fā)送報(bào)警。添加代碼見文件。
[0019]4、交叉編譯net-snmp,生成可執(zhí)行程序已經(jīng)相關(guān)庫將Inspur-MIB.txt拷貝到net-snmp源碼包的mibs目錄下將 Inspur.C,Inspur, h 拷貝到 net-snmp 源碼包的 agent\mibgroup 目錄下在~/? bashrc中添加環(huán)境變量“ export MIBS=ALL”
在net-snmp源碼根目錄調(diào)用一下指令進(jìn)行配置,同時(shí)生成makefile: uCC=/【交叉編譯工具目錄]/arm-1 inux-gcc./configure —prefix=/root/temp —build=i386_linux —host=arm-linux —enabIe-min 1-agent —disable_ipv6 —with_endianness=little --disable—manuals —disable-ucd—snmp-compatibiIity —enabIe—as—needed —disable-embedded-perl —without-per1-modules —disable-snmptrapd—subagent —disable-scripts —with-mib-modules= Inspur,,
然后執(zhí)行“make”生成可執(zhí)行文件
5、在編譯后的net-snmp源碼目錄執(zhí)行以下命令拷貝相關(guān)文件到開發(fā)板文件系統(tǒng)目錄 cp agent/snmpd【文件系統(tǒng)目錄】/usr/bin
拷貝運(yùn)行時(shí)需要的庫文件到/usr/lib
將snmp服務(wù)配置文件snmpd.conf拷貝到【文件系統(tǒng)目錄】/home/conf目錄
6、更改系統(tǒng)的啟動(dòng)配置文檔,系統(tǒng)在初始化時(shí)調(diào)用命令“snmpd-C-c〈配置文件路徑>/snmpd.conf - M〈MIBS庫的TXT文件夾路徑 >”來啟動(dòng)snmp服務(wù)
應(yīng)用過程
1.在監(jiān)控主機(jī)上安裝SNMP服務(wù)程序,主動(dòng)讀取被監(jiān)控傳感器數(shù)值。如在LINUX系統(tǒng)下,安裝NET-SNMP后可使用如下命令讀取傳感器數(shù)值:
`snmpget -v 2c _c public 192.168.0.99 (BMC IP) 1.3.6.1.4.1.37945.1 (傳感器節(jié)點(diǎn)號(hào))
2.在監(jiān)控主機(jī)上安裝SNMP服務(wù)程序后啟動(dòng)監(jiān)聽程序: nmptrapd -C _c snmptrap, conf
之后BMC發(fā)出的所有SNMP報(bào)警信息都可以被監(jiān)控主機(jī)接受到,可據(jù)此判斷硬件故障。
【權(quán)利要求】
1.一種使用SNMP協(xié)議對(duì)服務(wù)器監(jiān)控管理的系統(tǒng),其特征在于在服務(wù)器系統(tǒng)中使用BMC提供監(jiān)控管理服務(wù);BMC通過訪問傳感器對(duì)服務(wù)器機(jī)箱內(nèi)所有硬件進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)機(jī)箱內(nèi)有傳感器監(jiān)控到的數(shù)值超過預(yù)設(shè)的閾值時(shí),則向監(jiān)控主機(jī)發(fā)送報(bào)警消息;在監(jiān)控主機(jī)上安裝SNMP服務(wù)程序,主動(dòng)讀取被監(jiān)控傳感器數(shù)值;BMC監(jiān)控到的傳感器數(shù)據(jù)放置在系統(tǒng)共享內(nèi)存中,同時(shí)供基于IPMI監(jiān)控的程序和基于SNMP監(jiān)控的程序使用。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于SNMP監(jiān)控系統(tǒng)為監(jiān)控主機(jī)提供兩種服務(wù):一種為監(jiān)控主機(jī)可以通過SNMP協(xié)議查看當(dāng)前服務(wù)器中所有傳感器的數(shù)值,判斷是否有硬件工作在非正常狀態(tài);另一種為當(dāng)SNMP監(jiān)控系統(tǒng)檢測(cè)到當(dāng)前有傳感器數(shù)值異常時(shí),可自動(dòng)向注冊(cè)的IP地址發(fā)送報(bào)警信息。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所有需要監(jiān)測(cè)的傳感器以SNMP協(xié)議中的MIB節(jié)點(diǎn)的方式以樹形掛在在MIB數(shù)據(jù)庫上;通過對(duì)樹的遍歷訪問每個(gè)傳感器的讀數(shù)。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于通過SNMP協(xié)議的報(bào)警保證在服務(wù)器監(jiān)控管理過程中,當(dāng)IPMI服務(wù)發(fā)生異常時(shí),監(jiān)控主機(jī)仍然能正常發(fā)現(xiàn)服務(wù)器中的硬件異常。
【文檔編號(hào)】H04L29/06GK103607314SQ201310663227
【公開日】2014年2月26日 申請(qǐng)日期:2013年12月10日 優(yōu)先權(quán)日:2013年12月10日
【發(fā)明者】鄒虎 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司