一种无入侵日志压缩方法、系统、设备及存储介质技术方案

技术编号:38338494 阅读:15 留言:0更新日期:2023-08-02 09:19
本发明专利技术涉及一种无入侵日志压缩方法、系统、设备及存储介质,其方法包括获取日志函数的调用请求;当调用请求触发预设的eBPF应用程序时,获取日志函数的多个参数;将多个参数进行压缩,得到压缩日志并存储压缩日志。改善了日志文件占用存储空间大的问题,本发明专利技术具有降低日志文件占用存储空间的效果。低日志文件占用存储空间的效果。低日志文件占用存储空间的效果。

【技术实现步骤摘要】
一种无入侵日志压缩方法、系统、设备及存储介质


[0001]本申请涉及计算机应用性能监控的
,尤其是涉及一种无入侵日志压缩方法、系统、设备及存储介质。

技术介绍

[0002]网络设备、系统平台以及在网络设备、系统平台中运行的服务程序等,在运作时都会产生一个叫log的事件记录,也称为日志文件。
[0003]日志文件会根据服务程序的不同而产生日志文件类别有所不同,例如,应用程序日志、安全日志、系统日志、Scheduler服务日志、FTP日志、WWW日志、DNS服务器日志等。当用户针对服务程序进行一些操作时,这些日志文件通常会记录下操作的一些相关内容,这些内容对系统安全工作人员相当有用,如能够进行溯源。因此会将日志文件进行保存,以便于后续服务程序出现问题时,对问题产生的源头进行追溯。
[0004]现有技术中,为了保障日志文件的完整性,常将日志文件直接存储至存储空间中,随着服务程序运行时间的增加,产生的日志文件占用的存储空间也会增加。
[0005]上述中的现有技术方案存在以下缺陷:日志文件占用的存储空间较大。

技术实现思路

