校园网网站监测系统的设计与实现

时间:2022-06-29 12:53:17

校园网网站监测系统的设计与实现

摘要:网站能否正常访问影响宽广,特别是在校园中,各种教学科研工作都是基于不同的网站进行的,因此能否确保学校的工作正常开展,很大因素在于确保数字校园的全天候正常运行。在此,介绍了一种用于监视网站运行情况的软件系统,并对其系统构成模块实现等进行了简单说明。

关键词:网站监控;WEB监控;校园网

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)08-1842-02

Design and Implementation of the Campus Web Site Monitoring System

XIA Zhong-lin

(Huaihua Medical College, Huaihua, Huaihua 418000, China)

Abstract: Weather the site can normally work or not will affect widely on a variety of teaching and research work based on different sites, especially on campus, therefore being able to ensure that the work of the school be normal development. A large factor is to ensure that the digital campus operate all time. At this point, a software system which is used to monitor the operation of the Site and its system configuration module have been introduced and a brief description has made.

Key words: website monitoring; the WEB monitoring; campus network

学校网站是学校向社会展示学校自身形象、宣传学校教育理念的重要窗口,也是构成数字校园,向教师、学生提供各种应用服务的重要场所,所以学校网站能否正常提供访问服务关系重大。

目前常用网络监控软件是通过SNMP获取服务器的资源信息来判断服务器是否工作正常,鲜有针对网站能否正常访问提供的检测。而在笔者学校,除了学校的主网站,还有各个部门、各种专业课程等子网站,分布在不同的服务器上,而这些都需要保证能全天候访问,所以急需一款能监测网站是否正常运行的软件。

1系统设计与实现

系统目的在于24小时不间断监视指定网站,当网站出现无法访问的情况以及主页遭到黑客篡改时,系统自动收集网络、服务器等信息,通过电子邮件、手机短信等方式,第一时间将故障情况报送相关负责人,促使最快速度进行处理,以最大限度的减少损失。

系统使用Delphi 2007开发。Delphi是由Borland公司开发的,具有可视化集成开发环境,采用面向对象的编程语言Object Pascal和基于部件的开发结构框架,具有高速编译器、强大的数据库支持、强大的网络开发能力、强大而成熟的组件技术等特点,完全满足系统开发需要。

系统分为网站监测模块,网站数据比较模块,网络测试模块,报警模块,日志模块,后台数据库模块六个部分。

1.1网站监测模块

网站监测模块根据数据库中设置的网站网址,使用系统预设频率读取网站首页。如果网站能正常打开,那么就调用网站数据比较模块,对网站首页进行数据比较,如果监测到网站无法打开时,不立即发出警报,而延时10秒重新尝试,如果经过三次连接都无法打开,那么认为网站系统发生异常,调用网络测试模块进行测试。

网站监测模块可以使用TWebBrowser控件,同时在网址中加入时间参数实现强行刷新,避免从缓存读取网页而影响判断:

if pos(’?’,sLink)>0 then

sLink:=sLink+’&Rnd=’+DateTimeToStr(Now)

else

sLink:=sLink+’?Rnd=’+DateTimeToStr(Now);

