基于开源组件的网络管理系统的实现
2011-07-28赵根柱巴特尔
赵根柱,巴特尔
(内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010051)
对于一个有效的网络管理系统,完善的后台数据库是不可或缺的,它是实现网络管理的信息库。数据库保存了用于网络管理的信息,包括数据信息、状态信息和异常信息等。数据库的信息可供管理员了解网络运行的历史状况,也可为网络性能的预测提供依据。
Cacti是目前普遍使用的流量监测工具,它使用RRDTool(Round Ro-bin DatabaseTool)实现网络信息的存储与图表的绘制。本文对RRDTool进行了研究,发现其在信息存储时对数据库中的历史信息进行了压缩处理,从而导致历史信息不断发生变化,以至于显示的流量信息不能真实地反映网络运行的历史状况。鉴于此,本文选择使用普通数据库作为改进对象,并结合开源组件,设计了基于开源组件的网络管理系统。该系统实现了对网络部分信息的管理,很好地解决了数据库存储历史信息不断变化的问题,方便了网络管理者了解过去某段时间以来或过去某时间段内网络的运行状况。
1 开源组件
1.1 SnmpSharpNet
SnmpSharpNet是用C#编写的一个开源的SNMP组件库,支持 SNMPv1、SNMPv2 和 SNMPv3[1]。 SnmpSharpNet是面向对象的,由很多的类构建而成,内部封装了丰富的与SNMP操作相关的方法和属性,可方便编程者使用SNMP编程。本管理系统使用SnmpSharpNet实现网络设备信息采集模块。
1.2 ZedGraph
ZedGraph是一个开源的图表类库,全部代码用C#开发。它可以利用任意的数据集合创建2D的线性和柱形图表。ZedGraph继承了Framework中的UserControl接口,可作为WinFo-rm窗体控件,也可用作WebForm控件,允许用户在VS的IDE环境中进行拖放操作[2]。……
