CN111258973A - Redis慢日志的存储、展示方法、装置、设备和介质 - Google Patents

Redis慢日志的存储、展示方法、装置、设备和介质 Download PDF

Info

Publication number
CN111258973A
CN111258973A CN202010052317.5A CN202010052317A CN111258973A CN 111258973 A CN111258973 A CN 111258973A CN 202010052317 A CN202010052317 A CN 202010052317A CN 111258973 A CN111258973 A CN 111258973A
Authority
CN
China
Prior art keywords
log
slow
target
slow log
redis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010052317.5A
Other languages
English (en)
Inventor
张振威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202010052317.5A priority Critical patent/CN111258973A/zh
Publication of CN111258973A publication Critical patent/CN111258973A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Redis慢日志的存储、展示方法、装置、设备和介质。所述Redis慢日志的存储方法包括:从Redis存储设备中,获取至少一项慢日志;根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。使用本发明的技术方案,可以将Redis慢日志信息进行持久化保存和图形化展示,从而为***调优和故障调查提供便利。

Description

Redis慢日志的存储、展示方法、装置、设备和介质
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种Redis慢日志的存储、展示方法、装置、设备和介质。
背景技术
慢日志存储机制是Redis用于记录执行时间过长请求的机制,能帮助运维人员追踪、分析问题。
现有技术中,为提高慢日志的读写效率,以及不影响Redis的性能,一般将慢日志保存在内存中。
发明人在实现本发明的过程中,发现现有技术存在以下缺陷:采用将Redis慢日志保存在内存中的方式时,为慢日志分配的内存空间有限,无法完整地保存Redis慢日志,也无法离线查看慢日志,为查看慢日志以进行***调优和故障调查带来了不便。
发明内容
本发明实施例提供一种Redis慢日志的存储、展示方法、装置、设备和存储介质,以实现将Redis慢日志信息进行持久化保存和图形化展示,从而为***调优和故障调查提供便利。
第一方面,本发明实施例提供了一种Redis慢日志的存储方法,该方法包括:
从Redis存储设备中,获取至少一项慢日志;
根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;
调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
第二方面,本发明实施例还提供了一种Redis慢日志的展示方法,该方法包括:
通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据;
将所述目标慢日志存储于后台数据库中;
获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
第三方面,本发明实施例还提供了一种Redis慢日志的存储装置,该装置包括:
慢日志获取模块,用于从Redis存储设备中,获取至少一项慢日志;
慢日志格式转换模块,用于根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;
目标慢日志上传模块,用于调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
第四方面,本发明实施例还提供了一种Redis慢日志的展示装置,该装置包括:
目标慢日志获取模块,用于通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据;
目标慢日志存储模块,用于将所述目标慢日志存储于后台数据库中;
目标慢日志展示模块,用于获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例中任一所述的Redis慢日志的存储方法。
第六方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例中任一所述的Redis慢日志的展示方法。
第七方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例中任一所述的Redis慢日志的存储方法。
第八方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例中任一所述的Redis慢日志的展示方法。
本发明通过从Redis存储设备中获取慢日志,并对慢日志进行格式转换,将转换后得到的键值对形式的目标慢日志上传到服务器;服务器获取目标慢日志后,将目标慢日志存储于后台数据库中,并根据用户的慢日志查询请求,筛选出与查询条件匹配的目标慢日志进行展示。解决了现有技术中慢日志只保存在内存中,无法完整地保存Redis慢日志,也无法离线查看慢日志的问题。实现了将Redis慢日志信息进行持久化保存和图形化展示,从而为***调优和故障调查提供了便利。
附图说明
图1是本发明实施例一中的一种Redis慢日志的存储方法的流程图;
图2a是本发明实施例二中的一种Redis慢日志的存储方法的流程图;
图2b是适用于本发明实施例中的Redis慢日志信息的处理流程图;
图3是本发明实施例三中的一种Redis慢日志的展示方法的流程图;
图4是本发明实施例四中的一种Redis慢日志的展示方法的流程图;
图5是本发明实施例五中的一种Redis慢日志的存储装置的结构示意图;
图6是本发明实施例六中的一种Redis慢日志的展示装置的结构示意图;
图7是本发明实施例七中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种Redis慢日志的存储方法的流程图,本实施例可适用于需要对Redis慢日志进行持久化保存,以便运维人员进行***调优和故障调查的情况,该方法可以由Redis慢日志的存储装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在客户端中。
相应的,如图1所示,本发明实施例具体包括如下步骤:
步骤110、从Redis存储设备中,获取至少一项慢日志。
其中,Redis存储设备可以为基于key-value键值对的数据库存储***,可以存储字符串(string)、哈希表(hash)、列表(list)、集合(set)、有序集合(sorted set)等。慢日志可以帮助开发和运维人员定位***存在的慢操作。***在命令执行前后计算每条命令的执行时间,当超过预设时间阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来,形成慢日志,慢日志一般保存在内存中。
在本发明实施例中,要对Redis慢日志进行持久化保存,首先需要从Redis存储设备中获取慢日志。
步骤120、根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据。
其中,日志数据可以为慢日志中记载的相关信息。日志数据可以为若干行,每行的日志数据可以表示不同的内容。在一个具体的示例中,慢日志的日志数据中,第一行可以表示慢日志的唯一标识符,第二行可以表示慢日志对应的命令执行时的时间戳,第三行可以表示慢日志对应的命令执行时的时长,第四行可以表示慢日志对应的命令以及命令参数,第五行可以表示慢日志对应的命令执行时的客户端的网际协议地址以及端口号。
目标慢日志可以根据慢日志中的日志数据,进行格式转换之后而获得,目标慢日志中的日志数据表现为键值对的形式。
在本发明实施例中,根据慢日志中的日志数据,对慢日志进行格式转换,获得日志数据表现为键值对形式的目标慢日志。
S130、调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
其中,服务器接口可以用于客户端将目标慢日志上传到服务器。日志服务器可以用于对慢日志进行持久化保存。慢日志查询请求为用户向服务器发出,用以查询相关的慢日志,以进行***调优或故障检查。
在本发明实施例中,将获取的慢日志转换成目标慢日志之后,通过服务器接口将目标慢日志上传到日志服务器,并对目标慢日志进行存储,以便于用户进行查询。
本实施例的技术方案,通过从Redis存储设备中获取慢日志,并对慢日志进行格式转换,将转换后得到的键值对形式的目标慢日志上传到服务器。解决了现有技术中慢日志只保存在内存中,无法完整地保存Redis慢日志的问题。实现了将Redis慢日志信息进行持久化保存,从而为***调优和故障调查提供了便利。
实施例二
图2a是本发明实施例二提供的一种Redis慢日志的存储方法的流程图,本实施例在上述实施例的基础上,对获取慢日志以及对慢日志进行格式转换的步骤进行了进一步的具体化。
相应的,如图2a所示,本发明实施例具体包括如下步骤:
S210、每隔预设等待时长,从所述Redis存储设备中获取当前存储的全部慢日志。
其中,预设等待时长可以为预先规定,在一个具体的示例中,可以规定每隔五分钟进行一次循环,本实施例对预设等待时长的具体数值不进行限制。
在本发明实施例中,每隔预设等待时长,获取存储在Redis存储设备中的全部慢日志,以便对慢日志进行进一步的筛选。
S220、以当前***时间为时间起点,沿时间延伸方向的反方向选取所述等待时长作为参考时间段。
其中,当前***时间可以为进行选取参考时间段操作时的***时间。参考时间段可以为当前***时间与距当前***时间过去预设等待时长之间的时间段,在一个具体的示例中,每隔五分钟获取一次慢日志时,将距当前***时间的过去五分钟作为参考时间段,但是,本实施例对参考时间段的选取方式以及具体时长不进行限制。
S230、在全部慢日志中,筛选出生产时间位于所述参考时间段内的所述慢日志。
其中,生产时间可以根据慢日志的日志数据中的时间戳确定,但是,本实施例对确定慢日志生产时间的具体方式不进行限制。
在本发明实施例中,每隔预设等待时长,获取存储在Redis存储设备中的全部慢日志,并选取参考时间段,获取参考时间段内的慢日志。这样设置的好处在于,可以及时、准确以及完整的获取慢日志,避免出现由于对慢日志分配的内存空间有限,而造成的慢日志丢失的情况。
S240、获取目标慢日志模板,所述目标慢日志模板中包括至少一个待填充键值的键值对模板,所述键值对模板中的键名与所述慢日志中的日志行相关联。
其中,目标慢日志模板可以为由若干键值对模板组成的模板,其中键值对模板包括键名和键值,键名为预先设置,键值为待填充。键名可以为与键值相对应,共同组成键值对模板,并可以根据慢日志的日志数据而获得。
日志行可以为慢日志中的一行数据,慢日志中的日志数据表现为行的形式。在一个具体的示例中,键值对模板中的键名可以为命令执行时长,慢日志中的第四行日志行即为与命令执行时长相关的数据,也即,命令执行时长与第四行日志相关联。
在本发明实施例中,通过获取目标慢日志模板并对目标慢日志模板填充键值,来实现对慢日志的格式转换。
S250、在当前处理的慢日志中,获取与所述目标慢日志模板匹配的各日志行,并根据所述各日志行的日志数据生成键值对应填充于所述目标慢日志模板中,得到所述目标慢日志。
在本发明实施例中,目标慢日志模板中的各键值对模板包括键名和待填充的键值,而键名与慢日志中的日志行相关联。通过查找与键名相关联的日志行,并根据该日志行的日志数据生成键值,将键值填充到与键名对应的位置,直至目标慢日志模板中的各键值对模板都已经填充了对应的键值。将最终填充好键值的目标慢日志模板作为目标慢日志。
在本发明一个可选的实施例中,所述目标慢日志模板中的键值对模板中的键名包括:网际协议地址以及端口号;与所述网际协议地址以及端口号的日志数据位于所述慢日志中的同一日志行中;在当前处理的慢日志中,获取与所述目标慢日志模板匹配的各日志行分别对应的日志数据,并根据所述日志数据生成键值对应填充于所述目标慢日志模板中,得到所述目标慢日志,可以包括:获取包含所述网际协议地址以及端口号的目标日志数据,并识别所述目标日志数据中包含的分隔符;根据所述分隔符在所述目标日志数据中分别确定与所述网际协议地址对应的第一键值,以及与所述端口号对应的第二键值;将所述第一键值与所述第二键值对应填充于所述目标慢日志模板中。
其中,网际协议地址(Internet Protocol Address,IP地址)可以为在互联网中为主机分配的地址,端口号可以为客户端用以访问服务器的端口的编号。分隔符可以为慢日志的日志行中,用以分隔网际协议地址部分和端口号部分的符号。
在本发明实施例中,目标慢日志模板中的键值对模板中包括键名:网际协议地址和端口号,与网际协议地址和端口号相关联的日志数据位于慢日志中的同一日志行中。因此,获取键名网际协议地址和端口号对应的键值时,首先找到网际协议地址和端口号对应的日志行,在该日志行的日志数据中识别出分隔符,并根据分隔符获取网际协议地址对应的日志数据部分,生成与网际协议地址对应的第一键值,以及根据分隔符获取端口号对应的日志数据部分,生成与端口号对应的第二键值。
S260、调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
在本发明一个可选的实施例中,图2b是适用于本发明实施例中的Redis慢日志信息的处理流程图,可以适用于公有云上的Redis或自建的Redis实例,对Redis的版本没有任何限制。如图2b所示,Python客户端由定时任务调度,每隔五分钟连接一次Redis服务器,遍历当前所有的慢日志,根据慢日志信息中的时间戳,获取过去五分钟之内产生的慢日志。过滤慢日志中的有效信息,并根据主机的IP地址和端口号,将获取的慢日志转换为Json(JavaScript Object Notation,JS对象简谱)格式。通过HTTP(HyperText TransferProtocol,超文本传输协议)接口将Json格式的慢日志上传至服务器,服务器将Json格式的慢日志保存到数据库,并可以将慢日志展示到前端界面。
本实施例的技术方案,通过获取Redis存储设备中的全部慢日志,以当前***时间为起点选取参考时间段,筛选出参考时间段内的慢日志,并获取目标慢日志模板,获取当前处理的慢日志中与目标慢日志模板匹配的各日志行的日志数据,对目标慢日志模板进行填充得到目标慢日志,将目标慢日志上传到服务器。解决了现有技术中慢日志只保存在内存中,无法完整地保存Redis慢日志的问题。实现了将Redis慢日志信息进行持久化保存,从而为***调优和故障调查提供了便利。
实施例三
图3是本发明实施例三提供的一种Redis慢日志的展示方法的流程图,本实施例可适用于需要对Redis慢日志进行图形化展示,以便运维人员进行***调优和故障调查的情况,该方法可以由Redis慢日志的展示装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在服务器中。
相应的,如图3所示,本发明实施例具体包括如下步骤:
S310、通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据。
在本发明实施例中,客户端从Redis存储设备中获取慢日志,并进行格式转换后,将转换后的目标慢日志通过服务器接口上传至服务器。服务器通过服务器接口,获取客户端上传的目标慢日志。
S320、将所述目标慢日志存储于后台数据库中。
在本发明实施例中,服务器接收到目标慢日志后,将目标慢日志存储到后台数据库。这样设置的好处在于,实现了慢日志的持久化保存,为实现慢日志的图形化展示提供基础,便于运维人员进行***调优和故障检查。
S330、获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
其中,慢日志查询请求可以包含查询条件,在一个具体的示例中,查询条件可以是查询端口号为7006的所有慢日志。
在本发明实施例中,响应于用户的慢日志查询请求,获取查询条件,筛选出符合查询条件的目标慢日志,展示到前端界面供用户查看。
本发明实施例的技术方案,通过获取目标慢日志后,将目标慢日志存储于后台数据库中,并根据用户的慢日志查询请求,筛选出与查询条件匹配的目标慢日志进行展示。解决了现有技术中慢日志只保存在内存中,无法离线查看慢日志的问题。实现了将Redis慢日志信息进行图形化展示,从而为***调优和故障调查提供了便利。
实施例四
图4是本发明实施例四提供的一种Redis慢日志的展示方法的流程图,本实施例在上述实施例的基础上,对筛选出与查询条件匹配的目标慢日志进行展示的步骤进行了进一步的具体化。
相应的,如图4所示,本发明实施例具体包括如下步骤:
S410、通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据。
S420、将所述目标慢日志存储于后台数据库中。
S430、获取用户的慢日志查询请求。
S440、获取查询条件中包括的目标查询项,以及与所述目标查询项对应的查询取值。
其中,查询条件可以为根据慢日志查询请求获得。目标查询项可以为与键名相对应,查询取值可以为与键值相对应。在一个具体的示例中,查询条件为查询端口号为7006的所有慢日志时,目标查询项为端口号,查询取值为7006。
在本发明实施例中,获取用户的慢日志查询请求之后,可以根据慢日志查询请求获取查询条件中的目标查询项和查询取值。
S450、将所述目标查询项,与所述数据库中各目标慢日志中包括的各键名进行匹配,并获取各目标慢日志中与所述目标查询项匹配的目标键名。
在本发明实施例中,各目标慢日志表现为键名-键值对的形式,目标查询项为与键名相对应,在各目标慢日志包括的各键名中,将与目标查询项匹配的键名作为目标键名。
S460、在各所述目标慢日志中,筛选出所述目标键名的键值与所述查询取值匹配的目标查询慢日志。
在各目标慢日志中,筛选出目标键名对应的键值与查询取值相匹配的目标慢日志,作为目标查询慢日志。在一个具体的示例中,查询条件为查询端口号为7006的所有慢日志时,目标查询项为端口号,查询取值为7006,首先获取各目标慢日志中端口号对应的键值,将键值为7006的目标慢日志作为目标查询慢日志。
S470、将筛选出的各所述目标查询慢日志,以图形化的方式在显示界面中按行进行展示。
在本发明实施例中,目标查询慢日志为按行展示。
在本发明一个可选的实施例中,下表1为目标查询慢日志在显示界面中的展示效果,如表1所示,目标查询慢日志为按行展示,首行表示目标查询慢日志的各键名,其余每行表示一个目标查询慢日志的各键名对应的键值,展示结果表示共获得7个端口号为7006的慢日志。
表1 目标查询慢日志在显示界面中的展示效果
Figure BDA0002371614380000131
Figure BDA0002371614380000141
本发明实施例的技术方案,通过获取目标慢日志后,将目标慢日志存储于后台数据库中,并根据用户的慢日志查询请求中的查询条件,获取目标查询项和查询取值,筛选键名与目标查询项匹配的各目标慢日志,进一步筛选键值与查询取值匹配的目标慢日志,将筛选出的各目标查询慢日志进行展示。解决了现有技术中慢日志只保存在内存中,无法离线查看慢日志的问题。实现了将Redis慢日志信息进行图形化展示,从而为***调优和故障调查提供了便利。
实施例五
图5是本发明实施例五提供的一种Redis慢日志的存储装置的结构示意图,该装置包括:慢日志获取模块510、慢日志格式转换模块520以及目标慢日志上传模块530。其中:
慢日志获取模块510,用于从Redis存储设备中,获取至少一项慢日志;
慢日志格式转换模块520,用于根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;
目标慢日志上传模块530,用于调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
本实施例的技术方案,通过从Redis存储设备中获取慢日志,并对慢日志进行格式转换,将转换后得到的键值对形式的目标慢日志上传到服务器。解决了现有技术中慢日志只保存在内存中,无法完整地保存Redis慢日志的问题。实现了将Redis慢日志信息进行持久化保存,从而为***调优和故障调查提供了便利。
在上述实施例的基础上,所述慢日志获取模块510,包括:
全部慢日志获取单元,用于每隔预设等待时长,从所述Redis存储设备中获取当前存储的全部慢日志;
参考时间段选取单元,用于以当前***时间为时间起点,沿时间延伸方向的反方向选取所述等待时长作为参考时间段;
慢日志筛选单元,用于在全部慢日志中,筛选出生产时间位于所述参考时间段内的所述慢日志。
在上述实施例的基础上,所述慢日志格式转换模块520,包括:
目标慢日志模板获取单元,用于获取目标慢日志模板,所述目标慢日志模板中包括至少一个待填充键值的键值对模板,所述键值对模板中的键名与所述慢日志中的日志行相关联;
目标慢日志模板填充单元,用于在当前处理的慢日志中,获取与所述目标慢日志模板匹配的各日志行,并根据所述各日志行的日志数据生成键值对应填充于所述目标慢日志模板中,得到所述目标慢日志。
在上述实施例的基础上,所述目标慢日志模板中的键值对模板中的键名包括:网际协议地址以及端口号;与所述网际协议地址以及端口号的日志数据位于所述慢日志中的同一日志行中;
所述目标慢日志模板填充单元,包括:
分隔符识别子单元,用于获取包含所述网际协议地址以及端口号的目标日志数据,并识别所述目标日志数据中包含的分隔符;
键值确定子单元,用于根据所述分隔符在所述目标日志数据中分别确定与所述网际协议地址对应的第一键值,以及与所述端口号对应的第二键值;
键值填充子单元,用于将所述第一键值与所述第二键值对应填充于所述目标慢日志模板中。
本发明实施例所提供的Redis慢日志的存储装置可执行本发明任意实施例所提供的Redis慢日志的存储方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6是本发明实施例六提供的一种Redis慢日志的展示装置的结构示意图,该装置包括:目标慢日志获取模块610、目标慢日志存储模块620以及目标慢日志展示模块630。其中:
目标慢日志获取模块610,用于通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据;
目标慢日志存储模块620,用于将所述目标慢日志存储于后台数据库中;
目标慢日志展示模块630,用于获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
本发明实施例的技术方案,通过获取目标慢日志后,将目标慢日志存储于后台数据库中,并根据用户的慢日志查询请求,筛选出与查询条件匹配的目标慢日志进行展示。解决了现有技术中慢日志只保存在内存中,无法离线查看慢日志的问题。实现了将Redis慢日志信息进行图形化展示,从而为***调优和故障调查提供了便利。
在上述实施例的基础上,所述目标慢日志展示模块630,包括:
目标查询项、查询取值获取单元,用于获取所述查询条件中包括的目标查询项,以及与所述目标查询项对应的查询取值;
目标查询项匹配单元,用于将所述目标查询项,与所述数据库中各目标慢日志中包括的各键名进行匹配,并获取各目标慢日志中与所述目标查询项匹配的目标键名;
查询取值匹配单元,用于在各所述目标慢日志中,筛选出所述目标键名的键值与所述查询取值匹配的目标查询慢日志;
目标查询慢日志展示单元,用于将筛选出的各所述目标查询慢日志,以图形化的方式在显示界面中按行进行展示。
本发明实施例所提供的Redis慢日志的展示装置可执行本发明任意实施例所提供的Redis慢日志的展示方法,具备执行方法相应的功能模块和有益效果。
实施例七
图7为本发明实施例七提供的一种计算机设备的结构示意图,如图7所示,该计算机设备包括处理器70、存储器71、输入装置72和输出装置73;计算机设备中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;计算机设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的Redis慢日志的存储方法对应的模块(例如,Redis慢日志的存储装置中的慢日志获取模块510、慢日志格式转换模块520以及目标慢日志上传模块530)。又如本发明实施例中的Redis慢日志的展示方法对应的模块(例如,Redis慢日志的展示装置中的目标慢日志获取模块610、目标慢日志存储模块620以及目标慢日志展示模块630)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,如实现上述的Redis慢日志的存储方法。该方法包括:
从Redis存储设备中,获取至少一项慢日志;
根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;
调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
又如,实现上述的Redis慢日志的展示方法。该方法包括:
通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据;
将所述目标慢日志存储于后台数据库中;
获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例八
本发明实施例八还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种Redis慢日志的存储方法,该方法包括:
从Redis存储设备中,获取至少一项慢日志;
根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;
调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
所述计算机可执行指令在由计算机处理器执行时还可以用于执行一种Redis慢日志的展示方法,该方法包括:
通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据;
将所述目标慢日志存储于后台数据库中;
获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的Redis慢日志的存储方法,或Redis慢日志的展示方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述Redis慢日志的存储装置,以及Redis慢日志的展示装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种Redis慢日志的存储方法,其特征在于,包括:
从Redis存储设备中,获取至少一项慢日志;
根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;
调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
2.根据权利要求1所述的方法,其特征在于,从Redis存储设备中,获取至少一项慢日志,包括:
每隔预设等待时长,从所述Redis存储设备中获取当前存储的全部慢日志;
以当前***时间为时间起点,沿时间延伸方向的反方向选取所述等待时长作为参考时间段;
在全部慢日志中,筛选出生产时间位于所述参考时间段内的所述慢日志。
3.根据权利要求1所述的方法,其特征在于,根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,包括:
获取目标慢日志模板,所述目标慢日志模板中包括至少一个待填充键值的键值对模板,所述键值对模板中的键名与所述慢日志中的日志行相关联;
在当前处理的慢日志中,获取与所述目标慢日志模板匹配的各日志行,并根据所述各日志行的日志数据生成键值对应填充于所述目标慢日志模板中,得到所述目标慢日志。
4.根据权利要求3所述的方法,其特征在于,所述目标慢日志模板中的键值对模板中的键名包括:网际协议地址以及端口号;与所述网际协议地址以及端口号的日志数据位于所述慢日志中的同一日志行中;
在当前处理的慢日志中,获取与所述目标慢日志模板匹配的各日志行分别对应的日志数据,并根据所述日志数据生成键值对应填充于所述目标慢日志模板中,得到所述目标慢日志,包括:
获取包含所述网际协议地址以及端口号的目标日志数据,并识别所述目标日志数据中包含的分隔符;
根据所述分隔符在所述目标日志数据中分别确定与所述网际协议地址对应的第一键值,以及与所述端口号对应的第二键值;
将所述第一键值与所述第二键值对应填充于所述目标慢日志模板中。
5.一种Redis慢日志的展示方法,其特征在于,包括:
通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据;
将所述目标慢日志存储于后台数据库中;
获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
6.根据权利要求5所述的方法,其特征在于,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示,包括:
获取所述查询条件中包括的目标查询项,以及与所述目标查询项对应的查询取值;
将所述目标查询项,与所述数据库中各目标慢日志中包括的各键名进行匹配,并获取各目标慢日志中与所述目标查询项匹配的目标键名;
在各所述目标慢日志中,筛选出所述目标键名的键值与所述查询取值匹配的目标查询慢日志;
将筛选出的各所述目标查询慢日志,以图形化的方式在显示界面中按行进行展示。
7.一种Redis慢日志的存储装置,其特征在于,包括:
慢日志获取模块,用于从Redis存储设备中,获取至少一项慢日志;
慢日志格式转换模块,用于根据所述慢日志中日志数据的结构,将各所述慢日志进行格式转换,得到目标慢日志,所述目标慢日志中包括至少一个键值对形式的日志数据;
目标慢日志上传模块,用于调用服务器接口,将各所述目标慢日志上传到日志服务器进行存储,所存储的所述目标慢日志用于根据用户的慢日志查询请求进行展示。
8.一种Redis慢日志的展示装置,其特征在于,包括:
目标慢日志获取模块,用于通过服务器接口,获取客户端上传的目标慢日志,所述目标慢日志为客户端将从Redis存储设备获取的慢日志进行格式转换后得到的,所述目标慢日志中包括至少一个键值对形式的日志数据;
目标慢日志存储模块,用于将所述目标慢日志存储于后台数据库中;
目标慢日志展示模块,用于获取用户的慢日志查询请求,将所述慢日志查询请求的查询条件与所述数据库中各目标慢日志进行匹配,筛选出与所述查询条件匹配的目标慢日志进行展示。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的Redis慢日志的存储方法,或者,实现如权利要求5-6中任一所述的Redis慢日志的展示方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-4中任一所述的Redis慢日志的存储方法,或者,执行如权利要求5-6中任一所述的Redis慢日志的展示方法。
CN202010052317.5A 2020-01-17 2020-01-17 Redis慢日志的存储、展示方法、装置、设备和介质 Pending CN111258973A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010052317.5A CN111258973A (zh) 2020-01-17 2020-01-17 Redis慢日志的存储、展示方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010052317.5A CN111258973A (zh) 2020-01-17 2020-01-17 Redis慢日志的存储、展示方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN111258973A true CN111258973A (zh) 2020-06-09

