一种Redis监控方法、Redis监控装置及终端与流程

文档序号:21264044发布日期:2020-06-26 22:35阅读:171来源:国知局
一种Redis监控方法、Redis监控装置及终端与流程

本申请属于通信技术领域,尤其涉及一种redis监控方法、redis监控装置及终端。



背景技术:

目前,进行redis监控的方式有很多种。比如,redis-faina监控工具、redislive监控工具,这些监控工具通常是通过监控脚本来利用redis提供的monitor命令从被监控redis实例中获取数据并存储到redis的监控实例中来做数据分析,因此,使得相关人员在对redis进行故障排查时,需要逐个登录redis所在的服务器来排查问题,该问题排查方法适用于业务所需的redis数量较少的情况。而当redis数量较多的情况,不断进行服务器登陆进行故障排查的过程花费大量时效,导致错过了故障现场,且整个故障排查过程繁琐难操作,不利于故障的及时发现与解决,并且现有的监控手段在获取所有连接执行命令内容时会导致分配给redis可用内存占用飙升,引起内存不够,影响业务稳定性。



技术实现要素:

有鉴于此,本申请实施例提供了一种redis监控方法、redis监控装置及终端,以解决现有监控手段中,当redis数量较多的情况,故障排查过程繁琐难操作,花费大量时效,不利于故障的及时发现与解决,且现有监控手段在获取所有连接执行命令内容时会导致分配给redis可用内存占用飙升,影响业务稳定性的问题。

本申请实施例的第一方面提供了一种redis监控方法,包括:

通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据;

将抓取的每个所述redis运行状态数据写入至监控数据库中;

通过图形化显示界面获取用户故障排查操作,所述图形化显示界面中显示有由所述多个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监控方法的流程图一;

图2是本申请实施例提供的监控装置关系图;

图3是本申请实施例提供的一种redis监控方法的流程图二;

图4是本申请实施例提供的一种redis监控装置的结构图;

图5是本申请实施例提供的一种终端的结构图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本申请实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

redis(remotedictionaryserver,远程字典服务)是一个开源的使用ansic语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库。作为一种基于内存的数据库,redis既是一个使用c语言编写的开源key-value数据库,也是一个可支持网络、可基于内存的持久化nosql数据库,它提供多种语言的应用程序编程接口api驱动,例如:java,c/c++,c#,php,javascript,perl,object-c,python,ruby等。

在传统的单机模型应用中,数据都存储在数据库中,应用通过数据访问对象dao访问数据库,获取业务所需的数据。然而,随着互联网的普及,应用访问量急剧上升,继续通过dao访问数据库,必将对数据库造成巨大压力。将redis作为缓存的中间件,应用可将数据存储在内存中直接读取,极大提高了获取数据的速度,降低了服务器的压力。redis采用单线程模型,所有的命令由一个线程串行执行,当执行某个命令耗时较长时,会拖慢其后的所有命令。因此,虽然redis是一个非常快速的内存数据存储媒介,但是当任务执行缓慢时,仍然会产生性能问题,且在对redis进行监控时,存在背景技术中所述的一系列问题。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

参见图1,图1是本申请实施例提供的一种redis监控方法的流程图一。如图1所示,一种redis监控方法,该方法包括以下步骤:

步骤101,通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据。

上述信息处理工具具体为装配在redis服务器上的工具。该通过信息处理工具实时抓取redis运行状态信息,比如为抓取redis数据库的运行状态信息、redis服务器上装配的redis数据库软件的运行状态信息。

具体地,该信息抓取工具可以命名为agentredis。通过agentredis采集的数据包括:

redis服务器信息:usr%,sys%,idl%,iow,cpuloadavg(1min、5min、15min)。其中:

usr%:用户进程消耗的cpu时间百分比;

sys%:系统内核进程消耗的cpu时间百分比;

idl%:空闲状态的时间百分比(包括io等待时间);

iow:表示输入输出io等待所占用的cpu时间百分比,low值越高,说明io等待越严重;

cpuloadavg(1min、5min、15min):一分钟,五分钟,十五分钟的平均处理器cpu负载。

具体地,对redis服务器信息的获取,可以是通过解析/proc/loadavg、/proc/stat状态值数量来实现。获取这些内容的作用在于实现对redis所在服务器硬件资源(cpu、io)是否满足当前业务稳定性进行判断。

