网站监测工具设计与实现

时间:2022-07-03 11:26:06

导语:网站监测工具设计与实现一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

网站监测工具设计与实现

【摘要】通过分析企业内各类web应用系统,发现其自身缺少访问监控及报警功能。本文主要阐述了web信息系统监控的意义,提出了基于请求模拟的web信息系统监测工具的实现过程,并依据需求做出合理的分析设计实现各主要功能模块。最后将web信息系统监测工具应用到系统运维中,运行效果明显,为自动化运维工作起到良好的辅助作用。

【关键词】IT运维;web监控;请求模拟;监测工具;自动化

一、引言

近年来,随着信息化技术的快速发展,企业内部网络中建立了大量的业务信息系统,而这些信息系统多数属于web应用系统。为确保这些web系统平稳运行以满足日常业务正常开展,企业对IT部门的系统运维工作提出更高的要求。尤其是一些重要的web应用系统,要求达到24小时无故障运行,且要求IT部门能够及时发现故障以快速处理,这就要求对于这些重要的web应用系统的运行监控时刻存在并且能够进行异常报警。目前大多数web系统自身并未提供异常报警功能,现有的监控系统又无法实现对于web系统可用性的监控及报警,在不具备技术手段的情况下,当前运维工作中大多采用人工巡检的方式检测系统的可用性,通常做法是尝试访问这些应用系统的web页面进行数据请求,以返回数据是否正常来作出人为判断。这种纯人工的监控方式给IT部门的运维工作带来了巨大的压力,同时这种方式也不可能达到实时监控报警的目的。那么,如何才能实现对web应用系统可用性的实时监控和异常报警呢?

二、现状分析

通过分析现状发现,在web应用系统可用性监测工作方面,IT运维部门主要面临的困境有两点,一是现有的自动化监控系统仅能够判断web系统登录界面是否正常运作,而无法监测系统是否可用;二是管理员在每天日常巡检时尝试登录web系统来判断其是否可用,这种纯人工的方式不可能做到24小时实时监测。基于这两点,我们可以通过设计开发一种可模拟人工、定时、自动尝试向web系统发送登录请求来判断其可用性的一种监测工具,来替代现有的纯人工验证方式,实现重要web应用系统24小时自动实时监控。

三、系统原理解析与结构设计

