BX080606陈永彬基于AJAx技术的syslog信息的实时呈现XXX学校毕业设计(论文)开题报告课题名称基于AJAX技术的syslog信息实时呈现学院电子信息学院专业网络工程班级XXXXXX学号XXXXXXXXXX姓名XXXX指导教师XXXXXXX定稿日期:2011年12月22日基于AJAX技术的syslog信息实时呈现2基于AJAX技术的sysylog信息实时呈现摘要:EventsMaster是一套完备的网络、系统事件管理系统,只要将信息以Syslog或文本的方式发送给EventsMaster,它就能对各种设备和系统的Syslog日志信息、文本信息进行快速高效的处理,并以多种方式为用户展现信息事件,如图表、清单和报告等,使网络管理人员能对网络中发生的事情一目了然。本项目是该系统的一个子模块,采用AJAX技术开发的基于B/S模式的信息实时呈现系统。它可以实现在浏览器中动态加载在syslog中的黑客工具使用的排名信息。查看并监控服务器等硬件设备的访问与被访问记录,以便更好的管理服务器等硬件设备,提供作出一定防御或补救措施的依据。本项目程序代码使用Html、CSS、Javascript等WEB编程语言。关键词:JavaScript、HTML、PHP、AJAX、ExtJS1文献综述1.1AJAX概述该技术在1998年前后得到了应用。允许客户端脚本发送HTTP请求(XMLHTTP)的第一个组件由OutlookWebAccess小组写成。该组件原属于微软ExchangeServer,并且迅速地成为了InternetExplorer4.0的一部分。部分观察家认为,OutlookWebAccess是第一个应用了Ajax技术的成功的商业应用程序,并成为包括Oddpost的网络邮件产品在内的许多产品的领头羊。但是,2005年初,许多事件使得Ajax被大众所接受。Google在它著名的交互应用程序中使用了异步通讯,如Google讨论组、Google地图、Google搜索建议、Gmail等[1]。Ajax这个词由《Ajax:ANewApproachtoWebApplications》一文所创,该文的迅速流传提高了人们使用该项技术的意识。另外,对Mozilla/Gecko的支持使得该技术走向成熟,变得更为简单易用。传统的Web应用允许用户端填写表单(form),当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求,应用的回应时间就依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的页面服务接口(接口),并在客户端采用JavaScript处理来自服务器的回应[2]。因为在服务器和浏览器之间交换的数据大量减少(大约只有原来的5%),结果我们就能看到回应(服务器回应)更快的应用(结果)。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了[3]。1.2Syslog协议简述已成为工业标准协议的系统日志(syslog)协议是在加里佛尼亚大学伯克立软件分布研究中心(BSD)的TCP/IP系统实施中开发的,目前,可用它记录设备的日志。在路由器、交换机、服务器等网络设备中,syslog记录着系统中的任何事件,管理者可以通过查看系统记录,随时掌握系统状况。它能够接收远程系统的日志记录,在一个日志中按时间顺序处理包含多个系统的记录,并以文件形式存盘。同时不需要连接多个系统,就可以在基于AJAX技术的syslog信息实时呈现3一个位置查看所有的记录。syslog使用UDP作为传输协议,通过目的端口514(也可以是其他定义的端口号),将所有安全设备的日志管理配置发送到安装了syslog软件系统的日志服务器,syslog日志服务器自动接收日志数据并写到日志文件中。Syslog是一种工业标准协议,可用来记录设备的日志。在UNlX系统的路由器、交换机等网络设备中Syslog记录系统中的任何事件。管理者可以通过查看系统记录,随时掌握系统状况。在UNIX系统中,被Syslog协议接受的事件可以记录在不同的文件中,还可以通过网络实现运行Syslog协议的机器之间的信息传递。在Unix类操作系统上,syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。完整的syslog日志中包含产生日志的程序模块(Facility)、严重性(Severity或Level)、时间、主机名或IP、进程名、进程ID和正文。在Unix类操作系统上,能够按Facility和Severity的组合来决定什么样的日志消息是否需要记录,记录到什么地方,是否需要发送到一个接收syslog的服务器等。由于syslog简单而灵活的特性,syslog不再仅限于Unix类主机的日志记录,任何需要记录和发送日志的场景,都可能会使用syslog。1.3AJAX框架ExtJS概述ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。1.4服务器脚本语言PHP概述PHP(PHP:HypertextPreprocessor)是一种在电脑上运行的脚本语言,主要用途是在于处理动态网页,也包含了命令行运行接口(commandlineinterface),或者产生图形用户界面(GUI)程序[8]。PHP最早由拉斯姆斯·勒多夫在1995年发明,而现在PHP的标准由PHPGroup和开放源代码社区维护。PHP以PHPLicense作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。PHP的应用范围相当广泛,尤其是在网页程序的开发上。一般来说PHP大多运行在网页服务器上,通过运行PHP代码来产生用户浏览的网页。PHP可以在多数的服务器和操作系统上运行,而且使用PHP完全是免费的。根据2007年4月的统计数据,PHP已经被安装在超过2000万个网站和100万台服务器上。2选题背景及其意义2.1背景日志文件能够记录每天发生的各种各样的事件,为了能够更好地实时显示设备或者系统的各种处理信息,并且不能频繁向服务器提交数据,所以只有使用AJAX技术实时呈现Syslog信息。2.2意义熟悉网页前端的设计和开发,学会AJAX技术的简单使用,简单了解ExtJS框架。能基于AJAX技术的syslog信息实时呈现4对于整个课题做好规划,全局掌握了解课题的需求,分析设计对应方案。锻炼自己宏观的设计以及微观的接口制订能力。3研究内容3.1ExtJS框架的搭建ExtJS是一个Javascript的库,是一个与后台无关的Ajax框架。ExtJS包含了很多使用javascript语言写好的控件,并压缩为一个JS文件,这些控件可以实现很多功能。只要在页面前面加载了这些控件集,使用这些控件时就可以直接调用了[7]。ExtJS的SDK可以在网上下载,解压缩后的文件夹为如下:3.1ExtJSSDK的解压缩文件一览bulid:是src文件夹中文件编译后的文件;docs:ExtJS的API文档;examples:ExtJS的示例程序;locale:ExtJS的语言包;resources:ExtJS的资源文件夹,包括CSS文件和图片;src:ExtJS的所有源文件,即所有控件的集合;bootstrap:ExtJS的引导程序。使用ExtJS中的控件前需加载bootstrap.js和ext-all.js,ext-all-debug.js以及resources基于AJAX技术的syslog信息实时呈现5文件夹,另外locale文件夹也可以加载。3.2加载ExtJS库文件的代码加载完这些文件之后,就可以直接使用Ext关键字调用ExtJS库中的控件了,使用浏览器打开上面的程序写好的界面后显示:3.3使用ExtJS框架的简单示例ExtJS中包含了很多的控件,如果忘记某个控件的属性和用法的话可以在打开其API文档,查找该控件:3.4ExtJS的API文档3.2Syslog日志文件分析Syslog常被称为系统日志或系统记录,是一种用来在互联网协定(TCP/IP)的网络中传递记录档讯息的标准。这个词汇常用来指涉实际的syslog协定,或者那些送出syslog讯息的应用程式或数据库。syslog协定属于一种主从式协定:syslog发送端会传送出一个小的文字讯息(小于1024字节)到syslog接收端。接收端通常名为“syslogd”、“syslogdaemon”或syslog服务器。系统日志讯息可以被以UDP协定及╱或TCP协定来传送。这些资料是以基于AJAX技术的syslog信息实时呈现6明码型态被传送。不过由于SSL加密外套(例如Stunnel、sslio或sslwrap等)并非syslog协定本身的一部分,因此可以被用来透过SSL/TLS方式提供一层加密。syslog通常被用于资讯系统管理及资安稽核。虽然它有不少缺陷,但仍获得相当多的装置及各种平台的接收端支援。因此syslog能被用来将来自许多不同类型系统的日志记录整合到集中的储存库中。在Unix类操作系统上,syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。完整的syslog日志中包含产生日志的程序模块(Facility)、严重性(Severity或Level)、时间、主机名或IP、进程名、进程ID和正文。在Unix类操作系统上,能够按Facility和Severity的组合来决定什么样的日志消息是否需要记录,记录到什么地方,是否需要发送到一个接收syslog的服务器等。由于syslog简单而灵活的特性,syslog不再仅限于Unix类主机的日志记录,任何需要记录和发送日志的场景,都可能会使用syslog。3.5Syslog结构Syslog的格式是PRI+HEADER+MSG,下面是一个简单的示例30Oct922:33:20hlfedoraauditd[1787]:Theauditdaemonisexiting.3.3Ajax、Javascript与实时显示数据基于AJAX技术的syslog信息实时呈现7AJAX:Ajax技术可以使得页面在与服务器交互时不用向服务器传送和接受整张页面的数据,而是根据需要,哪里需要与服务器交互时,使用Javascript脚本语言向服务器请求数据和接收数据[4]。3.6传统模式Web应用程序和Ajax模式Web应用程序的比较Javascript:JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服