掌桥专利:专业的专利平台
掌桥专利
首页

日志格式适配方法、系统、装置及计算机可读存储介质

文献发布时间:2023-06-19 13:49:36


日志格式适配方法、系统、装置及计算机可读存储介质

技术领域

本申请涉及计算机软件的技术领域,尤其是涉及一种日志格式适配方法、系统、装置及计算机可读存储介质。

背景技术

系统日志是记录系统中硬件和软件问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。

相关技术中,设备外发的系统日志均是内置的固定的模板,各结构顺序是固定的,都是以key=“value”的形式展现,例如src=“1.1.1.1”;每个结构之间采用的分隔符也是固定的,key的关键字也是预先定义的,因此,设备在向服务器发送待外发日志的时候,只需要将获取到的value值填充至模板内即可,而后设备将填充完毕的待外发日志发送至用户的日志服务器内,日志服务器对待外发日志进行解析

针对上述中的相关技术,发明人认为由于设备外发的系统日志格式固定,但由于用户的日志服务器不一样,因此仅仅依靠固定格式的日志模板,那么日志服务器有很大的可能解析待外发日志出现错误,因此使得日志模板不能灵活适配日志服务器。

发明内容

为了提高日志模板对日志服务器的适配性,本申请提供一种日志格式适配方法、系统、装置及计算机可读存储介质。

第一方面,本申请提供了一种日志格式适配方法,采用如下的技术方案:

一种日志格式适配方法,包括:

获取日志默认模板;其中,所述日志默认模板包括多种类型,包括HTTP协议的日志默认模板和icmp协议的日志默认模板;

通过对所述日志默认模板中的内容进行编辑,以获得日志格式模板并存储;其中,所述日志格式模板的类型与所述日志默认模板的类型对应;

通过审计网络流量,确定待外发的系统日志的类型,并读取与所述类型对应的所述日志格式模板;其中,所述网络流量包括icmp请求报文和HTTP请求报文;其中,所述待外发的系统日志类型为预先配置的,所述待外发的系统日志的类型与所述日志格式模板的类型对应;

提取所述网络流量中的信息,并将所述信息填充至对应的所述日志格式模板中所述信息对应的 value中,以生成待外发日志,其中,所述信息包括源IP和源端口;

发送所述待外发日志至日志服务器,使所述日志服务器解析所述待外发日志并获得所述待外发日志内的信息;

接收所述待外发日志内的信息并显示。

通过采用上述技术方案,获取到日志默认模板后,用户可以根据自身的日志服务器对日志默认模板进行编辑,从而获得日志格式模板;而后基于要外发的系统日志的类型,读取与之相对应的日志格式模板,而后再将获取的信息填充至该日志格式模板信息对应的value内,从而生成待外发日志;而后待外发日志被发送至该日志服务器内,日志服务器可以对待外发日志进行解析,从而获得待外发日志内的信息,而后接收到该信息后,显示该信息,以供用户了解。

由于用户可根据自身的日志服务器对日志默认模板进行编辑,使得待外发日志能适配该日志服务器,从而使得日志服务器可以解析该待外发日志,因此提高了日志模板对日志服务器的适配性。

可选的,通过对所述日志默认模板中的内容进行编辑的具体方法包括:

对所述日志默认模板中关键字进行编辑,以获得所述日志格式模板;其中,所述日志默认模板包括厂商ID,所述厂商ID的关键字为vendor, vendor=“topsec”,对关键字编辑后,所述日志格式模板中所述厂商ID的关键字为aaaa,aaaa=“topsec”。

可选的,将所述信息填充至对应的所述日志格式模板中所述信息对应的 value中之前,还包括:

将所述信息中分隔符的类型与所述待外发日志中分隔符的类型进行比较,若所述信息中分隔符的类型与所述待外发日志中分隔符的类型相同,则按照预设的转义规则对所述信息中分隔符的类型进行转义;其中,转义指的是,将所述信息中与所述待外发日志中相同的分隔符转换成其他字符。

通过采用上述技术方案,通过转义的方式,将流量信息中与待外发日志中相同的字符转换为其他字符,从而避免后期将待外发日志发送至日志服务器后,日志服务器对外发日志的解析出现误差。

