基于SNMP协议的电信网络监测系统的实现
时间:07-30
来源:互联网
点击:
2、系统的设计和实现
2.1系统的开发环境和工具
本课题使用Linux作为操作系统平台,使用MagicC++可视化IDE作为开发工具,使用CVS(Linux平台)和VisualSourceSafe(windows平台)进行代码和文档版本控制,使用Oracle进行分布式数据库部属,前台的界面呈现部分使用了Apache服务器以及PHP语言、HTML语言、JavaScript语言等工具。
2.2SNMP数据采集层的设计和实现
SNMP数据采集层主要由五个模块所组成,分别是:日志模块、SNMP采集模块、Trap消息接收模块、DEAMON模块和数据库接口模块。其中SNMP采集模块和Trap消息接收模块是数据采集层的核心模块。
2.2.1SNMP数据采集模块的设计和实现
SNMP数据采集模块的主要功能是:从数据库的系统配置表中的设备监测列表中取出一个被监测网络单元的IP地址,根据配置表中用户定制监测项的MIBID来轮询网络单元的各个MIB值,并将值存入链表中。等全部MIBID查询结束后,将所得到的链表存入到对应的数据文件中去,继续轮询下一个网络单元。全部网络单元拓扑查询结束后,回到等待状态,使用信号解析子模块解析信号,以判断是结束还是继续查询,或者是应答监测模块的监测信号。
SNMP数据采集模块由6个子模块组成,它们分别是系统调度子模块、MIBID查询引擎、文件读写接口、链表操作接口、信号解析接口、数据库接口。其中最重要的是MIBID查询引擎。
MIBID查询引擎是通过使用修改net-snmp软件包中的snmpget和snmpwalk来构成的,它可以通过文件读写接口将MIB子树ID配置文件读出来,并且按照ID值使用引擎发出SNMPGETNEXT请求,等待消息回来。如果不成功,记录模块将出错信息存入到日志文件中去,如果成功完成SNMP查询操作,则链表操作接口将数据插入到链表中。同时查询此次设备轮询是否已经完成,如果完成,使用文件读写接口将链表存入文件;如果未完成,继续查询。然后,调用信号解析接口按照别的进程传递过来的信号分类处理。
2.2.2Trap消息接受模块的设计和实现
Trap消息接收模块的目的是负责接收SNMP发送来的Trap消息,并且将此消息即刻写入到数据库中去。
Trap接收模块的流程如下:
1)Trap消息以守护进程的方式运行于系统中,监测系统的触发条件有两个:a)来自于所监测网络单元的Trap消息。b)来自于DEAMON进程的运行监测信号。
2)下面就是从这两个触发条件开始:
如果是a),那么将这条Trap消息传给消息包裹函数,打上本监测系统的标记,然后调用入库模块将包裹后的信息存入到Trap信息表中去。
如果是b),那么调用监测信号回应子模块回应监测信号。
2.3SNMP数据呈现层的设计和实现
SNMP数据呈现层根据功能可以划分为五个主要的模块,分别为:数据库访问模块、设备状态实时显示模块、故障实时告警模块、性能报告模块和用户定制模块。主要利用HTML语言构建页面,PHP语言的访问数据库及绘图语句实现了上述五个模块的功能。
2.3.1数据库访问
数据库访问模块分为数据库读取子模块和数据库录入修改子模块,主要用到了PHP语言对Oracle数据库的连接及操作的函数。
2.3.2PHP绘图语句
性能报告模块主要使用PHP语言中的绘图函数如Imagecreate()、Imagecolorallocate()、Imageline()、Imagestring()、Imagerectangle()、Imagefillrectangle()、ImageFONTheight()、ImageFONTwidth()。通过这些函数实现了对设备的主要信息的柱状图、曲线图的显示,使用户对设备的各种信息的变化对比能有一个直观的了解。
3、运行结果及分析
3.1SNMP信息采集模块运行输出
通过遍历目的主机的SNMPMIB树所获得的结果可看到:a)系统的一些信息,包括系统的版本号、启动时间、描述、系统名、位置、服务等信息。b)对此主机系统interface的描述。c)每个接口的详细信息,接口的类型,接口的最小传输单元。
3.2日志模块输出
日志模块的输出格式,主要包括日志的描述信息、日志输出的时间、日志类型、日志导出程序、主机标识等信息。
3.3系统界面图
图3显示的是在局域网中进行测试的主界面,系统会根据数据库中存储的局域网组信息自动生成局域网组的树型菜单,由于在局域网中进行测试,所以图显示的只有一个局域网组。右边显示的是此局域网组的实时设备状态,将鼠标放到设备上,可以看到相应设备信息,点击设备,可以进入详细信息页面,查看此设备的详细信息。

图3系统主界面
3.4性能报告曲线图
本系统可以根据用户的需要,对目标网络中的各类设备,包括交换机、防火墙、路由器、主机、服务器等进行监测,获取设备的端口信息、流量信息、故障信息以及各种性能信息。图4显示的是测试局域网内一个交换机从12:00~17:00的平均流量曲线图。同样的数据还可以用柱状图显示。