获取redis数据库软件的实时消息处理信息:

如:客户端连接数量、每秒查询率qps、网卡流量、分配内存使用、内存使用率、内存使用最高值、内存碎片率、内存命中率、客户端连接输入和输出最大缓存和列表、数据库key数量、过期key数量分布及平均过期key失效时长等。

具体地,作为一可选的实施方式,结合图2所示,预设置一个监控数据库,该监控数据库与预设的多个redis节点相连接,每个redis节点中均配置有信息抓取工具,实现抓取信息在监控数据库中的汇总及存储,监控数据库还与前端图形化显示界面连接,实现用户在图像化显示界面上进行数据的调取及调取结果的显示。

其中,该信息抓取工具为在redis服务器中批量装配redis数据库形成redis节点时进行的装配,一个redis节点对应一个信息抓取工具。

具体地,可以是在批量装配redis时同时装配agent工具(信息抓取工具),一个redis对应于一个agent工具,agent工具实现数据采集和采集数据入库。也即是,在最初始在每台redis服务器上安装redis数据库的同时,该信息处理工具随之进行装配,可以是打包装配,或者是分别的单独装配,实现在每个redis节点上部署agent监控redis内部运行情况状态值。

对应地,该通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据之前,还包括:创建所述监控数据库,所述监控数据库与每一所述信息抓取工具联结。

该监控数据库与每一信息抓取工具相联结,通过该信息抓取工具抓取预设的多个redis节点中的每个redis节点的运行状态信息,以汇总至监控数据库。

每一个redis节点都有一个该信息抓取工具,以在redis节点数量过多时,也能方便地进行相关运行数据的抓取。而数量巨多的该信息处理工具均对应于一个监控数据库,将抓取到的状态数据进行汇总,实现数据抓取过程与存储过程及后续查询监控显示处理的分离,不需要在故障发生后去逐个登录服务器进行问题排查。

步骤102,将抓取的每个所述redis运行状态数据写入至监控数据库中。

该监控数据库为有别于redis数据库存在的一个单独设置的数据库,系统分配给两者的可占用存储资源不同,两者互不占用。

在对监控数据库中进行数据写入时,可以是以一个redis软件的id为主键key,将与该主键key对应的redis软件及redis服务器的运行状态写在一起进行归纳存储,以将redis软件和redis服务器之间运行状态数据的关联存储,实现后续的数据调用及状态监控。

步骤103,通过图形化显示界面获取用户故障排查操作。

该图形化显示界面具体可以是一个全球广域网web图形化显示界面,展示一个web图形化显示界面,通过该web图形化显示界面获取用户故障排查操作,将故障排查操作中涉及的redis节点的数据从监控数据库中实时获取并进行图形化的分析展示。

其中,所述图形化显示界面中显示有由所述多个redis节点划分得到的不同redis群组的信息。

该通过图形化显示界面获取的用户故障排查操作,可以是针对一整个redis群组进行的操作,可以通过一个界面实现对不同redis群组的监控。或者是对一个redis群组中某一个redis节点进行的故障排查操作,例如:在用户选中一个redis群组时,可以弹出复选框,实现对redis群组中所有节点的运行状况进行显示,以便于在由一个redis节点故障问题造成整个集群出现问题时问题节点的及时排查与信息监控。

通过在图形化显示界面中显示包含有若干个redis节点的不同redis群组的信息,实现对不同的redis节点进行分组显示,便于相关工作人员对redis节点信息的监控及故障问题查找。

其中,该故障排查操作包括但不限于:对图形化界面中设定图标或按钮的点击操作、长按操作、拖动操作、组合手势操作等。

与此同时,作为一可选的实施方式,该通过图形化显示界面获取用户故障排查操作之前,还包括:

基于所述监控数据库中,不同redis群组所对应的redis节点的redis运行状态数据,分别获取不同的所述redis群组的群组状态数据;基于所述群组状态数据,通过所述图形化显示界面对不同的所述redis群组的运行状态进行图形化展示。

在通过图形化显示界面获取用户故障排查操作之前,可以自动以不同redis群组为单位进行运行状态数据的获取,实现在图形化显示界面上对以redis群组为组别的运行状态数据的图形化显示,实现通过web页面实时集中展示每组redis的运行状态。在后续通过图形化显示界面获取用户故障排查操作时,再具体根据用户的故障排查操作进行细化的故障排查。