可选的,所述转义规则为用户预先配置于所述日志服务器内的;其中,所述转义规则包括将分隔符“|”转换成分隔符“|/”。

通过采用上述技术方案,由于日志服务器可以接收多个设备发送的信息,即接收多种类型的待外发日志,但是由于日志服务器内的转义规则一定,因此多种类型的待外发日志中信息字符的类型的转义是相同的,从而便于识别设备的来源。

可选的,通过对所述日志默认模板中的内容进行编辑的具体方法,还包括:

对所述日志默认模板在线编辑,或下载后进行编辑。

通过采用上述技术方案,通过不同的编辑方式,可以满足用户的不同需求。

可选的,对所述日志格式模板存储的具体方法,包括:

多个所述日志格式模板进行单独存放或集中存放。

通过采用上述技术方案,采用不同的存放方式,可以满足用户的不同需求。

第二方面,本申请提供了一种日志格式适配系统,采用如下技术方案:

一种日志格式适配系统,包括测试设备和日志服务器;

所述测试设备包括显示屏、存储模块和第一处理器;所述显示屏、存储模块、编辑模块均与第一处理器通信连接;

所述显示屏用于显示日志默认模板,用于显示待外发日志内的信息;所述编辑模块用于编辑日志默认模板;所述存储模块存储有日志格式模板和日志默认模板;

所述第一处理器用于审计网络流量,以确定待外发的系统日志的类型,并读取与所述类型对应的所述日志格式模板;所述第一处理器用于提取所述网络流量中的信息,并将所述信息填充至对应的所述日志格式模板中信息对应的value中,以生成待外发日志;

所述日志服务器包括第二处理器,所述第二处理器与所述第一处理器通信连接;

所述第二处理器用于接收所述待外发日志并解析,以获得所述待外发日志内的信息并发送。

通过采用上述技术方案,第一处理器从存储模块导出日志默认模板,显示屏显示日志默认模板,而后用户通过编辑模块对日志默认模板进行编辑,从而获得日志格式模板,用户将日志格式模板存储于存储模块中;而后使第一处理器审计网络流量,以确定用户要外发的日志的类型,并读取与该类型对应的日志格式模板;而后,第一处理器提取网络流量中的信息,并将信息至日志格式模板中信息对应的value中,以生成待外发日志;而后第一处理器将待外发日志发送至日志服务器,第二处理模块对待外发日志进行解析,以获得待外发日志内的信息;第二处理模块将待发日志内的信息反馈至测试设备,显示屏显示该信息;

由于用户可根据自身的日志服务器对日志默认模板进行编辑,使得待外发日志能适配该日志服务器,从而使得日志服务器可以解析该待外发日志,因此提高了日志模板对日志服务器的适配性。

可选的,所述测试设备还包括第三处理器;所述第三处理器与第一处理器通信连接;

所述第三处理器用于将信息中分隔符的类型与待外发日志中分隔符的类型进行比较,若信息中分隔符的类型与待外发日志中分隔符的类型相同,则按照预设的转义规则对信息中分隔符的类型进行转义。

通过采用上述技术方案,第一处理器提取到网络流量中的信息后,将该信息传输至第三处理器,第三处理器对该信息中的间隔符进行判断,若信息中分隔符的类型与待外发日志中分隔符的类型相同,则按照预设的转义规则对信息中分隔符的类型进行转义;第三处理器将转义后的信息传输至第二处理器,第二处理器将该信息填充至日志格式模板中与该信息对应的value中,以生成待外发日志。

第三方面,本申请提供了一种日志格式适配装置,采用如下技术方案:

一种日志格式适配装置,包括:

存储器,用于存储上述日志格式适配程序;

处理器,用于执行所述存储器上存储的日志格式适配程序,以实现上述日志格式适配方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,采用如下技术方案:

一种计算机可读存储介质,存储有能够被处理器加载并执行上述日志格式适配方法的计算机程序。

附图说明

图1是本申请的网络架构的结构框图。

图2是本申请方法实施例的流程框图。

图3是方法实施例中对信息中字符进行转义的流程框图。

图4是本申请另一实施例的结构框图。

