论文部分内容阅读
摘要:本文说明了常见网络设备的日志信息管理的重要性,简单介绍了syslog协议,详细说明了在基于统一的日志处理平台上配置日志备份服务器的步骤,以及使用MySQL数据库和J2EE环境,开发WEB处理系统来检索、查看、统计、分析日志信息的解决方案。
关键词:日志;备份;syslog协议额;MySQL
1引言
以太局域网中,常用的交换机和路由器等设备一般都提供日志、调试和告警信息的查看和备份功能,网络管理员和开发人员登录设备后,可以通过命令行方式来查看使用情况,分析故障原因、进行安全审计。但由于局域网内网络设备的地理位置、物理条件的差异,网络设备经常会出现掉电重启的情况,保存在设备内部缓冲区的日志、调试和告警信息会因此丢失;另外,即使不会出现掉电情况,但由于设备内部缓冲区的大小是一定的,缓冲区充满后,以前的信息记录便会被覆盖。所以,为了更好地监控网络的运行情况,诊断网络的故障,在局域网环境中,有必要启用交换机和路由器的日志、调试和告警信息的备份功能,将需要监控的设备的日志、调试和告警信息集中保存到一台或多台日志服务器中。如何高效地对保存好的日志记录进行事后安全审计、故障判断和检索分析,是一个需要解决的问题。利用基于统一的Linux平台的日志备份系统和J2EE环境开发的WEB处理程序,高效、稳定地解决了这一问题。
下文首先介绍系统的总体结构,然后分别介绍系统的各个模块,接着介绍系统在实际中的应用效果,最后是总结和展望。
2系统总体结构
我们首先对系统的总体结构进行了设计,设计的系统总体结构如图1所示。
系统由三个模块组成,分别是:日志发送模块、日志接收及处理模块和日志分析模块。日志发送模块完成日志的生成和发送;日志接收及处理模块实现了日志的简单分析和过滤再到文件存储和数据库存储;而日志分析模块则包括日志分析和分析结果的展示两个子模块。
系统在设计上完整地实现了网络设备日志的集中管理与分析功能,因为遵循syslog标准,具有很好的扩展性,使之可以接收操作系统日志、Web日志等。日志在各个网络设备服务器上生成,再发送到日志主机上。日志主机对所有网络设备的日志进行接收和整理,分别存储到文件和数据库中。之所以用数据库对日志进行存储,是为了更好地对日志进行管理和分析。采用数据库能够对日志进行结构化存储,从而可以快捷、高效地对日志进行各种查询和分析。而且考虑到系统的可扩展性,要对日志信息进行更为深入的挖掘,则更需要数据库的支持。系统会从文件和数据库中提取日志数据进行分析,分析结果会被存储到数据库中,通过Web方式把分析的结果展示给用户。下面分别对系统的各个模块作具体的介绍。
3日志发送模块
日志发送模块的主要任务是把各个网络设备上的日志有效地传输到日志主机上。日志的传输方式有很多种,在实际中,我们实现了基于syslog协议的实时传输方式。Syslog(日志)就是这样的一种系统(它工作于许多操作系统之中),syslog灵活的配置设计可以使系统操作员有能力在机器设备上配置日志信息的保存地点。就是说,事件信息被日志进程接收后,可以存放在本机的文件中,也可以发送到控制台上显示;或者可以通过网络将这些事件信息转发到远端机器的日志进程中。同样,远端机器上的日志进程也可以被配置成保存事件信息,或再次转发事件信息到另一台机器。syslog协议非常简单,在传送方和接收方之间不用严格的协调,日志信息发送方不必等待接收方配置完成后再启动进程,即使不存在接受的物理设备也可以发送事件信息(没有机器保存住信息罢了)。相对地,日志服务设备不必作明确的配置和定义就可以接受事件信息,包括本机和网络上的。syslog协议的这种运作方式,可以相当简单地来部署日志服务。
4日志接收及处理模块
实践中我们都采用Apache服务器,利用syslogd进行日志的发送,而在日志机上则用syslog ng进行日志的接收。对syslogng进行配置,使其能够把接收到的日志信息存放到指定目录下的文件中。然而用syslog进行日志的传输会遇到一个的问题,各个服务器的日志都集中发送到日志机上,需要区分出各个服务器的日志。syslog ng有根据日志内容进行过滤的功能,打开syslogng的配置文件,在其中的filter项中使用match函数,就能够区分出含有特定字串的日志。而能够表征各个服务器的当然就是服务器的域名了,因此只需要更改各个服务器的日志格式,在日志格式中添加“%v”项,就可以在日志中附加上服务器的域名,这样syslog ng就可以根据日志中的这一信息把日志进行区分,并存放到相应的目录下。然后我们对日志文件进行使用定时批处理导入到Mysql数据库。
5日志分析模块
目前已有不少专业的日志分析软件,例如webalizer、awstats等,但它们一般只能够对日志进行比较简单的分析,不能对日志进行一些深入的分析,因此,我们根据实际需要编写程序对日志进行分析。
5.1日志信息的格式及分析
网络的日志是不完全严格固定的,但是每个域都有一定的格式说明,这样就可以通过正则表达式来判断日志是否包含某个域,如果有就把它解析出来。本系统要求支持多种格式的网络日志:Syslog,Traffic,WELF等,下面重点以Syslog为例来说明如何解析网络日志。
SysLog日志格式:
Mon aa hr:mmas hostname
src=””dst=””
msg=”Traff c Log” note=”Traffic Log”devID=””
cat=”Traffic Log”duration=seconds sent=sentBytesrcvd=receiveBytes dir=”packet
direction"protoID=IPProtocolID proto="service/dest port
number”
traps=”IPSec/Normal”。
再利用正则表达式搜索日志的每个项,在完成从日志中提取了各个网络使用状态域之后,首先根据Category域对网络日志进行粗分类。然后再根据Category字段对Msg内容和note内容作相应的第二层解析,这两个字段包含了跟详细的网络使用信息。如入侵的具体方法、登录用户名等信息。
5.2日志分析模块的解决方案
比较理想的解决方案是将需要查看的日期的日志文件导入MySQL数据库,通过编写基于J2EE的WEB程序来检索、统计、分析事件信息。网络管理员和开发人员可以在任意的网管工作站上使用WEB浏览器查看所需要的交换路由事件信息。
5.3日志分析模块的主要功能
WEB处理程序采用基于J2EE的三层结构模型思想,将实际需求分模块处理,以创建各类EJB组件,
(1)批处理任务自动报告:对于重大的设备告警信息,运行程序后能够自动定时报告,以便管理员尽快处理。
(2)状态查询:对局域网络设备的信息进行分类别的有效查询,是日志处理的主功能模块,能够根据设备名称、信息类别、模块、级别、时间等进行检索、排序,以便进一步的分析。
(3)报表:对不同类别的信息报告统计数据。
(4)系统维护:对注册到日志处理系统的网络设备进行日常维护方面的工作。
6结束语
本文讨论了一个网络设备日志管理系统的研究与实现问题,网络管理人员借助于网络设备日志管理系统,可以更加有效的利用和分析日志信息,不断适应日益复杂的网络环境,维护职责范围内的网络稳定。做好交换路由设备的日志備份、处理和分析,对于故障判断、事后安全审计有着很高的实用价值。
今后的工作:日志信息系统的实时、准确和更全,更好地满足用户的决策需求。
本文创新点:对网络设备日志进行实时的传输,可以对日志进行快速分类、查询,从而提高日志分析的效率,帮助管理员进行实时动态决策。
关键词:日志;备份;syslog协议额;MySQL
1引言
以太局域网中,常用的交换机和路由器等设备一般都提供日志、调试和告警信息的查看和备份功能,网络管理员和开发人员登录设备后,可以通过命令行方式来查看使用情况,分析故障原因、进行安全审计。但由于局域网内网络设备的地理位置、物理条件的差异,网络设备经常会出现掉电重启的情况,保存在设备内部缓冲区的日志、调试和告警信息会因此丢失;另外,即使不会出现掉电情况,但由于设备内部缓冲区的大小是一定的,缓冲区充满后,以前的信息记录便会被覆盖。所以,为了更好地监控网络的运行情况,诊断网络的故障,在局域网环境中,有必要启用交换机和路由器的日志、调试和告警信息的备份功能,将需要监控的设备的日志、调试和告警信息集中保存到一台或多台日志服务器中。如何高效地对保存好的日志记录进行事后安全审计、故障判断和检索分析,是一个需要解决的问题。利用基于统一的Linux平台的日志备份系统和J2EE环境开发的WEB处理程序,高效、稳定地解决了这一问题。
下文首先介绍系统的总体结构,然后分别介绍系统的各个模块,接着介绍系统在实际中的应用效果,最后是总结和展望。
2系统总体结构
我们首先对系统的总体结构进行了设计,设计的系统总体结构如图1所示。
系统由三个模块组成,分别是:日志发送模块、日志接收及处理模块和日志分析模块。日志发送模块完成日志的生成和发送;日志接收及处理模块实现了日志的简单分析和过滤再到文件存储和数据库存储;而日志分析模块则包括日志分析和分析结果的展示两个子模块。
系统在设计上完整地实现了网络设备日志的集中管理与分析功能,因为遵循syslog标准,具有很好的扩展性,使之可以接收操作系统日志、Web日志等。日志在各个网络设备服务器上生成,再发送到日志主机上。日志主机对所有网络设备的日志进行接收和整理,分别存储到文件和数据库中。之所以用数据库对日志进行存储,是为了更好地对日志进行管理和分析。采用数据库能够对日志进行结构化存储,从而可以快捷、高效地对日志进行各种查询和分析。而且考虑到系统的可扩展性,要对日志信息进行更为深入的挖掘,则更需要数据库的支持。系统会从文件和数据库中提取日志数据进行分析,分析结果会被存储到数据库中,通过Web方式把分析的结果展示给用户。下面分别对系统的各个模块作具体的介绍。
3日志发送模块
日志发送模块的主要任务是把各个网络设备上的日志有效地传输到日志主机上。日志的传输方式有很多种,在实际中,我们实现了基于syslog协议的实时传输方式。Syslog(日志)就是这样的一种系统(它工作于许多操作系统之中),syslog灵活的配置设计可以使系统操作员有能力在机器设备上配置日志信息的保存地点。就是说,事件信息被日志进程接收后,可以存放在本机的文件中,也可以发送到控制台上显示;或者可以通过网络将这些事件信息转发到远端机器的日志进程中。同样,远端机器上的日志进程也可以被配置成保存事件信息,或再次转发事件信息到另一台机器。syslog协议非常简单,在传送方和接收方之间不用严格的协调,日志信息发送方不必等待接收方配置完成后再启动进程,即使不存在接受的物理设备也可以发送事件信息(没有机器保存住信息罢了)。相对地,日志服务设备不必作明确的配置和定义就可以接受事件信息,包括本机和网络上的。syslog协议的这种运作方式,可以相当简单地来部署日志服务。
4日志接收及处理模块
实践中我们都采用Apache服务器,利用syslogd进行日志的发送,而在日志机上则用syslog ng进行日志的接收。对syslogng进行配置,使其能够把接收到的日志信息存放到指定目录下的文件中。然而用syslog进行日志的传输会遇到一个的问题,各个服务器的日志都集中发送到日志机上,需要区分出各个服务器的日志。syslog ng有根据日志内容进行过滤的功能,打开syslogng的配置文件,在其中的filter项中使用match函数,就能够区分出含有特定字串的日志。而能够表征各个服务器的当然就是服务器的域名了,因此只需要更改各个服务器的日志格式,在日志格式中添加“%v”项,就可以在日志中附加上服务器的域名,这样syslog ng就可以根据日志中的这一信息把日志进行区分,并存放到相应的目录下。然后我们对日志文件进行使用定时批处理导入到Mysql数据库。
5日志分析模块
目前已有不少专业的日志分析软件,例如webalizer、awstats等,但它们一般只能够对日志进行比较简单的分析,不能对日志进行一些深入的分析,因此,我们根据实际需要编写程序对日志进行分析。
5.1日志信息的格式及分析
网络的日志是不完全严格固定的,但是每个域都有一定的格式说明,这样就可以通过正则表达式来判断日志是否包含某个域,如果有就把它解析出来。本系统要求支持多种格式的网络日志:Syslog,Traffic,WELF等,下面重点以Syslog为例来说明如何解析网络日志。
SysLog日志格式:
Mon aa hr:mmas hostname
src=”
msg=”Traff c Log” note=”Traffic Log”devID=”
cat=”Traffic Log”duration=seconds sent=sentBytesrcvd=receiveBytes dir=”packet
direction"protoID=IPProtocolID proto="service/dest port
number”
traps=”IPSec/Normal”。
再利用正则表达式搜索日志的每个项,在完成从日志中提取了各个网络使用状态域之后,首先根据Category域对网络日志进行粗分类。然后再根据Category字段对Msg内容和note内容作相应的第二层解析,这两个字段包含了跟详细的网络使用信息。如入侵的具体方法、登录用户名等信息。
5.2日志分析模块的解决方案
比较理想的解决方案是将需要查看的日期的日志文件导入MySQL数据库,通过编写基于J2EE的WEB程序来检索、统计、分析事件信息。网络管理员和开发人员可以在任意的网管工作站上使用WEB浏览器查看所需要的交换路由事件信息。
5.3日志分析模块的主要功能
WEB处理程序采用基于J2EE的三层结构模型思想,将实际需求分模块处理,以创建各类EJB组件,
(1)批处理任务自动报告:对于重大的设备告警信息,运行程序后能够自动定时报告,以便管理员尽快处理。
(2)状态查询:对局域网络设备的信息进行分类别的有效查询,是日志处理的主功能模块,能够根据设备名称、信息类别、模块、级别、时间等进行检索、排序,以便进一步的分析。
(3)报表:对不同类别的信息报告统计数据。
(4)系统维护:对注册到日志处理系统的网络设备进行日常维护方面的工作。
6结束语
本文讨论了一个网络设备日志管理系统的研究与实现问题,网络管理人员借助于网络设备日志管理系统,可以更加有效的利用和分析日志信息,不断适应日益复杂的网络环境,维护职责范围内的网络稳定。做好交换路由设备的日志備份、处理和分析,对于故障判断、事后安全审计有着很高的实用价值。
今后的工作:日志信息系统的实时、准确和更全,更好地满足用户的决策需求。
本文创新点:对网络设备日志进行实时的传输,可以对日志进行快速分类、查询,从而提高日志分析的效率,帮助管理员进行实时动态决策。