功能測試:一次網(wǎng)管測試
摘要現(xiàn)網(wǎng)在出現(xiàn)故障或者出現(xiàn)大量告警時候,網(wǎng)管系統(tǒng)沒有及時的向上級網(wǎng)管站發(fā)出告警,導(dǎo)致我們不能第一時間發(fā)現(xiàn)問題,解決問題。如何在實驗室環(huán)境中模擬、重現(xiàn)出現(xiàn)網(wǎng)問題,以及解決問題?本文主要對實驗室如何模擬現(xiàn)
摘要
現(xiàn)網(wǎng)在出現(xiàn)故障或者出現(xiàn)大量告警時候,網(wǎng)管系統(tǒng)沒有及時的向上級網(wǎng)管站發(fā)出告警,導(dǎo)致我們不能第一時間發(fā)現(xiàn)問題,解決問題。如何在實驗室環(huán)境中模擬、重現(xiàn)出現(xiàn)網(wǎng)問題,以及解決問題?本文主要對實驗室如何模擬現(xiàn)網(wǎng)環(huán)境的測試方法和手段進行了描述。
適讀人群
測試設(shè)計師、測試經(jīng)理、質(zhì)量保證主管、項目經(jīng)理
模型分析
網(wǎng)管站主要處理三種方式的告警:
1. 主機資源類告警(數(shù)據(jù)庫資源類告警)
2. 核心網(wǎng)元實時告警(采用snmp協(xié)議trap發(fā)送到網(wǎng)管站)
3. 核心網(wǎng)元數(shù)據(jù)文件告警(網(wǎng)管站采用ftp協(xié)議進行告警文件采集)
經(jīng)過分析系統(tǒng)出現(xiàn)告警遺漏是網(wǎng)元告警文件模式,現(xiàn)網(wǎng)中配置了大量的關(guān)于該類告警的規(guī)則,每來一條記錄都會觸發(fā)規(guī)則校驗。因此主機采集和數(shù)據(jù)庫采集不作為本次關(guān)注的重點,只要發(fā)些背景壓力即可。
系統(tǒng)大概有15個網(wǎng)元,有5臺虛擬機供測試使用。因此在每臺機器上面部署3個目錄來模擬3個網(wǎng)元產(chǎn)生告警文件。
使用loadrunner模擬15個網(wǎng)元并發(fā)發(fā)起trap告警請求。
在5臺虛擬機上部署HostAgent來完成主機信息采集,在1臺數(shù)據(jù)庫主機上面部署dbagent.23456783.2模擬網(wǎng)元產(chǎn)生告警文件供網(wǎng)管進行采集。
通過獲得現(xiàn)網(wǎng)網(wǎng)元產(chǎn)生的告警文件,進行修改,為了增加壓力,使里面的數(shù)據(jù)產(chǎn)生的告警增多,編寫Shell動態(tài)生成這些文件。如果每次都發(fā)送相同的內(nèi)容,后臺網(wǎng)管站會認為是重復(fù)告警,因此我們腳本需要完成下面的功能:
1. 根據(jù)系統(tǒng)時間修改告警文件后綴
2. 在達到告警清除時間后能夠進行判讀是否需要生成告警文件。
示例代碼:
```
!/bin/bash
olddate"quot"
runi0
while true; do
find "/root/data1/" -name "mpiag*" > result.txt
count$(wc -l result.txt|awk '{print $1}')
if [ $count -gt 1 ]; then
echo "have"
else
runi$runi 1
filename$(find "./tmp/" -name "mpiag*")
arr(${filename// / })
arr1(${arr//// })
for i in ${arr1[@]}; do
filename$id
done
echo "fielname$filename"
arr2(${filename//_/ })
for i in ${arr2[@]}; do
olddate$id
done
newdate$(date %Y%m%d%H%M'00')
rename $olddate $newdate ./tmp/*
cp -r ./tmp/* /root/data1/
echo $runi
fi
sleep 500
done
```
主機和DB信息采集
主機采集和DB信息采集使用真實程序完成,如果需要模擬大批量主機信息采集,需要開發(fā)相應(yīng)的擋板完成。