附图标记说明:100、测试设备;110、显示屏;120、存储模块;130、第一处理器;140、第三处理器;150、编辑模块;200、日志服务器;210、第二处理器。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图1-4,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,本申请中,基于日志格式适配方法搭建了一个日志格式适配网络架构,包括测试设备和日志服务器,日志服务器可以与一个测试设备通信连接,也可以与多个测试设备通信连接。其中,测试设备可以是智能手机、生产设备等带有操作界面的设备,操作界面可以是webui界面等可以进行人机交互的操作显示界面。测试设备发送待外发日志至日志服务器,日志服务器用于解析待外发日志,以获得待 外发日志内的信息,而后再将该信息反馈至测试设备,该信息可以通过webui界面等操作界面显示,以供用户了解。

相关技术中,由于设备外发的系统日志格式固定,但由于用户的日志服务器不一样,因此仅仅依靠固定格式的日志模板,那么日志服务器有很大的可能解析待外发日志出现错误,因此使得日志模板不能灵活适配日志服务器。

例如,相关技术中,待外发日志的格式均是以key=value,然后相邻value之间用空格隔开;假设待外发日志的格式是sip=1.1.1.1 spoort=51415 dip=2.2.2.2 dport=80proto=TCP;依次表示为源IP地址、源端口号、目的IP地址、目的端口号以及网络层协议。

如果用户的日志服务器要求待外发日志中不带key,然后中间用“|”隔开,那么采用相关技术中的日志模板发送待外发日志,日志服务器就无法解析该待外发日志。

因此为了提高日志模板对日志服务器的适配性,本申请提供了一种日志格式适配方法,参照图2,可以包括如下S110-S160的步骤:

S110,获取日志默认模板;其中,日志默认模板可以有多种类型,可以是HTTP协议的日志默认模板、icmp协议的日志默认模板、攻击检测类的日志默认模板、僵尸主机类的日志默认模板、恶意程序检测类的日志默认模板等中的任一一种。

日志默认模板为内置于测试设备内的,并且为固定格式的模板。

日志默认模板的一种固定格式如下所述:

S120,通过对日志默认模板中的内容进行编辑,以获得日志格式模板并存储;其中,日志格式模板的类型与日志默认模板的类型对应。

用户可以根据自身需求对日志默认模板中的内容进行编辑,以改变日志默认模板的格式;比如,对日志默认模板中的关键字、顺序等进行编辑。

S130,通过审计网络流量,确定待外发的系统日志的类型,并读取与该类型对应的日志格式模板;其中,网络流量包括icmp请求报文、HTTP请求报文等网络协议请求报文;待外发的系统日志类型为用户预先配置于测试设备内的。

例如,用户配置了设备需要外发icmp协议的日志;测试设备若审计到了icmp请求报文,则就会自动调取icmp协议的日志格式模版。

S140,提取网络流量中的信息,并将该信息填充至对应的日志格式模板中该信息对应的value中,以生成待外发日志;其中,信息包括源IP、源端口等公共信息,也可以包括网络协议特有的信息,例如,邮件协议中的发件人信息、收件人信息等;

例如,若提取的信息为源IP,则测试设备调取上述icmp协议的日志格式模版后,会将获取到的源IP填入至源IP对应的value中,从而生成待外发日志。

通过对日志默认模板中的内容进行编辑的一种具体方法,可以包括:

对日志默认模板中关键字进行编辑,以获得日志格式模板;其中,日志默认模板中包括的厂商ID,厂商ID的关键字为vendor,即vendor=“topsec”,对关键字编辑后,日志格式模板中厂商ID的关键字为aaaa,即aaaa=“topsec”。当然,在其他编辑方法中,也可以对日志默认模板中包括的每组key、value中间的间隔符、value的编码方式以及顺序等进行编辑。

例如,通过日志默认模板发出的一种恶意程序类的日志如下:

vendor="topsec" dev_type="4" dev_name="" dev_ip="192.168.23.50" time="2019-09-2417:44:23" index="302" recorder="virus" type="11" sub_type="11.1"level="4" sid="5d89e577000015f" proto="TCP" sip="18.1.1.2" sport="20" dip="17.1.1.2" dport="49946" sipv6="" dipv6="" vid="" sdev="feth0" ddev="feth1"smac="00:0C:29:4D:04:B8" dmac="00:90:0B:3E:C0:DA" op="alert" rule="0" msg="13296f528d570e126b7671639f215745" repeat="1" file="codered2.exe" filetype="EXE" filesize="8192" md5="13296f528d570e126b7671639f21574" sha1="" app_pro="FTP" app="FTP" method="STOR" appendix="" direction="c2s" sgeo="美国" dgeo="美国"。

