一种日志管理系统及日志采集方法

文档序号:9379997阅读:975来源:国知局
一种日志管理系统及日志采集方法
【技术领域】
[0001] 本发明涉及计算机通信领域,尤其涉及一种日志管理系统及日志采集方法。
【背景技术】
[0002] 在IT系统的运营过程中,为了监控系统运行的状态,或者是为了给业务操作留下 记录以备事后审计,应用系统会产生各种各样的日志,包括:操作系统、中间件产生的系统 日志、应用软件产生的业务操作日志等等。一般情况下,由于建设的先后顺序和需求不同, 各个应用系统各自独立记录、存储自己的日志,各个应用系统的日志的格式通常是不统一 的。
[0003] 在IT系统规模日益扩大和SLA服务水平逐步提高时,通常需要建设日志管理系 统,从各个应用系统中采集系统日志、应用软件的操作日志进行集中存储,并对外提供统一 的日志查询和分析功能,满足业务分析、网络安全和业务审计的需要。如图1所示,对各类 日志的管理一般分为采集、存储和利用等三个阶段。
[0004] 为了实现对日志的管理,需要将各个应用系统接入日志服务器,一般分为下述几 个步骤:
[0005] 第一步:制订接入规范,梳理各个应用系统的日志记录的实现状况,根据业务、安 全、审计等各方面的要求,制订应用系统日志记录的接入规范。
[0006] 第二步:准备应用接入,各个应用系统根据日志规范,对各自系统的日志管理模块 进行改造完善,主要是核对应用日志的各个字段,各个字段的格式和顺序等内容。
[0007] 第三步:准备服务端,根据待接入的应用系统的日志现状,在服务器上完成应用标 识等相应的配置,并根据实际情况进行服务端数据库表的新建或调整。
[0008] 第四步:接入应用系统,各个应用系统根据日志服务器提供的接口和规范,通过主 动推送或Agent采集等方式将日志提交到日志服务器存储。
[0009] 各个应用系统的日志存储到日志服务器中后,即可进行后续的日志查询、统计分 析、审计工作,甚至可以依据日志规则触发告警,以便进行相应的系统和业务处理。
[0010] 日志管理有下述几个特点:
[0011] 1.要求将日志实时写入数据库,但通常不会实时使用日志;
[0012] 2.对日志的操作不会被包含在一个事务中;
[0013] 3.日志的生产者不应当有修改日志的需求。
[0014] 现有的应用系统与日志服务器的集成架构图如图2所示,日志服务器一般由日志 接收应用和数据库组成,而应用系统可通过日志采集代理接入到日志服务器,也可以直接 接入到日志服务器。采集日志的方式包括主动推送(Push)和被动采集(Pull)两种,前者 是应用系统调用日志采集代理或日志服务器的接口,主动将日志推送给日志管理系统;后 者是日志采集代理到应用系统中去抓取日志,然后发送到日志服务器,从应用系统的角度 来看,就属于"被动采集"。
[0015] 现有的日志服务器通常存在以下问题:
[0016] 应用系统接入集成工作复杂:关系数据库的每个表都有Schema。日志管理系统存 储来自多个应用系统的日志,日志对象的属性很可能各不相同,使用关系数据库存储日志, 可以使用两种方法来对齐日志,一是在日志采集代理或日志接收应用中,进行日志格式的 转换映射;二是为每种日志进行建表操作。由于日志的格式千差万别,在某应用系统接入 时,可能这两种方法都要使用。随着日志种类的增多,应用系统的接入和程序开发会越来越 复杂。
[0017] 以邮件系统为例,其操作日志的结构比较复杂。一个邮件可能有多个收件人并且 有多个附件,如果使用Oracle数据库,至少需要3个表来维护2个一对多的关系。
[0018] 可用性和扩展性难以保障:由于日志管理过程涉及应用服务器和数据库服务器, 为了满足高并发写入情况下的系统的可用性和扩展性,必须统筹考虑应用服务器、数据库 服务器的架构,这个对于系统架构的设计和系统扩展来说是一个比较大的挑战。

【发明内容】