[0006]为了改善日志文件占用存储空间大的问题,本申请提供了一种无入侵日志压缩方法、系统、设备及存储介质。
[0007]在本申请的第一方面,提供了一种无入侵日志压缩方法。该方法包括:获取日志函数的调用请求;当所述调用请求触发预设的eBPF应用程序时,获取所述日志函数的多个参数;将所述多个参数进行压缩,得到压缩日志并存储所述压缩日志。
[0008]由以上技术方案可知,当获取到日志函数的调用请求时,说明会产生日志记录,同时会触发eBPF应用程序,eBPF应用程序可以获取到日志函数的多个参数,通过对多个参数进行压缩,进而实现对日志文件的压缩,得到压缩日志并存储,具有降低日志文件对存储空间占用的效果。
[0009]在一种可能的实现方式中,所述获取所述日志函数的多个参数,包括:获取所述日志函数的执行位置;根据所述执行位置将操作系统切换至内核态;通过在所述执行位置设置探针,获取所述日志函数的多个参数。
[0010]由以上技术方案可知,通过触发eBPF应用程序,获取到日志函数的执行位置,获取到执行位置后,就可以将切换操作系统至内核态,然后根据探针捕获到日志函数的多个参数,为日志文件的压缩提供了数据基础。
[0011]在一种可能的实现方式中,所述根据所述执行位置将操作系统切换至内核态,包括:
当执行到所述日志函数的执行位置时,将所述执行位置的初始指令修改为中断指令,操作系统进入内核态。
[0012]在一种可能的实现方式中,所述获取所述日志函数的多个参数之后,将所述中断指令修改为初始指令,操作系统进入用户态,完成所述日志函数的调用。
[0013]在一种可能的实现方式中,所述参数包括时间戳、变量值列表和日志类型,所述变量值列表包括字典变量列表和非字典变量列表。
[0014]在一种可能的实现方式中,所述将所述多个参数进行压缩,得到压缩日志并存储所述压缩日志,包括:根据所述参数,得到所述参数的长度、数据类型以及多个所述参数的顺序;根据所述长度和所述数据类型,确定所述参数压缩后的压缩数据;根据所述多个参数的顺序,将多个所述压缩数据进行排序得到压缩日志并存储所述压缩日志。
[0015]由以上技术方案可知,在获取到参数后,根据参数的长度、数据类型和顺序,分别对参数进行压缩,然后根据压缩的顺序进行组合,得到压缩日志并存储,实现对日志文件的压缩,降低日志文件占用的存储空间。
[0016]在一种可能的实现方式中,该方法还包括:获取所述压缩日志的文本大小;计算所述压缩日志的存储占比,所述存储占比=所述文本大小/预设空间大小;当所述存储占比超过占比预设值时,输出删除提示信息,所述删除提示信息包括删除时间和日志名称;根据所述删除时间,删除所述日志名称对应的压缩日志。
[0017]在本申请的第二方面,提供了一种无入侵日志压缩系统。该系统包括:请求获取模块,用于获取日志函数的调用请求;参数获取模块,当所述调用请求触发预设的eBPF应用程序时,获取所述日志函数的多个参数;日志压缩模块,用于将所述多个参数进行压缩,得到压缩日志并存储所述压缩日志。
[0018]在本申请的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0019]在本申请的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本申请的第一方面的方法。
[0020]综上所述,本申请包括以下至少一种有益技术效果:1.通过获取日志函数的调用请求,触发eBPF应用程序,获取到日志函数的多个参数,通过对多个参数进行压缩,进而实现对日志文件的压缩,得到压缩日志并存储,具有降低日志文件对存储空间占用的效果;2.通过触发eBPF应用程序,获取到日志函数的执行位置,进而将切换操作系统至内核态,然后根据探针捕获到日志函数的多个参数,为日志文件的压缩提供了数据基础。
附图说明
[0021]图1是本申请提供的无入侵日志压缩方法的流程示意图。
[0022]图2是本申请提供的无入侵日志压缩系统的结构示意图。
[0023]图3是本申请提供的电子设备的结构示意图。
[0024]图中,200、无入侵日志压缩系统;201、请求获取模块;202、参数获取模块;203、日志压缩模块;301、CPU;302、ROM;303、RAM;304、I/O接口;305、输入部分;306、输出部分;307、存储部分;308、通信部分;309、驱动器;310、可拆卸介质。
具体实施方式
[0025]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
[0027]网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录,也称为日志文件,用来记录程序运行情况的记录,通过日志文件记录运行情况,可以帮助用户或程序开发人员在程序运行出现问题时尽快找出问题所在。日志库允许每个语句的各种级别的日志记录(FATAL,ERROR,WARN,INFO,DEBUG等)。日志库允许保留多个日志文件。
[0028]随着服务程序的运行,日志文件也会变多,为了限定日志文件的存储空间,目前会通过定时删除日志或者日志转移的方式来减本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种无入侵日志压缩方法,其特征在于,包括:获取日志函数的调用请求;当所述调用请求触发预设的eBPF应用程序时,获取所述日志函数的多个参数;将所述多个参数进行压缩,得到压缩日志并存储所述压缩日志。2.根据权利要求1所述的无入侵日志压缩方法,其特征在于,所述获取所述日志函数的多个参数,包括:获取所述日志函数的执行位置;根据所述执行位置将操作系统切换至内核态;通过在所述执行位置设置探针,获取所述日志函数的多个参数。3.根据权利要求2所述的无入侵日志压缩方法,其特征在于,所述根据所述执行位置将操作系统切换至内核态,包括:当执行到所述日志函数的执行位置时,将所述执行位置的初始指令修改为中断指令,操作系统进入内核态。4.根据权利要求3所述的无入侵日志压缩方法,其特征在于,所述获取所述日志函数的多个参数之后,将所述中断指令修改为初始指令,操作系统进入用户态,完成所述日志函数的调用。5.根据权利要求1所述的无入侵日志压缩方法,其特征在于,所述参数包括时间戳、变量值列表和日志类型,所述变量值列表包括字典变量列表和非字典变量列表。6.根据权利要求1所述的无入侵日志压缩方法,其特征在于,所述将所述多个参数进行压缩,得到压缩日志并存储所述...

【专利技术属性】
技术研发人员:向阳聂润杰尹纪平陈自欣
申请(专利权)人:北京云杉世纪网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1