用户可以对日志默认模板进行编辑,使日志格式模板不显示key(关键字),每组key与value(值)之间的分隔符即间隔符不用空格用“|”隔开,然后value不用“”;那么上述恶意程序类日志变成如下所示:

topsec|4||192.168.23.50|2019-09-2417:44:23|302|virus|11|11.1|4|5d89e577000015f|TCP|18.1.1.2|20|17.1.1.2|49946|||feth0|feth1|00:0C:29:4D:04:B8|00:90:0B:3E:C0:DA|alert|0|13296f528d570e126b7671639f215745|1|codered2.exe|EXE|8192|13296f528d570e126b7671639f215745||FTP|FTP|STOR||c2s|美国|美国。

S150,发送待外发日志至日志服务器,使日志服务器解析待外发日志并获得待外发日志内的信息;

测试设备会将该待外发日志发送至日志服务器内,日志服务器接收到该待外发日志后,对该待外发日志进行解析,从而获取待外发日志内的信息。

S160,接收待外发日志内的信息并显示;

日志服务器将待外发日志内的信息反馈至测试设备,测试设备接收到该待外发日志内的信息后,可以通过webui界面显示。

若信息中的间隔符与待外发日志中的间隔符相同,则会使得待外发日志发送至日志服务器后,日志服务器对外发日志的解析出现误差;因此为了将信息中与待外发日志中相同的字符转换为其他字符,因此需要对信息中的间隔符转义,因此可以参照图3,在步骤S140中,将信息填充至对应的日志格式模板中信息对应的 value中之前,还包括步骤S141:

S141,将信息中分隔符的类型与待外发日志中分隔符的类型进行比较,若信息中分隔符的类型与待外发日志中分隔符的类型相同,则按照预设的转义规则对信息中分隔符的类型进行转义;其中,转义指的是,将信息中与待外发日志中相同的分隔符转换成其他字符。分隔符指的就是上述间隔符。

例如,待外发日志中间用“|”符号隔开,但是恰巧填充至待外发日志的value值即信息中包含“|”符号,那就需要对信息中“|”符号进行转义。

例如,(1.1.1.1|41515|2.2.2.2|80|TCP|rpm|qa),这条日志表示的顺序依次是源地址、源端口、目的地址、目的端口、传输层协议和操作信息,其中操作信息是rpm|qa,带有“|”字符,如果该信息的“|”字符没有转义,那么这条日志被日志服务器接收后,日志服务器可能就会认为操作信息只有rpm,而qa这个信息可能被丢失或者放到下一组value值;因此需要对该信息中的“|”字符进行转义;例如将该信息中的“|”字符的,用“|/”代替,那么日志服务器在接收到rpm|/qa就会知道消息内容其实是rpm|qa。

对于转义规则的一种具体实施方式,可以包括:

转义规则为用户预先配置于日志服务器内的;其中,一个日志服务器对应一种转义规则,与该日志服务器通信的测试设备的转义规则相同,均为日志服务器内预设的转义规则。例如,该日志服务器的转义规则可以是将引号转义为“\”,另一日志服务器的转义规则可能是将分隔符“|” 转义为“|/”,具体是由用户所设定的。

一种对日志默认模板进行编辑的具体方法,还可以包括:

对日志默认模板在线编辑,或下载后进行编辑;

在线编辑的方法包括,日志默认模板可以在测试设备的webui界面上显示后,用户可以直接在webui界面编辑;下载后进行编辑包括,日志默认模板在测试设备的webui界面上显示后,可以从webui界面上下载该日志默认模板,再进行编辑;类似于Word文档可以在浏览器内直接编辑,或将Word文档从浏览器上下载至桌面再进行编辑,浏览器相当于webui界面。

一种对日志格式模板进行存储的具体方式,可以包括:

多个日志格式模板进行单独存放或集中存放;

