APP下载

基于S N M P的网络故障管理的实现

2014-03-22王强

电脑与电信 2014年7期
关键词:类库服务器端网络管理

王强

(许昌职业技术学院,河南许昌461000)

1.引言

在网络中,有一些主机提供服务,比如www服务,ftp服务,这些服务给人们的生活带来便利。因而,这些服务器的故障将严重影响网络的可用性。接下来,我们就利用SNMP协议,实现对网络中重要的应用程序的运行状况的监控,并保存搜集的信息。在服务器端,提供web接口,这样,无论网络管理员身在何方,只要有可以上网的计算机,就可以查看被监控程序的运行状态。通过严密监视网络中提供重要服务的软件,来保证网络稳定运行。

下面介绍如何通过陷阱(trap)实现对客户端某些程序的开启和关闭的监控。借助浏览器,网络管理员可以随时查看网络运行状态和历史历史记录。

2.实现环境

(1)web服务器:Tomcat6.0

(2)服务器端数据库:MySQL5.1

(3)服务器端编程语言:JAVA,JSP

(4)客户端编程语言:JAVA

3.服务器的具体实现

3.1 概述

对于基于Web的管理系统,其服务器端承担了大量的工作,包括收集信息、处理信息、提供web接口等。

在服务器端,运用SNMP4J包编写程序,随web服务器一起启动,监视系统的162端口,等待代理发送trap消息。接收到消息后,再消息进行处理,主要是提取trap消息中的信息,并改写和更新数据库中的表单。

SNMP4J是一个商业类库,而且开源免费,它也是一个有着高技术的SNMP执行能力的类库,支持J2SE1.4或更高的版本。SNMP4J支持指令发生器(管理器),就像指令回应(代理)一样。它从SNMP++(支持SNMPv1/v2/v3的C++应用程序接口)获得灵感,具有清晰的对象导向。

SNMP4J的重要部分包括:SNMP、Target、PDU。

通常传递SNMP PDU报文是以同步或者异步的方式。SNMP4J的主要功能是收发SNMP PDUs。

SNMP采用独立的传输协议,通过Transport Mapping接口调用add Transport Mapping方法或者采用默认的构造函数来实现传输映射,以此来实现信息的传输。

PDU类产生SNMP协议数据单元,可以将提供的数据组装成SNMP PDU。并提供了各种方法设置PDU的属性。

另外,用JSP语言编写动态网页,提供信息查询界面。网页通过数据库和监控程序共享收集到的数据。

3.2 接受trap的步骤

当陷阱报文到达时,SNMP4J通常采用Command Responder协议,由process Pdu()实现,整个过程自动完成。下面是对trap处理的步骤:

(1)创建Snmp;

(2)调用listen()使套接字处于网络监听状态;

(3)实现Command Responder接口的监听器,并且调用Snmp.add Command Responder(Command Responder)注册监听器。

3.3 web接口的实现

Web服务器通过数据库和监控程序共享信息。JSP动态语言支持网页动态的链接数据库读取信息。JSP以Java为脚本,Java通过JDBC操作数据库。

JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API编写数据库应用程序,有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。

JDBC的主要功能是:与数据库建立连接;发送;利用数据库处理。

4.结语

目前,互联网规模空前庞大,网络管理也面临着巨大的压力。尽管现在的网络设备都支持SNMP。但仍然有不少的网络问题不能解决。网络管理者需要借助不同的网络管理工具,来确保网络正常运行。

[1]郭军.网络管理(第二版)[M].北京:邮电大学出版社,2001.

[2]雷震甲.计算机网络管理[M].西安:电子科技大学出版社,2006.

[3]张鹏.基于多A g e n t的分布式网络管理技术及其在性能管理中的研究与实践[D].西安交通大学博士论文,2001.

猜你喜欢

类库服务器端网络管理
数控机床DNC网络管理平台在智能制造中的应用
Linux环境下基于Socket的数据传输软件设计
用Java编写客户机/服务器端应用程序
基于OpenStack虚拟化网络管理平台的设计与实现
Python在数据可视化中的应用
电动汽车充电服务网络管理初探
数据结构课程教学改革方案和应用效果
数据结构可视化类库的设计与实现
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计