本發(fā)明涉及服務(wù)器技術(shù)領(lǐng)域,具體涉及一種基于IPMI服務(wù)的監(jiān)控管理壓力測試整合方法。
背景技術(shù):
服務(wù)器監(jiān)控是實(shí)時(shí)掌握服務(wù)器工作狀態(tài),并在需要時(shí)可以隨時(shí)調(diào)用監(jiān)控記錄進(jìn)行查看,監(jiān)控管理作為服務(wù)器領(lǐng)域中重要的一個(gè)模塊,起著監(jiān)控整個(gè)服務(wù)器運(yùn)行狀態(tài)的命脈端口。通過監(jiān)控管理的網(wǎng)絡(luò)端口,我們可以獲取服務(wù)器的開關(guān)機(jī)狀態(tài)、傳感器的健康狀態(tài)、系統(tǒng)產(chǎn)生的事件等等。在遠(yuǎn)端控制整個(gè)在監(jiān)控管理的測試過程中,穩(wěn)定性的測試是必不可缺的,基于監(jiān)控管理目前的壓力測試腳本對(duì)每個(gè)專案的不通用性和腳本管理的復(fù)雜性,需要將監(jiān)控管理壓力測試整合。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是提供一種基于IPMI服務(wù)的監(jiān)控管理壓力測試整合方法,基于Shell環(huán)境下的壓力穩(wěn)定性測試的改良,在原來壓力測試腳本的基礎(chǔ)上易管理、具有通用性和延伸擴(kuò)展性。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于IPMI服務(wù)的監(jiān)控管理壓力測試整合方法,關(guān)閉防火墻,保證測試機(jī)能夠和待測試的節(jié)點(diǎn)或者模塊能夠Ping通,即保證兩臺(tái)機(jī)器的IP在同一地址段;在遠(yuǎn)程Linux客戶端,打開終端直接運(yùn)行shell腳本:
按照提示,輸入待測節(jié)點(diǎn)或模塊的監(jiān)控管理端IP,選擇需要運(yùn)行的壓力穩(wěn)定性測試類型;自動(dòng)記錄運(yùn)行次數(shù)、傳感器狀態(tài)和讀值,系統(tǒng)事件日志等;
腳本執(zhí)行完成之后,測試結(jié)果放在腳本所在目錄下的相應(yīng)IP的文件夾中,測試人員查看log文件,判斷測試結(jié)果是否符合要求。
優(yōu)選的,該shell腳本執(zhí)行中會(huì)提示輸入測試平臺(tái)IP和測試類型,自動(dòng)執(zhí)行。
本發(fā)明的一種基于IPMI服務(wù)的監(jiān)控管理壓力測試整合方法與現(xiàn)有技術(shù)相比,具有以下有益效果:
具有易管理性,將現(xiàn)有的監(jiān)控管理的遠(yuǎn)程控制端的壓力穩(wěn)定性測試腳本集合至一個(gè)腳本下;
具有通用性,在測試中無需根據(jù)各專案的sensor類別不一樣而做出修改;
具有延伸擴(kuò)展性,目前加入的壓力穩(wěn)定性測試只有sensor讀取、reset加壓測試、網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)開關(guān)機(jī)等壓力測試,后續(xù)如果測試需要,可以加入更多的壓力穩(wěn)定性測試,增加相應(yīng)的條目即可;
能夠適應(yīng)多平臺(tái),自動(dòng)化操作,shell腳本執(zhí)行中會(huì)提示輸入測試平臺(tái)IP和測試類型,自動(dòng)執(zhí)行,不需要測試人員記住因平臺(tái)而異的、復(fù)雜的sensor名,只需要執(zhí)行完成之后查看腳本就可以完成相關(guān)穩(wěn)定性測試;操作步驟簡便,大幅提高測試效率。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
一種基于IPMI服務(wù)的監(jiān)控管理壓力測試整合方法,關(guān)閉防火墻,保證測試機(jī)能夠和待測試的節(jié)點(diǎn)或者模塊能夠Ping通,即保證兩臺(tái)機(jī)器的IP在同一地址段;在遠(yuǎn)程Linux客戶端,打開終端直接運(yùn)行shell腳本:
主要代碼:
#!/bin/bash
#program:
echo " ==================================================
BMC STRESS IPMI SESSION KEEP FORE OPTION
usage: ./ipmi.stress.sh
1. bmc info (check the session link info)
2. Sensor_reading Stress
3. Reset Stress
4. Mix_power Stress
================================================"
echo "BMC IP"
read IP
read -p "input your choice(1-4): " choice
case $choice in
"1")
echo "bmc info"
ipmitool -I lanplus -H $IP -U admin -P admin bmc info
;;
"2")
echo "Sensor_reading"
mkdir -p $IP
for i in $(seq 1 1 10000 )
do
echo $i |tee -a $IP/sdr.log
echo $i >> $IP/bmcinfo.log
echo $i >> $IP/temp.log
echo $i >> $IP/volt.log
echo $i >> $IP/fan.log
echo $i >> $IP/sel.log
echo "=================" >> $IP/fan.log
echo "=================" >> $IP/temp.log
echo "=================" >> $IP/volt.log
echo "=================" >> $IP/bmcinfo.log
echo "=================" >> $IP/sel.log
echo "=================" |tee -a $IP/sdr.log
date | tee -a $IP/sdr.log
date >> $IP/volt.log
date >> $IP/temp.log
date >> $IP/fan.log
date >> $IP/bmcinfo.log
ipmitool -I lanplus -H $IP -U admin -P admin sdr elist |tee -a $IP/sdr.log
ipmitool -I lanplus -H $IP -U admin -P admin sdr type temp >> $IP/temp.log
ipmitool -I lanplus -H $IP -U admin -P admin sdr type volt >> $IP/volt.log
ipmitool -I lanplus -H $IP -U admin -P admin sdr type fan >> $IP/fan.log
ipmitool -I lanplus -H $IP -U admin -P admin bmc info >> $IP/bmcinfo.log
ipmitool -I lanplus -H $IP -U admin -P admin sel elist >> $IP/sel.log
ipmitool -I lanplus -H $IP -U admin -P admin sel clear
sleep 10
done
;;
"3")
echo "BMC_reset"
mkdir -p $IP
for i in $(seq 1 1 1000 )
do
echo $i |tee -a $IP/sdr.log
echo $i >> $IP/bmcinfo.log
echo $i >> $IP/temp.log
echo $i >> $IP/volt.log
echo $i >> $IP/fan.log
echo $i >> $IP/sel.log
echo "=================" >> $IP/fan.log
echo "=================">> $IP/temp.log
echo "=================" >> $IP/volt.log
echo "=================" >> $IP/bmcinfo.log
echo "=================" >> $IP/sel.log
echo "=================" |tee -a $IP/sdr.log
date | tee -a $IP/sdr.log
date >> $IP/volt.log
date >> $IP/temp.log
date >> $IP/fan.log
date >> $IP/bmcinfo.log
ipmitool -I lanplus -H $IP -U admin -P admin raw 0x06 0x02
sleep 180
ipmitool -I lanplus -H $IP -U admin -P admin sdr elist |tee -a $IP/sdr.log
ipmitool -I lanplus -H $IP -U admin -P admin sdr type temp >> $IP/temp.log
ipmitool -I lanplus -H $IP -U admin -P admin sdr type volt >> $IP/volt.log
ipmitool -I lanplus -H $IP -U admin -P admin sdr type fan >> $IP/fan.log
ipmitool -I lanplus -H $IP -U admin -P admin bmc info >> $IP/bmcinfo.log
ipmitool -I lanplus -H $IP -U admin -P admin sel elist >> $IP/sel.log
ipmitool -I lanplus -H $IP -U admin -P admin sel clear
sleep 10
done
;;
"4")
echo "Mix_power"
for ((i=1; i<=1000; i++))
do
echo $i
ipmitool -I lanplus -U admin -P admin -H $IP raw 0x00 0x02 0x02 2>>powerCycle.log 1>>/dev/null
sleep 300
ipmitool -I lanplus -U admin -P admin -H $IP raw 0x00 0x02 0x03 2>>hardrest.log 1>>/dev/null
sleep 300
ipmitool -I lanplus -U admin -P admin -H $IP raw 0x00 0x02 0x00 2>>powerdown.log 1>>/dev/null
sleep 15
ipmitool -I lanplus -U admin -P admin -H $IP raw 0x00 0x02 0x01 2>>poweron.log 1>>/dev/null
sleep 300
done
;;
Esac
按照提示,輸入待測節(jié)點(diǎn)或模塊的監(jiān)控管理端IP,選擇需要運(yùn)行的壓力穩(wěn)定性測試類型;自動(dòng)記錄運(yùn)行次數(shù)、傳感器狀態(tài)和讀值,系統(tǒng)事件日志等;
腳本執(zhí)行完成之后,測試結(jié)果放在腳本所在目錄下的相應(yīng)IP的文件夾中,測試人員查看log文件,判斷測試結(jié)果是否符合要求。
該shell腳本執(zhí)行中會(huì)提示輸入測試平臺(tái)IP和測試類型,自動(dòng)執(zhí)行。
通過上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。