步骤104,响应于所述故障排查操作,从所述监控数据库中获取所述故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过所述图形化显示界面进行图形化展示。

该步骤中,通过图形化显示页面前端从监控数据库中实现对不同redis状态数据的获取,使得相关人员可以通过查看图形化显示页面中展示的监控项取值可快速判断应急方案,实现故障及时排查,降低重复登录服务器的时效延迟,提高了排查问题效率。其中,图形化显示界面中可以将所有的redis群组进行显示,在显示时可以将不同redis群组中运行问题危险等级最高的redis节点进行运行信息显示。

具体地,在实际应用中,web页面可以集中展示每组redis运行状态,只需要点击某一组redis链接,即可查询出该组中每个redis运行状态,通过web前端从数据库中实现对不同redis状态数据的获取,实现对故障的及时排查,降低了重复登录服务器时效,提高了排查问题效率,可以实现故障的提前监控与发现,避免故障发生后才进行补救,且通过前端图像化显示界面、后台故障数据库及在每一个redis服务器上装配的数据抓取工具,实现数据抓取过程与存储过程及后续查询监控显示处理的分离,不需要在故障发生后去逐个登录服务器进行问题排查,通过与监控数据库对应的前端页面上进行信息的查询显示和状态监控,在实现实时有效监控的同时,不占用分配给redis节点的可用内存,提升业务稳定性。

进一步地,作为一可选的实施方式,其中,该从所述监控数据库中获取所述故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过所述图形化显示界面进行图形化展示,包括:

从所述监控数据库中,获取所述故障排查操作所指示的目标redis群组中的redis节点的redis服务器运行数据及redis数据库的信息处理数据;对所述redis服务器运行数据及所述redis数据库的信息处理数据进行加权计算;基于所述加权计算的计算结果,得到所述目标redis群组中的redis节点的运行状态,并对所述目标redis群组中的redis节点的运行状态进行等级划分;根据划分得到的目标等级,在所述图形化显示界面上执行对应的目标显示操作。

划分得到的不同等级对应于不同的显示操作。其中,在显示时,不同的显示操作可以是闪烁、设置不同的颜色深度、显示亮度、显示色彩、强显示等操作。实现依据获取的状态信息,自动进行故障等级划分显示给管理员,以提升故障排查的及时性、预警性及操作的易用性。

获取故障排查操作中所指示的目标redis群组中的redis节点的redis服务器运行数据及redis数据库的信息处理数据,不仅帮助了解硬件资源运行情况,还可以获取redis进程运行指标是否满足增长的业务需要。

本申请实施例中,通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据,将抓取的每个redis运行状态数据写入至监控数据库中,通过图形化显示界面获取用户故障排查操作,响应于该故障排查操作,从监控数据库中获取故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过图形化显示界面进行图形化展示,整个监控过程不在redis端进行数据的存储及分析,只需要在redis端进行运行状态信息的抓取即可,可以将监控过程中运行状态数据的获取、运行状态数据的存储及运行状态的分析及展示进行分离,不占用分配给redis的可用内存,提升业务处理稳定性,通过额外的图像化显示页面集中展示redis的运行状态,便于状态查询及故障排查,排查过程不需不断进行服务器登陆,便于故障问题的及时确定。

本申请实施例中还提供了redis监控方法的不同实施方式。

参见图3,图3是本申请实施例提供的一种redis监控方法的流程图二。如图3所示,一种redis监控方法,该方法包括以下步骤:

步骤301,通过信息抓取工具从预设的多个redis节点中,间隔第一设定时长获取每个redis节点的运行状态数据的快照,将所述每个redis节点的运行状态数据的快照在预设数量裸日志文件中的目标裸日志文件中进行存储。

在将每个redis节点的运行状态数据的快照进行存储时,具体为将获取到的每个redis节点的运行状态数据的快照存储至从预设数量裸日志文件中确定的目标裸日志文件中。该目标裸日志文件的数量为至少一个,根据存储数据的大小或其他需求因素进行确定。

其中,所述目标裸日志文件为以第二设定时长为周期,轮询所述预设数量裸日志文件中的日志文件确定的。

以第二设定时长为周期,轮询从所述预设数量裸日志文件中确定所述目标裸日志文件。快照的获取过程,在具体实现时,可以是每10秒执行一次redis.info()语句来获取状态数据的快照。

