一种日志的采集方法及装置的制造方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及一种日志的采集方法及装置。
【背景技术】
[0002]服务器上的操作系统(如,Windows, Linux等)和运行的应用程序都有相应的日志文件,操作系统有系统日志文件,应用系统有应用日志文件。日志文件中记录了该服务器启动、关闭、用户登录、应用程序运行等信息。采集系统日志文件和应用日志文件中的信息,对于分析服务器的系统性能、应用性能或者诊断服务器的系统故障、应用故障等有着重要作用。
[0003]现有技术中,采集日志文件的方式主要有:基于简单网络管理协议(SimpleNetwork Management Protocol, SNMP)陷讲(Trap)的采集方式、基于系统日志(SystemLog, Sys log)协议的采集方式、基于远程登录协议(Telnet)的采集方式。然而,由于基于SNMP Trap的采集方式是基于事件驱动的,代理只有在监听到故障时才通知管理系统,非故障信息不会通知给管理系统,由此,造成管理系统获取的信息不全面,此外,该方式只能基于SNMP协议进行,且采集的消息的格式需单独定义,具有一定的局限性;基于Sys log协议的方式使用用户数据报文协议(User Datagram Protocol,UDP)作为传输协议,能够接收远程系统的日志文件,然而该种方式中,大部分的应用程序按照自定义的方式写日志,不支持Sys log协议,所以通常该方式不能获取各种类型操作系统或者应用系统的日志文件的信息;基于Telnet的方式,需要先远程登录到被管理端,通过命令方式获取日志文件的信息,再通过邮件或者文件传输协议(Fi Ie Transfer Protocol,FTP)的方式将日志文件的信息发送给接收者,然而该方式需要管理远程登录信息,且需要使用邮件服务器或者FTP服务器,存在安全性差以及发送方式复杂的问题。
[0004]综上,现有技术中的日志的采集方法存在采集的信息不全面、适用性差以及采集方式复杂的问题。
【发明内容】
[0005]本发明实施例提供了一种日志的采集方法,可以提高采集的信息的全面性和适用性,且采集方法简单,能够极大地提高采集的效率。
[0006]第一方面,提供了一种日志的采集方法,该方法包括:
[0007]日志客户端从日志知识模块列表中读取至少一个日志知识模块;
[0008]执行所述日志知识模块,对相应的操作系统或者应用系统的日志文件进行解析,并采集所述日志文件的目标内容信息;
[0009]向日志服务端发送采集的所述目标内容信息。
[0010]结合第一方面,在第一方面的第一种实现方式中,所述日志知识模块包括一个或者多个目标参数;
[0011 ] 所述执行所述日志知识模块,对相应的操作系统或者应用系统的日志文件进行解析,并采集所述日志文件的目标内容信息包括:
[0012]执行所述日志知识模块,对相应的操作系统或者应用系统的日志文件进行解析,得到解析结果;
[0013]根据所述目标参数,从所述解析结果中采集与所述目标参数相一致的参数的参数值,将所述参数的参数值作为所述日志文件的目标内容信息。
[0014]结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述执行所述日志知识模块包括:
[0015]周期性执行所述日志知识模块;和/或,
[0016]当所述日志文件的大小大于阈值时,执行所述日志知识模块。
[0017]结合第一方面或第一方面的第一种实现方式或第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述方法还包括:
[0018]向所述日志服务端发送询问指令,所述询问指令用于指示所述日志服务端在判断有更新的日志知识模块时,向所述日志客户端返回所述更新的日志知识模块的编号;
[0019]根据所述更新的日志知识模块的编号,从所述日志服务端获取所述更新的日志知识模块。
[0020]结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述日志服务端的更新的日志知识模块是由所述日志服务端通过调用日志知识模块发布站点的应用程序编程接口 API函数,从所述日志知识模块发布站点获取的;或者,
[0021]所述日志服务端的更新的日志知识模块是由所述日志服务端从存储介质中获取的。
[0022]结合第一方面或第一方面的上述四种实现方式中任一种实现方式,在第一方面的第五种实现方式中,在所述日志客户端从日志知识模块列表中读取至少一个日志知识模块之前,所述方法还包括:
[0023]根据所述日志服务端的IP地址和监听端口,向已打开所述监听端口并开启监听模式的所述日志服务端发送测试消息;
[0024]接收所述日志服务端根据接收到的所述测试消息发送的确认消息。
[0025]第二方面,提供了一种日志的采集方法,该方法包括:
[0026]日志服务端获取至少一个日志知识模块;
[0027]当接收到日志客户端发送的询问指令时,向所述日志客户端返回所述日志知识模块的编号;
[0028]接收所述日志客户端根据所述日志知识模块的编号发送的获取指令;
[0029]根据所述获取指令,向所述日志客户端返回所述日志知识模块,以使所述日志客户端执行所述日志知识模块,对相应的操作系统或者应用系统的日志文件进行解析,并采集所述日志文件的目标内容信息;
[0030]接收所述日志客户端采集的所述目标内容信息。
[0031 ] 结合第二方面,第二方面的第一种实现方式中,所述日志服务端获取至少一个日志知识模块包括:
[0032]通过调用日志知识模块发布站点的应用程序编程接口 API函数,从所述日志知识模块发布站点获取至少一个日志知识模块;或者,
[0033]从存储介质中获取至少一个日志知识模块。
[0034]结合第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,在所述日志服务端获取至少一个日志知识模块之前,所述方法还包括:
[0035]所述日志服务端接收配置指令,根据接收到的配置指令,打开监听端口,并开启监听模式;
[0036]接收所述日志客户端发送的测试消息;
[0037]根据所述测试消息向所述日志客户端返回确认消息。
[0038]第三方面,提供了一种日志的采集装置,该装置包括:读取单元、采集单元和发送单元;
[0039]所述读取单元,用于从日志知识模块列表中读取至少一个日志知识模块;
[0040]所述采集单元,用于执行所述读取单元读取的所述日志知识模块,对相应的操作系统或者应用系统的日志文件进行解析,并采集所述日志文件的目标内容信息;
[0041 ] 所述发送单元,用于向日志服务端发送所述采集单元采集的所述目标内容信息。
[0042]结合第三方面,在第三方面的第一种实现方式中,所述日志知识模块包括一个或者多个目标参数;
[0043]所述采集单元具体用于:
[0044]执行所述日志知识模块,对相应的操作系统或者应用系统的日志文件进行解析,得到解析结果;
[0045]根据所述目标参数,从所述解析结果中采集与所述目标参数相一致的参数的参数值,将所述参数的参数值作为所述日志文件的目标内容信息。
[0046]结合第三方面或第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述采集单元具体用于:
[0047]周期性执行所述日志知识模块;和/或,
[0048]当所述日志文件的大小大于阈值时,执行所述日志知识模块。
[0049]结合第三方面或第三方面的第一种实现方式或第三方面的第二种实现方式,在第三方面的第三种实现方式中,所述装置还包括:获取单元;
[0050]所述发送单元,还用于向所述日志服务端发送询问指令,所述询问指令用于指示所述日志服务端在判断有更新的日志知识模块时,返回所述更新的日志知识模块的编号;
[0051]所述获取单元,用于根据所述更新的日志知识模块的编号,从所述日志服务端获取所述更新的日志知识模块。
[0052]结合第三方面的第三种实现方式,在第三方面的第四种实现方式中,所述日志服务端的更新的日志知识模块是由所述日志服务端通过调用日志知识模块发布站点的应用程序编程接口 API函数,从所述日志知识模块发布站点获取的;或者,
[0053]所述日志服务端的更新的日志知识模块是由所述日志服务端从存储介质中获取的。
[0054]结合第三方面或第三方面的上述四种实现方式中任一种实现方式,在第三方面的第五种实现方式中,所述装置还包括:接收单元;
[0055]所述发送单元,还用于根据所述日志服务端的IP地址和监听端口,向已打开所述监听端口并开启监听模式的所述日志服务端发送测试消息;
[0056]所述接收单元,用于接收所述日志服务端根据接收到的所述测试消息发送的确认消息。
[0057]第四方面,提供了一种日志的采集装置,该装置包括:获取单元、发送单元和接收单元;
[0058]所述获取单元,用于获取至少一个日志知识模块;
[0059]所述发送单元,用于当接收到日志客户端发送的询问指令时,向所述日志客户端返回所述日志知识模块的编号;
[0060]所述接收单元,用于接收所述日志客户端根据所述发送单元发送的所述日志知识模块的编号发送的获取指令;
[0061]所述发送单元,还用于根据所述接收单元接收的所述获取指令,向所述日志客户端返回所述日志知识模块,以使所述日志客户端执行所述日志知识模块,对相应的操作系统或者应用系统的日志文件进行解析,并采集所述日志文件的目标内容信息;
[0062]所述接收单元,还用于接收所述日志客户端采集的所述目标内容信息。
[0063]结合第四方面,第四方面的第一种实现方式中,所述获取单元具体用于:
[0064]通过调用日志知识模块发布站点的应用程序编程接口 API函数,从所述日志知识模块发布站点获取至少一个日志知识模块;或者,
[0065]从存储介质中获取至少一个日志知识模块。
[0066]结合第四方面或第四方面的第一种实现方式,在第四方面的第二种实现方式中,所述装置还包括:启动单元;
[0067]所述接收单元,还用于接收配置指令;
[0068]所述启动单元,用于根据所述接收单元接收的所述配置指令,打开监听端口,并开启监听模式;
[0069]所述接收单元,还用于接收所述日志客户端发送的测试消息;
[0070]所述发送单元,还用于根据所述测试消息向所述日志客户端返回确认消息。
[0071]本发明实施例提供的日志的采集方法及装置,日志客户端从日志知识模块列表中读取至少一个日志知识模块;执行所述日志知识模块,对