单独存放的方法包括,可以将每种类型的日志格式模版存放在对应日志的webui界面;集中存放的方法包括,可以将所有类型的日志格式模版汇总在一个文件夹内,然后将该文件夹存在放在一个单独的webui界面。可以这样理解:多个日志格式模板类似于多个Word文档,多个Word文档可以单独在桌面上,也可以在桌面上新建一个文件夹,然后将多个Word文档移动至该文件夹内。

本实施例的实施原理为:

获取到日志默认模板后,用户根据自身的日志服务器对日志默认模板进行编辑,从而获得日志格式模板;而后基于要外发的系统日志的类型,读取与之相对应的日志格式模板,而后再将获取的信息填充至该日志格式模板信息对应的value内,从而生成待外发日志;而后待外发日志被发送至该日志服务器内,日志服务器可以对待外发日志进行解析,从而获得待外发日志内的信息,而后接收到该信息后,显示该信息,以供用户了解。

参照图4,基于上述方法实施例,本申请第二实施例还提供了一种日志格式适配系统,可以包括:测试设备100和日志服务器200;

测试设备100包括显示屏110、存储模块120、编辑模块150和第一处理器130;显示屏110、存储模块120、编辑模块150均与第一处理器130通信连接;

显示屏110用于显示日志默认模板,以及显示待外发日志内的信息;

编辑模块150用于编辑日志默认模板;

存储模块120存储有日志默认模板和日志格式模板;

第一处理器130用于审计网络流量,以确定待外发的系统日志的类型,并读取与该类型对应的日志格式模板;第一处理器130还用于提取网络流量中的信息,以将该信息填充至对应的日志格式模板中该信息对应的value中,以生成待外发日志;

日志服务器200包括第二处理器210,第二处理器210与第一处理器130通信连接;

第二处理器210用于接收待外发日志并解析,以获得待外发日志内的信息并发送。

需要说明的是,编辑模块150可以是显示屏110,也可以是键盘和鼠标;当编辑模块150为显示屏110时,显示屏110为触摸显示屏;用户可以通过触摸显示屏,或键盘和鼠标对日志默认模板进行编辑。

为了实现对信息中间隔符的转义,测试设备100还包括第三处理器140,第三处理器140与第一处理器130通信连接;

第三处理器140用于将信息中分隔符的类型与待外发日志中分隔符的类型进行比较,若信息中分隔符的类型与待外发日志中分隔符的类型相同,则按照预设的转义规则对信息中分隔符的类型进行转义。

另外,第一处理器130和第三处理器140可以为同一处理器也可以为不同的处理器。

本实施的实施原理为:

用户通过第一处理器130从存储模块120内导出日志默认模板,日志默认模板在显示屏110上显示;而后用户通过编辑模块150对日志默认模板进行编辑,从而获得日志格式模板并存储于存储模块120内;而后第一处理器130审计网络流量,从而确定用户要外发的日志的类型,并读取与该类型对应的日志格式模板;而后第一处理器130提取网络流量中的信息,并将该信息填充至日志格式模板中信息对应的value中,以生成待外发日志并发送;日志服务器200接收到待外发日志后,第二处理器210对待外发日志进行解析,以获得待外发日志内的信息并发送;而后显示屏110显示该信息。

本申请第三实施例还提供了一种日志格式适配装置,可以包括:存储器和处理器;

存储器用于存储上述日志格式适配程序;

处理器用于执行存储器上存储的日志格式适配程序,以实现上述日志格式适配方法的步骤。

其中,存储器可以通过通信总线与处理器通信连接,通信总线,可以为地址总线、数据总线、控制总线等。

另外,存储器可以包括随机存取存储器(RAM),也可以包括非易失性存储器(NVM),例如至少一个磁盘存储器。

并且处理器可以是通用处理器,包括中央处理器(CPU)、网络处理器(NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

本申请第四实施例还提供了一种计算机可读存储介质,存储有能够被处理器加载并执行上述日志格式适配方法的计算机程序。

计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。其中,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。

以上均为本身请的较佳实施例,并非依次限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

相关技术
  • 日志格式适配方法、系统、装置及计算机可读存储介质
  • 系统日志的定位方法及装置、计算机可读存储介质
技术分类

06120113822708