裸日志文件中的数据存储方式具体是:以逗号来分别各列数据。裸日志文件记录redis运行状态数据并进行磁盘存储,即使agentredis异常关闭,也不影响数据采集、不丢数据。开启agentredis可以实现断掉续传。

其中,在将数据快照以裸日志文件存储过程中,每组日志文件可以设定为保留三份,周期15天,轮询使用对应日志文件保存数据,以避免一个文件过大,方便查询历史采集数据,方便入库。

具体地,例如,裸日志文件数量预设保留为三份,在10秒时间到达时,以其中的第一份裸日志文件为目标裸日志文件对redis节点的运行状态数据的快照进行存储,在下一个10秒时间到达时,仍以该的第一份裸日志文件为目标裸日志文件进行新的快照存储,持续时间为15天,15天到达时,则以设定数量的裸日志文件中第二份裸日志文件为目标裸日志文件进行新的快照存储,如此反复执行,实现轮询存储过程。其中预设数量、第一设定时长及第二设定时长可以根据实际情况进行调整设定,不以此为限。该步骤201实现通过信息抓取工具从redis节点中抓取redis运行状态数据的过程。

进一步地,可选地,在该通过信息抓取工具从预设的多个redis节点中,间隔第一设定时长获取每个redis节点的运行状态数据的快照的步骤之后,还包括:

将所述每个redis节点的运行状态数据的快照在预设数量格式化日志文件中的目标格式化日志文件中进行存储;其中,所述目标格式化日志文件为以所述第二设定时长为周期,轮询所述预设数量格式化日志文件中的日志文件确定的。

在将每个redis节点的运行状态数据的快照进行存储时,具体还可以将获取到的每个redis节点的运行状态数据的快照存储至从预设数量格式化日志文件中确定的目标格式化日志文件中。该目标格式化日志文件的数量为至少一个,根据存储数据的大小或其他需求因素进行确定。

该过程中,以所述第二设定时长为周期,轮询从所述预设数量格式化日志文件中确定所述目标格式化日志文件。

其中,格式化日志文件中的数据存储方式与裸日志文件的不同。格式化日志文件在每行每列数据之间设一定间距。格式化日志的存储设置,方便后续数据的阅读及历史采集数据的查询。

具体实现时,可以是将数据快照以裸日志文件、格式化日志文件分别存储,每组日志文件保留三份,周期15天,轮询使用对应日志文件保存数据。具体轮询过程可参见前述裸日志文件的存储实施过程。

步骤302,读取所述预设数量裸日志文件中的记录内容,获取每个所述redis节点的redis运行状态数据并写入至所述监控数据库中。

在读取过程中,为对预设数量裸日志文件依次进行的读取,每秒依次读取裸日志文件中的一条数据快照,然后存储在监控数据库中保存。当agentredis关闭、重启、服务器重启、在配置文件保存数据快照位点,agentredis启动后,从配置文件中读取位点,依次写入数据库中,支持日志断点续传、同时当agentredis在裸日志文件中没有追加新数据时,支持等待循环。

步骤303,通过图形化显示界面获取用户故障排查操作。

所述图形化显示界面中显示有由所述多个redis节点划分得到的不同redis群组的信息。

该步骤的实现过程与前述实施方式中的步骤103的实现过程相同,此处不再赘述。

步骤304,响应于所述故障排查操作,从所述监控数据库中获取所述故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过所述图形化显示界面进行图形化展示。

该步骤的实现过程与前述实施方式中的步骤104的实现过程相同,此处不再赘述。

本申请实施例中,通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据,将抓取的每个redis运行状态数据写入至监控数据库中,通过图形化显示界面获取用户故障排查操作,响应于该故障排查操作,从监控数据库中获取故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过图形化显示界面进行图形化展示,整个监控过程不在redis端进行数据的存储及分析,只需要在redis端进行运行状态信息的抓取即可,可以将监控过程中运行状态数据的获取、运行状态数据的存储及运行状态的分析及展示进行分离,不占用分配给redis的可用内存,提升业务处理稳定性,通过额外的图像化显示页面集中展示redis的运行状态,便于状态查询及故障排查,排查过程不需不断进行服务器登陆,便于故障问题的及时确定。

参见图4,图4是本申请实施例提供的一种redis监控装置的结构图,为了便于说明,仅示出了与本申请实施例相关的部分。

所述redis监控装置400包括:

抓取模块401,用于通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据;

数据写入模块402,用于将抓取的每个所述redis运行状态数据写入至监控数据库中;

操作获取模块403,用于通过图形化显示界面获取用户故障排查操作,所述图形化显示界面中显示有由所述多个redis节点划分得到的不同redis群组的信息;

显示模块404,用于响应于所述故障排查操作,从所述监控数据库中获取所述故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过所述图形化显示界面进行图形化展示。

其中,所述信息抓取工具为在redis服务器中批量装配redis数据库形成redis节点时进行的装配,一个redis节点对应一个信息抓取工具;

所述redis监控装置还包括:

数据库创建模块,用于创建所述监控数据库,所述监控数据库与每一所述信息抓取工具联结。

所述抓取模块401具体用于:

通过信息抓取工具从预设的多个redis节点中,间隔第一设定时长获取每个redis节点的运行状态数据的快照,将所述每个redis节点的运行状态数据的快照在预设数量裸日志文件中的目标裸日志文件中进行存储;其中,所述目标裸日志文件为以第二设定时长为周期,轮询所述预设数量裸日志文件中的日志文件确定的。

其中,所述数据写入模块402具体用于:

读取所述预设数量裸日志文件中的记录内容,获取每个所述redis节点的redis运行状态数据并写入至所述监控数据库中。

其中,所述抓取模块401还用于:

将所述每个redis节点的运行状态数据的快照在预设数量格式化日志文件中的目标格式化日志文件中进行存储;其中,所述目标格式化日志文件为以所述第二设定时长为周期,轮询所述预设数量格式化日志文件中的日志文件确定的。

其中,所述显示模块404具体用于:

从所述监控数据库中,获取所述故障排查操作所指示的目标redis群组中的redis节点的redis服务器运行数据及redis数据库的信息处理数据;

对所述redis服务器运行数据及所述redis数据库的信息处理数据进行加权计算;

基于所述加权计算的计算结果,得到所述目标redis群组中的redis节点的运行状态,并对所述目标redis群组中的redis节点的运行状态进行等级划分;

根据划分得到的目标等级,在所述图形化显示界面上执行对应的目标显示操作。

其中,该redis监控装置还包括:

数据获取模块,用于基于所述监控数据库中,不同redis群组所对应的redis节点的redis运行状态数据,分别获取不同的所述redis群组的群组状态数据;

群组信息显示模块,用于基于所述群组状态数据,通过所述图形化显示界面对不同的所述redis群组的运行状态进行图形化展示。

本申请实施例中,通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据,将抓取的每个redis运行状态数据写入至监控数据库中,通过图形化显示界面获取用户故障排查操作,响应于该故障排查操作,从监控数据库中获取故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过图形化显示界面进行图形化展示,整个监控过程不在redis端进行数据的存储及分析,只需要在redis端进行运行状态信息的抓取即可,可以将监控过程中运行状态数据的获取、运行状态数据的存储及运行状态的分析及展示进行分离,不占用分配给redis的可用内存,提升业务处理稳定性,通过额外的图像化显示页面集中展示redis的运行状态,便于状态查询及故障排查,排查过程不需不断进行服务器登陆,便于故障问题的及时确定。

本申请实施例提供的redis监控装置能够实现上述redis监控方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

图5是本申请实施例提供的一种终端的结构图。如该图所示,该实施例的终端5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。

示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述终端5中的执行过程。例如,所述计算机程序52可以被分割成抓取模块、数据写入模块、操作获取模块以及显示模块,各模块具体功能如下:

抓取模块,用于通过信息抓取工具从预设的多个redis节点中抓取每个redis节点对应的redis运行状态数据;

数据写入模块,用于将抓取的每个所述redis运行状态数据写入至监控数据库中;

操作获取模块,用于通过图形化显示界面获取用户故障排查操作,所述图形化显示界面中显示有由所述多个redis节点划分得到的不同redis群组的信息;

显示模块,用于响应于所述故障排查操作,从所述监控数据库中获取所述故障排查操作所指示的目标redis群组中的redis节点的目标运行状态数据,通过所述图形化显示界面进行图形化展示。

所述终端5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端5的示例,并不构成对终端5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。

所称处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述终端5的内部存储单元,例如终端5的硬盘或内存。所述存储器51也可以是所述终端5的外部存储设备,例如所述终端5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括所述终端5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1