图4交换机平均流量曲线图
2.1系统的开发环境和工具
本课题使用Linux作为操作系统平台,使用MagicC++可视化IDE作为开发工具,使用CVS(Linux平台)和VisualSourceSafe(windows平台)进行代码和文档版本控制,使用Oracle进行分布式数据库部属,前台的界面呈现部分使用了Apache服务器以及PHP语言、HTML语言、JavaScript语言等工具。
2.2SNMP数据采集层的设计和实现
SNMP数据采集层主要由五个模块所组成,分别是:日志模块、SNMP采集模块、Trap消息接收模块、DEAMON模块和数据库接口模块。其中SNMP采集模块和Trap消息接收模块是数据采集层的核心模块。
2.2.1SNMP数据采集模块的设计和实现
SNMP数据采集模块的主要功能是:从数据库的系统配置表中的设备监测列表中取出一个被监测网络单元的IP地址,根据配置表中用户定制监测项的MIBID来轮询网络单元的各个MIB值,并将值存入链表中。等全部MIBID查询结束后,将所得到的链表存入到对应的数据文件中去,继续轮询下一个网络单元。全部网络单元拓扑查询结束后,回到等待状态,使用信号解析子模块解析信号,以判断是结束还是继续查询,或者是应答监测模块的监测信号。
SNMP数据采集模块由6个子模块组成,它们分别是系统调度子模块、MIBID查询引擎、文件读写接口、链表操作接口、信号解析接口、数据库接口。其中最重要的是MIBID查询引擎。
MIBID查询引擎是通过使用修改net-snmp软件包中的snmpget和snmpwalk来构成的,它可以通过文件读写接口将MIB子树ID配置文件读出来,并且按照ID值使用引擎发出SNMPGETNEXT请求,等待消息回来。如果不成功,记录模块将出错信息存入到日志文件中去,如果成功完成SNMP查询操作,则链表操作接口将数据插入到链表中。同时查询此次设备轮询是否已经完成,如果完成,使用文件读写接口将链表存入文件;如果未完成,继续查询。然后,调用信号解析接口按照别的进程传递过来的信号分类处理。
2.2.2Trap消息接受模块的设计和实现
Trap消息接收模块的目的是负责接收SNMP发送来的Trap消息,并且将此消息即刻写入到数据库中去。
Trap接收模块的流程如下:
1)Trap消息以守护进程的方式运行于系统中,监测系统的触发条件有两个:a)来自于所监测网络单元的Trap消息。b)来自于DEAMON进程的运行监测信号。
2)下面就是从这两个触发条件开始:
如果是a),那么将这条Trap消息传给消息包裹函数,打上本监测系统的标记,然后调用入库模块将包裹后的信息存入到Trap信息表中去。
如果是b),那么调用监测信号回应子模块回应监测信号。
2.3SNMP数据呈现层的设计和实现
SNMP数据呈现层根据功能可以划分为五个主要的模块,分别为:数据库访问模块、设备状态实时显示模块、故障实时告警模块、性能报告模块和用户定制模块。主要利用HTML语言构建页面,PHP语言的访问数据库及绘图语句实现了上述五个模块的功能。
2.3.1数据库访问
数据库访问模块分为数据库读取子模块和数据库录入修改子模块,主要用到了PHP语言对Oracle数据库的连接及操作的函数。
2.3.2PHP绘图语句
性能报告模块主要使用PHP语言中的绘图函数如Imagecreate()、Imagecolorallocate()、Imageline()、Imagestring()、Imagerectangle()、Imagefillrectangle()、ImageFONTheight()、ImageFONTwidth()。通过这些函数实现了对设备的主要信息的柱状图、曲线图的显示,使用户对设备的各种信息的变化对比能有一个直观的了解。
3、运行结果及分析
3.1SNMP信息采集模块运行输出
通过遍历目的主机的SNMPMIB树所获得的结果可看到:a)系统的一些信息,包括系统的版本号、启动时间、描述、系统名、位置、服务等信息。b)对此主机系统interface的描述。c)每个接口的详细信息,接口的类型,接口的最小传输单元。
3.2日志模块输出
日志模块的输出格式,主要包括日志的描述信息、日志输出的时间、日志类型、日志导出程序、主机标识等信息。
3.3系统界面图
图3显示的是在局域网中进行测试的主界面,系统会根据数据库中存储的局域网组信息自动生成局域网组的树型菜单,由于在局域网中进行测试,所以图显示的只有一个局域网组。右边显示的是此局域网组的实时设备状态,将鼠标放到设备上,可以看到相应设备信息,点击设备,可以进入详细信息页面,查看此设备的详细信息。

图3系统主界面
3.4性能报告曲线图
本系统可以根据用户的需要,对目标网络中的各类设备,包括交换机、防火墙、路由器、主机、服务器等进行监测,获取设备的端口信息、流量信息、故障信息以及各种性能信息。图4显示的是测试局域网内一个交换机从12:00~17:00的平均流量曲线图。同样的数据还可以用柱状图显示。

图4交换机平均流量曲线图
- 蓝牙无线电调制解调器Siw1701原理与应用(02-19)
- 嵌入式移动数据库的关键技术(03-20)
- 在嵌入式SQL中怎样使用游标(08-12)
- 嵌入式Linux系统软件开发学习思路详细介绍 (08-20)
- 基于AVR单片机的嵌入式“瘦服务器”系统设计思想(03-11)
- 嵌入式系统设计中的存储碎片收集策略(05-04)