Family

ID=70952289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010052317.5A Pending CN111258973A (zh) 2020-01-17 2020-01-17 Redis慢日志的存储、展示方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN111258973A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148279A (zh) * 2020-09-27 2020-12-29 北京百度网讯科技有限公司 日志信息处理方法、装置、电子设备和存储介质
CN114327268A (zh) * 2021-12-27 2022-04-12 北京云思智学科技有限公司 一种应用于kv存储的自适应防护方法、装置及存储介质
CN114567555A (zh) * 2022-03-04 2022-05-31 浪潮云信息技术股份公司 基于云的Redis集群自动化采集慢日志的方法及***
CN117539840A (zh) * 2024-01-10 2024-02-09 杭州新中大科技股份有限公司 一种日志获取方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133367A (zh) * 2017-06-09 2017-09-05 福建中金在线信息科技有限公司 一种信息处理方法及***、服务器
CN107220304A (zh) * 2017-05-10 2017-09-29 杭州铭师堂教育科技发展有限公司 基于salt的海量mongodb慢日志管理***
CN107688626A (zh) * 2017-08-18 2018-02-13 北京小度信息科技有限公司 慢查询日志处理方法、装置及电子设备
CN108520052A (zh) * 2018-04-04 2018-09-11 武汉斗鱼网络科技有限公司 慢查询信息检索方法、装置、服务器及可读存储介质
CN108563744A (zh) * 2018-04-12 2018-09-21 武汉斗鱼网络科技有限公司 基于Redis数据库的慢查询方法、装置及终端设备
CN110688354A (zh) * 2019-09-30 2020-01-14 深圳证券交易所 数据库中慢日志文件的分析方法、终端以及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220304A (zh) * 2017-05-10 2017-09-29 杭州铭师堂教育科技发展有限公司 基于salt的海量mongodb慢日志管理***
CN107133367A (zh) * 2017-06-09 2017-09-05 福建中金在线信息科技有限公司 一种信息处理方法及***、服务器
CN107688626A (zh) * 2017-08-18 2018-02-13 北京小度信息科技有限公司 慢查询日志处理方法、装置及电子设备
CN108520052A (zh) * 2018-04-04 2018-09-11 武汉斗鱼网络科技有限公司 慢查询信息检索方法、装置、服务器及可读存储介质
CN108563744A (zh) * 2018-04-12 2018-09-21 武汉斗鱼网络科技有限公司 基于Redis数据库的慢查询方法、装置及终端设备
CN110688354A (zh) * 2019-09-30 2020-01-14 深圳证券交易所 数据库中慢日志文件的分析方法、终端以及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148279A (zh) * 2020-09-27 2020-12-29 北京百度网讯科技有限公司 日志信息处理方法、装置、电子设备和存储介质
CN112148279B (zh) * 2020-09-27 2024-06-07 阿波罗智联(北京)科技有限公司 日志信息处理方法、装置、电子设备和存储介质
CN114327268A (zh) * 2021-12-27 2022-04-12 北京云思智学科技有限公司 一种应用于kv存储的自适应防护方法、装置及存储介质
CN114567555A (zh) * 2022-03-04 2022-05-31 浪潮云信息技术股份公司 基于云的Redis集群自动化采集慢日志的方法及***
CN117539840A (zh) * 2024-01-10 2024-02-09 杭州新中大科技股份有限公司 一种日志获取方法、装置、设备及介质
CN117539840B (zh) * 2024-01-10 2024-07-09 杭州新中大科技股份有限公司 一种日志获取方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US11550829B2 (en) Systems and methods for load balancing in a system providing dynamic indexer discovery
CN111258973A (zh) Redis慢日志的存储、展示方法、装置、设备和介质
US10778761B2 (en) Processing search responses returned by search peers
US11184467B2 (en) Multi-thread processing of messages
CN111078488B (zh) 数据采集方法、装置、存储介质及***
JP7230083B2 (ja) 地図サービステスト用の方法及び装置
US11775501B2 (en) Trace and span sampling and analysis for instrumented software
CN111400186B (zh) 性能测试方法及***
CN113360554B (zh) 一种数据抽取、转换和加载etl的方法和设备
WO2019237532A1 (zh) 一种业务数据的监控方法、存储介质、终端设备及装置
US20140317137A1 (en) Log management computer and log management method
CN110569214A (zh) 用于日志文件的索引构建方法、装置及电子设备
CN107871055B (zh) 一种数据分析方法和装置
CN106648722B (zh) 基于大数据的Flume接收端数据处理方法和装置
CN113641742A (zh) 一种数据抽取方法、装置、设备和存储介质
CN109101595B (zh) 一种信息查询方法、装置、设备及计算机可读存储介质
CN114116811B (zh) 日志处理方法、装置、设备及存储介质
US20230237049A1 (en) Artifact life tracking storage
US11720591B1 (en) Virtual metrics
CN115269519A (zh) 一种日志检测方法、装置及电子设备
CN110955710B (zh) 一种数据交换作业中脏数据的处理方法及装置
CN111654410B (zh) 网关请求监控方法、装置、设备及介质
US11675771B1 (en) Identity resolution
CN116974856B (zh) 一种自动获取日志文件的方法、装置、设备及介质
CN114969139A (zh) 大数据运维管理方法、***、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200609

RJ01 Rejection of invention patent application after publication