WebBrowser1.Navigate(’Http://’+sLink);

然后利用OnDocumentComple事件,检查ReadyState状态是否是READSTATE_COMPLETE来判断网页是否已经完全打开。

1.2网站数据比较模块

网站数据比较模块是在打开网站获取到网页数据后使用。它将当前获取的网站首页数据与数据库中保存的网站标准数据比

较,如果两者不相同,那么就检查不同的数据中是否存在预设过滤字符,以及检查图片、链接是否被更改或指向不明网址,这主要是考虑一些黑客在攻陷网站后往往是散布黄赌毒信息或者挂“黑链”,如果出现上述情况或者当前数据跟原有数据相差超过阀值,也认为网站系统发生异常并发送警报信息,反之则将当前数据作为标准数据保存。

网络数据比较模块直接从TWebBrowser中获取HTML源代码:

sTemp:= Lowercase (WebBrowser1.Document.All.Item(0). OuterHTML); //转换全部数据为小写,便于查询比较

同时考虑到网站首页一般不常更改即使更改数据量也不大,所以没有采用数据比较算法而是直接进行字符串处理比较。如在出现相异时使用Pos函数查找关键字以及使用Delete函数删除已经比较过的字符等,此处基本都是字符串细节处理,笔者就不一一描述了。

1.3网络测试模块 网络测试模块是在网站出现异常后进行网络环境测试,分别测试网站地址、网关地址、DNS服务器地址是否可达,以初步判断网络状态,并将结果送至报警模块。

网络测试模块使用Ping功能来检测网络情况,由于Delphi没有Ping控件,我们使用TIdIcmpClient控件,利用Internet信报控制协议(ICMP)来实现Ping功能:

IdIcmpClient1.Host:=sDNS; //测试预设DNS地址

IdIcmpClient1.ReceiveTimeout:=2000;

for i:=0 to 2 do

begin

IdIcmpClient1.Ping;

Application.ProcessMessages;

end;

然后利用本地计算机接收到目的计算机回应时会触发OnReply事件,通过检查里面的AReplyStatus.MsRoundTripTime值是否小于ReceiveTimeout,来判断网络状态。

1.4报警模块

报警模块可以通过电子邮件、windows信使服务、手机短信三种方式将网站异常信息、当前网络信息发送给预设负责人。这主要是考虑到这三种方式可以覆盖工作、生活的各种状态,可以保证让负责人能第一时间获得通知,及时进行紧急处理。

电子邮件的发送可以使用TldSMTP控件,只要设置好参数,导入消息内容就可以了。

windows信使服务可以直接使用API函数,这需要先手动声明:

Function NetMessageBufferSend(servername: PWideChar;

msname: PWideChar;

fromname: PWideChar;

buf: PWideChar;

buflen: DWORD):DWORD;

stdcall; External‘netapi32.dll’;

然后调用发送信息:

NetMessageBufferSend(NIL, PWidechar(target),Nil,

PWideChar(msg),Length(String(msg)));

手机短信由于学校有短信平台,能直接通过网络使用平台提供的数据接口进行短信发送,所以可以通过TwebBrowser使用符合短信平台的接口标准的数据包发送报警信息。

WebBrowser1.Navigate(’***.省略/eis/smsapi.aspx?func=sendsm&username=4136&password=58791adf7ef

sd1f7e4asf7erg58&smstype=0&timeflag=0&timervalue=’+ DateTimeToStr(Now)+ ’&timertype=1&timerid=11&message=’+sMSE);

1.5日志模块

志模块主要用来记录运行日志、事件日志、报警日志、日志删除、日志备份等操作,重点记录:网站名称、监控时间、故障发生时间、故障发生时网络状态、恢复时间等信息,便于进行统计、分析及管理。

1.6后台数据库模块

考虑到学校数字校园中标准化数据平台的建设,后台数据库使用SQL SERVER,这是一种关系型数据库管理系统,是目前使用最为广泛的数据库系统之一,具有高性能、系统管理先进、强壮的事务处理能力等特点,完全满足系统目前需求以及未来扩展。

在系统中,采用ADO进行数据操作,这是使用微软的高层数据访问技术,能完美连接SQL SERVER,可以使用TADOConnection连接数据库,通过TADOQuery连接数据源进行数据操作。

2结束语

在实际使用中网站监控系统表现良好,能长时间、多网站进行监控,具有占用资源少、速度快、出现即发现等优势,一改以往需要人工检查网站、被通知网站异常的方式,极大减少了网站负责人的工作量,为校园网的高效、稳定运行提供了有力保障。但是还是有许多方面存在不足:监控类型过少、网站数据过滤简陋、没有使用SNMP尽可能收集异常信息、不具备网站自动恢复能力等,需要在日后工作中不断完善。

参考文献:

[1]李月.编程实现对网站的动态监控[J].电脑编程技巧与维护,2004(8):68-71.

[2]刘超.大众网网络监控系统的分析与设计[D].济南:山东大学,2008.

[3]盖之华,贾海天.基于SOA的网站和网络监控系统设计与实现[J].电脑知识与技术, 2010(2):324-326.

上一篇:基于MPI的随机数并行检验算法 下一篇:自学考试毕业预测算法的设计与实现