您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 关于网络监控系统的设计与实现
现在随着局域网和广域网的不断升级,网络流量越来越大,对于监控系统的需求就不断增多。网络监控系统顾名思义就是对局域网上的相关流量进行的检测和控制,及时发现网络上存在的异常,将相关信息进行存储,并且把结果反馈给监控着的这样一个系统。本文的目的就是对这种系统进行设计和实现,以方便局域网的使用。关键词网络;监控;流量一、引言(一)研究背景与意义随着Internet技术的快速发展,加速推进了网络互连的进程,网络应用出现,软件系统的发展得到了最大程度的发展,特别是企业级的网络建设发展和壮大。服务器规模和程序的应用出现已经构成了多样化的网络环境。各种网络应用不局限于一些简单的、单一的功能操作,而是增加了很多丰富多样和人性化的功能体验。伴随而来的是复杂的网络体系增加了维护工作的难度,对设备和应用的日常检查和维护都需要投入大量的人力和物力资源。可以说,应用系统后期维护成本使软件系统的发展更加艰难。这种运维方式不能实现对网络的全面检测,所以更不能完成保障网络安全的任务。为了提高网络运维的工作效率,保障网络的正常运行,运维团队需要一种集群式的网络运维方式。集群式的网络监控解决方案是一套综合的运维监控系统,可以实现对信息系统的全面跟踪和监控。监控对象和信息可以以列表、图像、文字等多种形式直观的显现在网页上。数据可以定时更新,对系统监控范围内的对象的任何操作都会及时显示到监控系统网页上。与单台服务器或者应用监控不同,大规模的服务器或者应用的监控和运维,需要采用多种方式并用,建立规范化、科学化的专业运维体系,以提供高效、稳定的监控运行环境和可靠的系统运行机制。同时,实现更加自动化的运维方式对于各行业来说已经是很重要的一种需求。综合考虑,新网络监控系统具有更大的优势,已完全可以取代之前的运维管理方式。(二)研究现状随着监控技术越来越成熟,对系统稳定性要求较高的企业,尤其是电信行业,它们对IT资源要求的监控范围在不断地扩大,需要进一步提高运营支撑能力。监控管理的对象通常包括路由器、交换机、HUB等。但是随着监控管理对象的扩大化,即把网络中几乎所有的实体,例如:网络设备、软件应用、服务器系统、辅助设备等,都作为被监控管理的对象。而且由于企业所监控的资源对象大多是分布式系统,并且目前的软硬件设备建设都有很复杂的网络拓扑环境,所以对网络监控系统的设计要求和性能管理要求更加复杂和严苛。网络监控技术可以分为基于数据监控和基于状态监控两种方式。基于数据的网络监控技术是指通过获取网络数据包,并对该数据包进行拆分再研究的方法。这种监控方法适用于对网络事件的后期研究,对于定位网络故障的准确度较高。但其缺点是需要处理的数据包数量较大,对分析工具的软硬件的性能要求较高,不能实时获取网络设备和应用的状态信息。基于状态监控的网络管理技术是指分析网络设备的状态数据的方法。该方法借助SNMP、RMON等网络管理协议,采用轮询或监听的方式来实现对网络设备的监控。这种方法主要用于实时的获取网络状态的场景,但不适合用于定位网络故障。(三)论文的研究内容本论文主要针对网络拓扑结构复杂的特点,以及保障其稳定和可靠运行的重要性,并结合当前监控管理的发展现状与运维工作中普遍存在的问题,提出设计和实现网络监控系统的解决方案。使运维人员能够及时有效地开展运维工作,保障各设备和业务的正常运转,为企业节约设备成本和软件开发维护的费用。为实现以上研究目标,本论文将对网络监控系统进行详细的设计和研究。本论文的主要研究内容如下:第一章是绪论,主要对网络监控系统的研究现状进行描述,同时阐述本文的主要工作第二章是系统需求分析于开发规范,主要对系统设计过程中的需求进行设计,对系统在开发过程中面临的问题进行分析。第三章是系统架构及技术概述。主要是对系统的整体架构进行叙述,对系统所运用的技术进行阐述。第四章是对系统功能模块的设计进行了具体的实现,阐述了每个模块的功能以及应用效果。第五章是系统测试,对系统进行整体上的测试,验证系统的可用性。二、系统需求分析与开发问题随着计算机技术的不断发展,电信网络处于日新月异的变化中,网络环境呈现出设备增多、业务量加大、技术不断创新和提升的局面。网管系统所负责管理的平台、业务等类型复杂、实体数量多,需求变更较频繁。在这种情况下,运维人员不仅维护工作量大,而且要确保网络质量和运行的稳定度,就必须有更完善的运维监控体系。从而网管项目组迫切需要开发一款网络监控系统。本章从系统整体需求、监控内容需求、采集管理需求、告警管理需求、权限管理需求等方面来分析本论文的系统需求。(一)系统设计需求分析.网络监控系统在现在校园网络需求不断扩大的时候,可能给现有的硬件设备带来不小的压力。网络监控系统在现在看来是网络运行的基础,其本质上是为我们现有的网络提供数据和技术的支持,这样在我们进行网络的维护的时候有就会更加方便。1.功能性需求网络监控系统从功能上来看,整体上的网络监控系统应该为客户端/服务器架构。其中客户端和服务器应该在一个局域网里,然后针对系统内的机器,其网络监控系统应该与其连接在同一个hub上,这样整个系统就可以直接监控其所在的局域网。网络监控系统从功能上看主要需要监控网络流量,所以首先来说,系统需要的就是网络数据的采集。对相关的网络流量进行监控。2.设计性需求接下来涉及到的就是相关网络协议的选择。对于现有的网络协议来说,在网络监控系统方面,我们选择的是SNMP协议,SNMP协议作为一种可以用于网络管理的协议,可以在当前的系统中构建一个用于管理整个系统的管理层系统,在这个基础之上,SNMP可以制定一个统一的接口和协议。SNMP协议具体架构3.设计约束在设计这个网络监控系统的时候,需要把这个系统连同需要监控的设备放在同一个局域网内。对于开发的平台不做约束,系统数据库可以选择SQL也可以选择Oracle。(二)系统开发面临的问题1软件问题SNMP在不同的设备上整体上体现的支撑情况是不同的,所以从这个层面上来讲,我们如果想要让这个协议能够支持不同的设备,我们就需要把设备和相应的拓扑结合起来。现有的设备由于种类繁多,协议支持复杂,所以更加需要自动拓扑功能。自动拓扑网络发现功能对于现有的网络管理系统来讲,处在一个核心功能的位置,所以我们需要既要兼容平常我们能够看到的设备,也需要在兼容的基础之上完成网络管理的扩展。(1)和现在市面上的软件保持兼容在这个问题上,我们需要针对现有市面上的软件进行系统的支持。这样就可以在系统定制上进一步完善现有的解决方案。现在目前来看一个比较明显的解决办法就是把现在网络管理中的MIB-2功能组进行重新定义,在这个功能组中,定义了很多在平常会经常用到的网络对象,并且在实际的应用过程中,用MIB-2作为实际软件的核心支撑,也能很好地展现出软件的应用功能,自然而然地,相关的软件兼容应用问题就会减少很多。(2)用SNMP的方法拓展网络拓扑为了能够让现有的网络设备保持兼容性,我们就应该用相对保守的方法,所以从这个层面上来讲,我们对于拓扑的自动发现机制只能结合现有的MIB-2来找出适合的解决方法。网络拓扑主要描述的是当前局域网中的各个设备之间的关系,从网络层面上来讲就是我们局域网中所有网络设备之间的路由表。但是这样就由引入了另外一个问题,路由表中包含的部分只有各个网络设备以及其对应的IP地址,和他们之间的对应关系。而我们需要的PC信息,即能够与SNMP相对应的信息,在路由表中并没有体现。那怎么解决呢?一个方法就是把网络中的PC挨个进行测试,获取SNMP信息。这样我们所做出的系统就能够完整地支持整个网络。另外如果我们有需要知道系统自身的网络接口,就可以在现在的MIB-2功能组中进行查询。.2难点问题拓扑图的布局在我们确定了拓扑的机制以后,下一件需要做的就是怎么把现在目前的各个相关设备和对应的线路布局在屏幕上。设备之间不存在实际的物理关系,我们唯一能够运用的就是设备之间相互的链路关系。在物理结构上,我们没有很好的方法去获得网络设备中相关的物理拓扑。所以从这个层面来讲,我们想要仔细了解网络拓扑或者是对网络拓扑进行绘制是非常难的。同时我们能够参考的资料也是少之又少。拓扑如何分布不仅在实际工程中难以确定,在学术上也依然在作为一个难题存在着。所以为了在以后的项目中能够更加合理地支撑自己的理论,可以采用一种较为灵活的拓扑布局算法,从这个层面上来看算法是抽象的,这样也就更加具有替代性。三、系统架构与技术概述(一)3.1系统核心网络监控系统为网管人员提供了一个直观形象、操作简单的运维管理平台。这样既适应网络快速发展的节奏,又减少了运维的工作量,同时能够保证网络的健康运行。本章将重点研究本系统的数据采集管理、节点管理、数据处理、配置管理4个子模块。1、数据采集管理模块的功能描述为了准确掌握网络环境的运行情况,需要定时对网络资源进行探测,从而更好的调整和优化网络系统的配置。数据采集管理模块通过执行数据采集脚本来获取被监控对象的原始数据,生成指标文件,最后上传文件给下一级系统处理。2、数据采集管理模块的系统架构设计采集管理模块的设计采用服务器/网关/采集代理(Server/Gateway/Agent)或服务器/采集代理(Server/Agent)的采集方式,由部署在远端设备上的Agent进行数据采集,然后上传数据至Gateway进行预处理,Server端进行统一的配置管理。本系统支持自定义脚本采集,可以编写脚本加入到Agent中按周期进行采集。3数据采集代理Agent的设计采集代理Agent作为采集管理系统中的核心部分,被部署在被监控主机设备上。它负责执行采集脚本来收集被监控对象的相关数据,然后将数据发送出去。对于Agent的设计主要从Agent的配置管理、数据采集原理、文件传输三方面来研究和开发。3.2系统整体开发系统整体的开发过程是采用分层开发的技术进行的,主要的业务逻辑可以分为业务处理、存储、设备监控、网元等等。在整个开发的过程中可以对这几方面进行分布式开发。3.3领域逻辑设计系统和SNMP在网络交互方面,主要的逻辑来源于SNMP所传输的数据,这部分数据被叫做SNMP对象数据。SNMP对象不是独立存在的,它依赖于现有的相关的MIB来对其功能和特性进行描述。在软件方面对SNMP的操作主要体现在对SNMP实体的操作。也就是说,SNMP在整个的操作过程中不能够依赖API来进行软件操作,所以这就引出了我们一种领域逻辑上的需要,这种方法可以把SNMP中特定的领域转换成能够适应程序运行的领域。SNMP的操作原语被转化为对应的编程概念,使SNMP的领域完整地转化为程序设计的领域。这为AOP编程以及存储模型的扩展奠定了基础。SNMP通过如下NMS和Agent的形式对现有的系统进行监控,主要体现在对网络拓扑和客户端服务器的支持。我们在对整个过程需要将已有的他们之间的请求进行交换这样才能通过MIB功能模块将他们链接起来。(四)系统开发平台与架构选择1.平台和语言定程序开发规则是为了更好的规范软件系统的开发。程序开发规则主要针对代码开发过程中从程序命名到运行结果所做的各种约定,有利用于对代码的维护和阅读。为了更好的实现系统的灵活、可扩展的要求,在软件开发过程中,必须要遵从一个很重要的设计原则:开闭原则。开闭原则是指在软件开发中对扩展开放,对修改是关闭的。开发人员可以在代码的原有基础上进行扩展和补充,但不影响原有的代码功能(注1)。从这一点可以看出,开闭原则很好的体现出了代码的重用性和可扩展性。为了实现这一设计原则,在软件开发中尽量明确各模块功能,减少各功能块之间的耦合。由于网络环境复杂多变,需要监控的对象数量较多,需要告警的内容和规则较复杂,所以对执行程序的要求也更加严格。考虑到系统执行中会有大量的结果数据输出,单从简单的数据结果中难以确定系统的问题所在,因此对执行程序的输出结果要求如下,以便于确定问题:(1)程序应输出足够的信息到标准输出或日志文件,用于排查故障。(2)程序对使用的配置文件、日志文件检查读/写有效性,发现问题及时输出。(3)程序应对每一批次数据的处理状态有输出。(4)后台服务程序,应对处理数据的性能有统
本文标题:关于网络监控系统的设计与实现
链接地址:https://www.777doc.com/doc-5750949 .html