大多数web站点由web应用服务器、数据库、操作系统三部分构成,任何一个环节出现故障都将导致站点应用无法正常访问。传统的监测工具会开发相应的连接程序模拟访问,通过访问状态码来识别其是否正常运作,而企业开发的web系统大多设有账户密码确保系统能够正常访问,传统的检测方法不提供模拟登录的功能,仅依靠访问登录界面是否正常的操作,并没有完成一次数据库访问的操作,故无法准确判断出系统是否异常,导致系统检测的准确率不高。本文所设计的监测工具采用配置URL请求地址、访问请求方式、返回识别参数与请求参数的方式,可根据不同的业务场景灵活模拟用户登录捕获返回值,通过模拟一次用户登录请求,准确判断系统是否正常运作。3.1监测工具的原理本文的监测工具对系统运维中服务器、管理员、数据库、web站点、操作系统等关键点进行统一管理,以请求任务的管理作为系统监测的业务驱动,围绕web系统可用性的几个关键点开发检测功能,模拟数据请求,根据返回值判断测试目标是否正常。通过对模拟数据请求模式的分析与抽取,形成了通用的数据请求模型,具备通过扩展请求处理方式来扩充监测类型的功能,使该监测工具具备了更高的扩展性。本文所设计的监测工具通过模拟请求的方式,可实现对http/https站点、mysql、sqlserver、oracle、windows操作系统、ftp站点进行监测,并采用Quartz定时器技术实现了检测任务的调度,定时发送模拟请求,并根据返回结果发送邮件提醒给相关管理员。3.2系统总体结构3.2.1系统功能概述如图1所示,本监测工具主要包含请求任务管理、HTTP监测、数据库监测、windows系统监测、任务计划管理、系统管理六个核心模块。其中4个监测模块封装了相应监测类型的访问处理功能,在后面章节中会详细介绍;请求任务管理模块用于配置请求任务的地址、参数、访问协议、管理员等核心参数,可配置出一个完整的测试请求任务;任务计划管理模块是为创建好的请求任务配置计划调度,设置任务执行的时间及频次。3.2.2系统技术架构本监测工具后端采用Java语言基于SSH2MVC开发框架,支持Mysql、SqlServer、Oracle等多种数据库,前端页面采用Extjs4框架的MVC模式,实现了前后台双MVC设计模式,使该监测工具具备高扩展性。3.3系统关键功能点3.3.1请求任务管理该功能主要是将各类测试请求地址与请求参数封装成一个请求任务,可根据不同类型请求动态调用相应的请求处理方法,完成模拟请求并根据配置的返回参数值判断用户请求是否成功,获取管理员邮件接收配置项发送邮件。3.3.2HTTP/HTTPS监测此项功能作为本监测工具的核心功能,可灵活配置URL请求地址、请求参数、请求类型、身份认证方式、成功识别关键字、返回状态码等信息,以满足不同站点的需求。本功能可以支持HTTP/HTTPS请求、POST/GET请求方式、身份认证方面支持传统的FORM表单请求与NTLM身份认证方式。3.3.3数据库监测数据库监测功能可提供Mysql、Sqlserver、oracle等数据库的运行状态监测,管理员可根据数据库类型选择不同数据库连接方式配置数据库连接请求以及账号和密码,并指定任务调度计划定时完成访问测试,并将测试结果以邮件方式发送给管理员。3.3.4WINDOWS系统资源监测本功能通过WINDOWSWMI协议可以采集WINDOWS2008服务器的软件与硬件信息,主要包括系统服务、硬盘使用情况、系统进程状态、账户信息、共享文件夹、CPU、内存的使用情况等,可以协助管理员对操作系统的运行状况进行监控。3.3.5FTP站点监测FTP站点监测功能可以对企业内部网络中的FTP服务进行监控,通过配置FTP访问路径及账号密码创建监测任务,通过任务调度功能执行请求任务,即可模拟FTP连接,测试FTP服务运行状况。3.3.6监控任务调度计划任务调度计划可实现对监控任务的调度管理,管理员通过QuartZCron表达式配置即可完成对任务执行的灵活配置。可实现间隔执行、定时执行、忽略周六日等功能,并能够灵活设置运行次数以满足不同业务场景的需要。

四、系统实现

4.1核心业务模型监测工具的核心业务模型如图2所示:4.2系统界面展示图3为设计实现后的监测工具界面。可以看出,如需对某web系统进行监测,只需录入该系统的IP地址、域名以及访问地址,再设置相应的监测条件及任务计划即可实现对web系统的实时监测以及异常报警。

五、结论

本文提出并设计完成基于请求模拟的web系统监测工具,较完善地实现了对于web信息系统的实时监测。通过较长时间的实际应用,已经为多个web信息系统提供了实时自动监测及异常报警功能,极大地减少了人力的投入,提高了运维工作效率。并且该监测工具简单易操作,只需提供信息系统的几个必要参数并经过简单配置即可实现系统的自动监测。该工具基于JAVA语言及B/S架构设计开发,具备部署简单、资源占用率低、界面友好、执行速度快、可扩展性强等特点,可广泛应用于各类web应用系统的实时监测,具有较高的应用推广价值。

参考文献

[1]谭浩,关昕,马力.性能测试的原理及其自动化工具的实现[J].计算机工程与设计,2006,(194):3660-3662

[2]牛津,杨涛,王林.网页浏览器内核的比较研究[J].微计算机应用,2009,(3):30-35

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

作者:陈美娟 单位:中海油田服务股份有限公司