网络监控系统的设计与实现

2016-01-27 16:04侯天雄马迅飞张进铎张俊赵叶平
计算机时代 2016年1期
关键词:实时监控网络技术可视化

侯天雄 马迅飞 张进铎 张俊 赵叶平

摘 要: 描述了一种网络监控系统的设计与实现过程,阐述了系统的功能、设计原理、系统架构及功能模块,给出了具体实现技术和方法。采用MySQL数据库系统和PHP编程语言,实现了网络监控系统的关键功能。该系统实现了网络系统的综合监控,并通过可视化界面与用户友好交互。

关键词: 网络技术; 实时监控; 数据库; PHP; 可视化

中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2016)01-25-04

Design and implementation of network monitoring system

Hou Tianxiong, Ma Xunfei, Zhang Jinduo, Zhang Jun, Zhao Yeping

(BGP, CNPC, Zhuozhou, Hebei 072750, China)

Abstract: This paper describes the design and implementation of a network monitoring system, the function of the system, design principles, system architecture and functional modules, and shows the specific techniques and methods of implementation. This system adopts MySQL database system and PHP programming language to implement the key functions. The system is a comprehensive monitoring network system which achieves a friendly interaction with the user through a visual interface.

Key words: network technology; real-time monitoring; database; PHP; visualization

0 引言

在信息化时代的大背景下,网络深入到了人们生活、学习、工作和娱乐等各个领域。网络技术的飞速发展给人类带来了前所未有的方便,与此同时,随着网络规模的不断壮大,一个突出的、急需解决的问题也随之产生,那就是网络运行的监管。

目前,网络监控系统分为两类:一类是网络设备厂商研发的与设备配套的软件,这类软件兼容性较差,只能与配套的硬件设备同时使用,不适用于多种不同厂商的设备混合使用的网络环境,而且这种软件价格偏高;另一类网络监控软件是第三方通用软件,这种软件操作复杂,要求用户有较高的专业技术水平,而且,这类软件一般都是针对网络结构进行分层监管,不能很好的兼顾用户的日常工作,因此,很难将一款第三方软件应用到实际工作中去。

针对目前网络监控软件的现状和缺陷,我们设计开发了一套网络监控系统,通过可视化界面展示监控内容,并能与用户实现友好交互。

1 SNMP协议

1.1 SNMP简介

简单网络管理协议(SNMP:Simple Network ManagementProtocol)[1-3]是由互联网工程任务组(IETF:Internet Engineering Task Force)定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol),是管理进程和代理进程之间的通信协议。它由一组网络管理的标准组成,包含一个应用层协议、数据库模型和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何状况发生。

SNMP管理的网络主要由三部分组成:被管理的设备、SNMP代理和网络管理系统(NMS)。网络中被管理的每个设备都存在一个管理信息库(MIB),用于收集并储存管理信息。通过SNMP协议,NMS能获取这些信息。被管理设备,又称为网络单元或者网络节点,可以是支持SNMP协议的路由器、交换机、服务器或者主机等。

SNMP代理是被管理设备上的一个网络管理软件模块,拥有本地设备的相关管理信息,并用于将他们转换成与SNMP兼容的格式,传递给NMS。NMS运行应用程序来实现监控被管理设备的功能。另外,NMS还为网络管理提供大量的处理程序及必须的储存资源。

1.2 利用SNMP计算带宽

网络带宽利用率=(每秒收到字节数+发送字节数)/带宽。对于半双工来说,在计算利用率时使用公式[4-5]:

对于全双工来说,在计算利用率时使用公式:

然而,这种方法隐藏了指令的使用率,它的价值和精确度较低。更准确的方法是使用以下公式测量输入效用和输出效用:

对于以上各个公式,其参数说明如下:

ΔifINOctets:表示输入流量的字节数;

ΔifOutOctets:表示输出流量的字节数;

ifSpeed:为snmp监测对象的接口速率。

2 系统概述

2.1 系统功能概述

该网络监控系统从用户角度出发,着重于用户所关心的实际问题,从网络通断、网络使用情况、网络设备的运行状态等多个方面对整个网络进行实时监控,并提供报警信息。

该系统的主要功能有以下。

⑴ 实时提供网络连接拓扑图,用不同颜色表示不同的带宽占用情况。

⑵ 实时提供网络参数,如网络带宽、时延、抖动等。

⑶ 实时监控网络设备的运行情况,通过SNMP协议获得网络设备运行状态,并用图表形式显示出来。

⑷ 网络测试,通过网络命令对网络线路进行测试,提供测试结果。

⑸ 通过发送邮件实时放映网络运行中的某些突发事件,如网络中断、网络占用带宽大于某个设定值、网络延迟大、网络抖动及网络设备开关机等。

2.2 系统功能特点

系统简单实用、易于操作、无须培训、界面友好,能兼顾不同水平的网络管理人员,是一个直观且可视化操作的系统。同时,该系统全面监控网络各个环节可能出现的故障,是一个功能全面、兼容性高的实用系统。

系统采取基于权限的访问,针对不同级别的操作员分别授予不同的操作权限,给不同级别的用户以不同的权限,高级用可以对下一级别的用户进行监控,保证了系统安全平稳有序运行。

2.3 系统体系架构

系统采用B/S架构,在服务器端实现所有的逻辑处理,用户通过Web浏览器实现界面交互。该系统采用了模块化设计思想,用户可以根据不同的需求,在集成平台上增加或减少功能模块来改变系统功能。这样的设计使得系统具备了很好的灵活性、适应性和可拓展性,同时也具备了二次开发能力。