[0019] 为了解决上述技术问题,本发明提供了一种日志管理系统及日志采集方法,对于 来自多个应用系统的具有不同格式的日志,无需进行日志格式的统一,减轻了应用系统接 入改造的工作量。
[0020] 为了实现上述目的,本发明提供了一种日志管理系统,包括:多个数据源、数据库 服务器、日志采集装置,其中,多个数据源,用于生成具有不同格式的日志;所述数据库服务 器包括:无模式的数据库,用于存储具有不同格式的日志;所述日志采集装置包括:日志接 口模块,用于为所述多个数据源提供日志接口,以使得所述多个数据源通过所述日志接口, 将具有不同格式的日志发送至所述日志采集装置;日志持久化模块,用于将具有不同格式 的日志发送至所述数据库服务器,以使得所述数据库服务器将所述具有不同格式的日志存 储至无模式的数据库中。
[0021] 上述日志管理系统,其中,所述日志采集装置还包括:日志转发代理模块,所述日 志持久化模块,用于通过所述日志转发代理模块将具有不同格式的日志发送至所述数据库 服务器;所述日志转发代理模块包括:接收子模块:用于接收日志操作指令及所述日志持 久化模块发送的具有不同格式的日志;数据安全子模块,用于判断所述日志操作指令是否 为将所述具有不同格式的日志写入数据库服务器的指令;数据交互子模块,用于在所述数 据安全子模块判定所述日志操作指令为将所述具有不同格式的日志写入数据库服务器的 指令时,将具有不同格式的日志发送至所述数据库服务器。
[0022] 上述日志管理系统,其中,所述数据安全子模块进一步用于存储经过加密后的所 述无模式的数据库的用户名和密码,并在所述接收子模块接收到具有不同格式的日志后, 将所述加密后的用户名和密码进行解密;数据交互子模块,进一步用于在所述数据安全子 模块判定所述操作指令为将所述具有不同格式的日志写入数据库服务器的指令时,将解密 后的用户名和密码及具有不同格式的日志发送至所述数据库服务器,以使得所述数据库服 务器根据解密后的用户名和密码将所述具有不同格式的日志存储至无模式的数据库中。
[0023] 上述日志管理系统,其中,所述日志采集装置还包括:日志预处理模块,用于对所 述具有不同格式的日志配置用于标识生成所述具有不同格式的日志的数据源的参数,并根 据预设规则对所述具有不同格式的日志进行过滤;所述日志持久化模块,进一步用于将经 过过滤后的具有不同格式的日志发送至所述数据库服务器。
[0024] 上述日志管理系统,其中,所述日志采集装置还包括:异常处理模块及缓存模块, 所述异常处理模块,用于分析所述日志采集装置与所述数据库服务器的链接是否符合预设 指标,并在不符合时发送告警信息;当所述异常处理模块确定所述日志采集装置与所述数 据库服务器的链接不符合预设指标时,所述日志持久化模块进一步用于将具有不同格式的 日志存储至缓存模块。
[0025] 上述日志管理系统,其中,所述数据库服务器还包括:统计数据库,用于存储根据 预设的统计规则脚本及所述无模式的数据库中存储的具有不同格式的日志生成的统计数 据。
[0026] 上述日志管理系统,其中,所述日志采集装置还包括:日志抓取模块,用于从多个 数据源中抓取具有不同格式的日志。
[0027] 本发明还提供了一种日志采集方法,包括:第一接收步骤:通过日志接口接收数 据源发送的具有不同格式的日志;日志持久化步骤:将具有不同格式的日志发送至数据库 服务器,以使得所述数据库服务器将所述具有不同格式的日志存储至无模式的数据库。
[0028] 上述日志采集方法,其中,在所述日志持久化步骤之前还包括:第二接收步骤:接 收一日志操作指令;判断步骤:判断所述日志操作指令是否为将所述具有不同格式的日志 写入数据库服务器的指令;所述日志持久化步骤进一步在所述判断步骤判定所述日志操作 指令为将所述具有不同格式的日志写入数据库服务器的指令时,将具有不同格式的日志发 送至所述数据库服务器。
[0029] 上述日志采集方法,其中,所述数据库服务器的无模式的数据库的用户名和密码 经过加
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1