分布式计算环境的日志动态分析系统的制作方法_2

文档序号:9810732阅读:来源:国知局
ocket安全套接字,IPX数据交换协议的通讯接口。日志收集压缩部分包含两个主要模块,分别是用于获取日志的重定向模块和日志压缩模块。获取日志的重定向模块是将日志发生计算机上的日志源进行重定向输出,形成日志副本,将此日志副本传输给代理服务的日志压缩模块,重定向输出过程包括对代理服务所在计算机的网络访问日志、操作系统日志、应用软件日志、网关设备日志、数据库DML操作日志等进行日志定位、重定向生成日志副本两个步骤;
步骤I)日志定位,代理服务程序通过扫描日志发生计算机上的文件系统、系统注册表信息,获取日志的文件路径、通过注册表匹配机制确认日志类型,定位日志文件所在的位置。
[0016]步骤2)重定向生成日志副本,当步骤I)完成日志定位后,通过依赖性服务注入、渗透测试、进程监控等系统级编程技术对日志发生对象进行日志文件获取、并构建生成日志副本的发生器进程,副本的生成方式根据日志发生对象的日志类型来对应不同的生成方式,文件型日志通过文件复制的方式完成副本生成,设备日志的副本生成方式通过单独的进程获取设备固件的日志数据提取方式,应用软件日志的副本生成方式通过开源日志工具log4j开发包、Verbose调试开关等调试接口的输出文件提取而成,数据库日志的副本生成方式通过代理程序读取数据库DML日志记录和数据表进行行记录连续读取、抄送给副本的方式完成。
[0017]日志传输服务,是将网关-日志生成代理服务中步骤2)的重定向生成的日志副本传输给日志收集控制器。由于日志副本有多种类型及数据结构,无法采用直接文件复制的方式让日志收集控制器获取日志副本,需要一种特殊的传输方法来完成各种日志副本的统一传输,日志传输服务通过网络连接,在TCP/IP网络协议,Socket安全套接字,IPX数据交换协议的基础上封装日志文件副本,采用两种传输步骤来完成日志传输服务功能。
[0018]步骤I)建立异步消息处理机制,该步骤将日志副本通过消息处理机制来实现日志传输,消息处理机制主要处理文件型日志副本、应用软件日志副本,将重定向生成日志副本文件按照消息队列的方式进行封装、并通过设置消息队列深度、消息分段等参数将副本文件截取为每一个消息控制在4M大小的消息段,通过消息传输队列的JMS进程连接日志收集控制器的消息接收队列进程中,传输采用消息压缩、分段提交、接收解压三个动作完成。由于消息处理机制是异步通信模式、消息压缩可以减小副本文件大小、分段提交能够减缓网络带宽占用、接收解压能够保证消息的完整性和一致性。从而解决日志副本文件传输网络带宽占用高、传输过程防篡改、异步处理对网关-日志生成服务性能冲击的难题。
[0019]步骤2)建立连续数据捕获机制,该步骤主要面向数据库型的日志副本,连续数据捕获机制是准实时型的、延迟低、吞吐量大的日志传输服务方法。数据库日志是线性日志类型,会不断增长,日志文件较大。数据库日志中记录了数据库DML语句的各种数据增删改信息以及事务操作信息。当网关-日志生成服务定位了数据库日志后,并生成日志副本,由于该日志副本是关系型数据库的日志格式,需要一种数据传输服务来将代理服务捕获的日志变化情况应用到日志收集控制器中,建立连续数据捕获机制的方法是读取日志副本行记录,由于数据库日志副本是持续增长的,我们记录每一个增删改和事务操作,将每一个记录封装为一个SQL指令,通过TCP/IP协议将这些指令传递给日志收集控制器,日志收集控制器收到SQL指令后,进行解析处理。数据库日志副本尽管持续增长,但连续数据捕获机制也持续进行记录和SQL指令转换,并发送SQL指令到日志收集控制器,SQL指令封装的是文本类型,数据包较小、占用网络带宽资源少,日志收集控制器根据SQL指令进行处理解析,重新在日志收集控制器中的数据库日志分析模块中执行该SQL指令,从而达到数据传输完成的目的。
[0020]日志收集控制器是日志动态分析方法的数据来源,它通过网关-日志生成服务收集各种类型的日志,通过日志传输服务将不同数据结构的日志以一种统一的数据格式提交给位于日志收集控制器的存储空间中,日志收集控制器定义该存储空间的使用规则,并形成文件型日志控制器、消息型日志控制器和数据库型日志控制器。日志收集的实现流程如图2所示,用开源数据采集工具Fluentd的方式收集日志,通过Fluentd实时采集到日志收集控制器,将实时采集数据存放位于日志收集控制器中MongoDB的Capped Collect1n中。通过调用开源日志处理库Log4j Append采集系统应用层的数据和非结构化的一些实时数据(比如页面的点击数)。部分行为日志会将实时数据采集到MongoDB的CappedCollect1n。接下来是Schedule,线程定时扫描收集到得日志进行分析统计,在同一个Schedule里面会存三份数据,一份存到Result作为统计结果,一份数据存到分布式文件系统,主要作为离线的数据预演,还有一份保存到日志搜索器主要用来实时查数据、统计数据和验证数据。
[0021 ]实时流处理服务,是系统日志动态分析方法的核心部分,它将日志收集控制器收集的日志信息进行实时计算与特征匹配,以XML格式统一生成流式处理的数据信息,并定义触发器形成日志特征驱动的异常统计信息,通过各个功能模块将日志动态分析的过程完整实现。它包含7个功能模块,分别是实时计算控制器、通知服务、异常统计、实时结果展示、时间戳、日志解析器和日志搜索器。
[0022]实时计算控制器可以用来处理源源不断流进来的消息并完成实时计算,通过实时计算实现对不断增长的日志信息中关心的业务数据进行统计与分析,并通过实时结果展示进行日志展示,由于处理的日志增长量是持续的,数据量巨大,在设计实时计算控制器的时候需要充分考虑计算资源均衡的特点。
[0023]Spout将每条原始日志标准化,按照URL分组(fieldsGrouping,为保持每台服务器计算量的均勾),派发到对应的Stat_bolt上;
Stat_bolt是主要的计算Bolt,将每个业务的URL梳理并计算,如PV、UV、总响应时间、后端响应时间、HTTP状态码统计、URL排序、流量统计等;
Merge_bolt将每个业务的数据合并,如PV数,UV数等。当然,这里的UV合并就用到了前面提到的基数计数;
构建一个Coordinator协调类,将流式处理StreamID标记为“coordinator”,作用是为了进行时间协调(切分batch)、检查任务完成度、超时处理。
[0024]实现一个Scheduler通过日志收集控制器(3)获取参数,动态调整Spout、Bolt在各服务器的分布,以便灵活分配计算资源。
[0025]通知服务是实时流处理服务的重要功能,它通过配置日志解析器中的通知触发器进行监控警告服务,并能够提供符合SNMP协议的MIB库进行通知服务,通知方式包括邮件通知和消息通知。
[0026]异常统计按照日志解析器中对日志内容进行批处理,对日志中的错误、警告信息进行标记,并对错误类型和范围通过数据字典进行标记分类,根据分类号和标记编号对日志错误和警告进行统计、排序。提供统计和排序查询接口供实时结果展示进行日志展示。
[0027]实时结果展示通过对实时计算的日志信息和异常统计信息进行实时显示,通过调用操作系统GDI绘制函数进行结果展示,展示方式有表格视图、统计视图和仪表盘方式。
[0028]时间戳是实时计算过程中,为了对日志事件进行时间定义的一个
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1