集成平台集成了数据库及Web动态逻辑规划,网络监控的各项功能分别被模块化,提供通用的接口和功能支持。系统架构示意图如图1所示。

2.4 系统运行环境

系统服务器端部署在一台Linux服务器上,服务器接入到网络核心的位置,所有被监控单元都通过网络与服务器连接,并且这些被监控单元都支持SNMP协议、ICMP协议和HTTP协议。为了实现24小时不间断监控,在网络关键位置都安装了交换机或者路由器。

3 系统功能的设计实现

3.1 总体设计

一个系统是否设计科学,是一个很重要的问题,这将决定整个项目的成败。好的系统架构可以缩短整个项目的开发周期,提高效率。综合考虑本系统的功能特点,将体系结构分为三层:应用层、逻辑层和数据层。如图2所示。

⑴ 应用层:应用层是系统在用户面前的直接展示,实现与用户的交互功能,将系统内部的机器语言转化为用户能够理解和获取价值的语言。因此,应用层主要功能就是向用户提供操作支持和信息显示。系统在设计及实现主要功能的同时,对界面作了美化处理,使得其在与用户的交互过程中更友好。

⑵ 逻辑层:逻辑层也叫业务层或中间层,是整个系统的核心,负责在分布式系统中间层处理数据,那里有事务处理规则和业务流程约束数据的处理。这一层主要用于大批量处理、事务支持、大型配置、信息传送和网络通信。由此可以看出这一中间层很复杂。

逻辑层很重要,它包含了目前提供特殊服务的数目最大的组件对象。这种灵活性是大型的企业应用程序所需要的,它可以根据应用层的用户请求,从数据层获取、处理并返回数据,以响应用户需求。

⑶ 数据层:数据层实际上就是资源管理层。与应用层相比,没有或较少有数据处理,而是定义了大量数据的管理任务,数据库和资源会变得越来越多,因此,这项任务也变得越来越困难。

通常数据层使用大型的RDBMS来管理,如Oracle。使用RDBMS来管理数据的好处是可以协助数据的处理,提高数据的使用效率。RDBMS处理数据除了完成数据库本身的插入新数据、修改数据、执行系统函数等SQL操作外,还可以通过存储过程和触发器,来自动地在数据库上存储应用程序的商务逻辑和函数模块,这样在数据层上就可以对数据做出相关的功能强大的处理,而不是仅仅把请求结果返回给客户机。

在计算机应用逐步发展的今天,需要维护的数据量已经在某些领域达到了超大规模,因此,数据服务这个领域的发展空间和挑战也越来越大,数据服务层的结构也朝着复杂化、大规模化的方向发展,在为我们带来强大功能的数据支持的同时,也对计算机硬件的技术进步提出了迫切要求。

在此基础上,将系统的层次具体化,如图3所示。

3.2 系统功能模块实现

⑴ 网络拓扑图模块

实时提供网络连接状态,用不同颜色表示线路的运行状态。其中红色虚线表示网络连接出问题,同时会显示相应的字样—“问题”;绿色实线表示网络带宽占用率在0~20%;黄色实线表示网络带宽占用率在20%~80%,红色实线表示网络带宽占用率在80%~100%。如图4所示。

⑵ 网络数据模块

实时提供网络运行参数。通过统计不同时刻网络运行的状态信息,绘制曲线图,实时显示该线路的网络带宽、时延、抖动等。如图5所示。

⑶ 设备监控模块

实时监控网络设备的运行情况。用户通过Web页面可以查看网络中各个设备的运行状态;同时,也可以查看到这些设备所占用的网络带宽,从而估计出此时该网络的运行情况。

⑷ 网络测试模块

在Web客户端页面提供简单的网络测试工具,在用户使用这些工具时,客户端会发送一串指令给服务器端,服务器完成指令的编译、执行,然后将结果发送到客户端,客户端将结果以自然语言的形式显示。

⑸ 事故报警模块

系统给每个网络参数设置阈值,如果统计的网络参数数值超过了阈值,就会发送指令给服务器,服务器通过分析,按照指定格式发送报警邮件给用户,用户可以通过登录注册邮箱查看报警信息。

4 结束语

本文描述了网络监控设计的背景、网络监控系统整体情况、系统设计和模块设计,以及功能实现。本系统完成后经过实际测试,在各个方面均达到了预期目标,在Web页面显示、网络监控及事件报警等方面都得到了完全实现。

设计一个功能强大、维护简单且运行稳定的网络监控系统,对所有中小型网络的管理,都有着很大的实用价值。本文设计的系统适用于大多数网络系统,但仍然存在缺陷,如无法监控虚拟专线网络。因此,还需要对系统继续挖潜,进一步完善其功能。

参考文献(References):

[1] 李明江.SNMP简单网络管理协议[M].电子工业出版社,

2007.

[2] 郭军.网络管理[M].北京邮电大学出版社,2003.

[3] 王玮.基于SNMP网络管理系统的设计与实现[D].北京邮电

大学,2011.

[4] Case J D, Fedor M, Schoffstall M L, et al. Simple network

management protocol (SNMP)[R]. 1990.

[5] Stallings W,胡成松,汪凯.SNMP网络管理[M].中国电力出版

社,2001.

猜你喜欢
实时监控网络技术可视化
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
智能投料过程动态监控系统研发及应用
基于无线传感器网络的绿色蔬菜生长环境监控系统设计与实现
浅析网络技术在高校体育教学中的应用发展
一种煤矿瓦斯检测系统的设计与实现
计算机网络技术与电子信息工程点滴谈
计算机网络技术对物流信息化的影响