2016 - 2024

感恩一路有你

功能测试:一次网管测试

浏览量:1274 时间:2024-07-15 12:35:54 作者:采采

摘要

现网在出现故障或者出现大量告警时候,网管系统没有及时的向上级网管站发出告警,导致我们不能第一时间发现问题,解决问题。如何在实验室环境中模拟、重现出现网问题,以及解决问题?本文主要对实验室如何模拟现网环境的测试方法和手段进行了描述。

适读人群

测试设计师、测试经理、质量保证主管、项目经理

模型分析

网管站主要处理三种方式的告警:

1. 主机资源类告警(数据库资源类告警)

2. 核心网元实时告警(采用snmp协议trap发送到网管站)

3. 核心网元数据文件告警(网管站采用ftp协议进行告警文件采集)

经过分析系统出现告警遗漏是网元告警文件模式,现网中配置了大量的关于该类告警的规则,每来一条记录都会触发规则校验。因此主机采集和数据库采集不作为本次关注的重点,只要发些背景压力即可。

系统大概有15个网元,有5台虚拟机供测试使用。因此在每台机器上面部署3个目录来模拟3个网元产生告警文件。

使用loadrunner模拟15个网元并发发起trap告警请求。

在5台虚拟机上部署HostAgent来完成主机信息采集,在1台数据库主机上面部署dbagent.23456783.2模拟网元产生告警文件供网管进行采集。

通过获得现网网元产生的告警文件,进行修改,为了增加压力,使里面的数据产生的告警增多,编写Shell动态生成这些文件。如果每次都发送相同的内容,后台网管站会认为是重复告警,因此我们脚本需要完成下面的功能:

1. 根据系统时间修改告警文件后缀

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信息采集使用真实程序完成,如果需要模拟大批量主机信息采集,需要开发相应的挡板完成。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。