分布式图数据库黑盒健康情况的诊断方法、系统和介质与流程

文档序号:31191939发布日期:2022-08-19 23:42阅读:36来源:国知局
分布式图数据库黑盒健康情况的诊断方法、系统和介质与流程

1.本技术涉及计算机技术领域,特别是涉及分布式图数据库黑盒健康情况的诊断方法、系统和介质。


背景技术:

2.在分布式集群场景中,集群的稳定性以及数据安全性是重中之重,即使通过现有一般的实时监控和告警可以做到集群稳定性监控,但是一旦集群崩溃进入不可用状态,此时运维人员对于引起集群崩溃的原因的排查会变得非常困难,因为一个集群的不可用的可能性原因可能很多,包括机器各项指标水位、网络情况、用户不正当操作、高qps等。
3.目前针对相关技术中数据库集群崩溃原因的排查存在困难的问题,尚未提出有效的解决方案。


技术实现要素:

4.本技术实施例提供了一种分布式图数据库黑盒健康情况的诊断方法、系统和介质,以至少解决相关技术中数据库集群崩溃原因的排查存在困难的问题。
5.第一方面,本技术实施例提供了一种分布式图数据库黑盒健康情况的诊断方法,所述方法包括:
6.启动父进程以心跳请求的方式,采集分布式图数据库中的各项指标数据并上报给黑盒,通过所述黑盒将所述指标数据存储到时序数据库;
7.根据从所述时序数据库中获取的所述指标数据,通过预设数据分析算法输出黑盒诊断报告。
8.在其中一些实施例中,启动父进程以第一心跳请求的方式,采集分布式图数据库中的各项指标数据包括:
9.通过第一节点数据获取器启动父进程以第一心跳请求的方式,采集分布式图数据库中各个节点机器的指标数据;
10.通过第二节点数据获取器启动父进程以第二心跳请求的方式,采集分布式图数据库中各个节点进程的指标数据;
11.通过第三节点数据获取器启动父进程以第三心跳请求的方式,采集分布式图数据库中各个节点服务的指标数据。
12.在其中一些实施例中,所述黑盒中还包括有守护进程;
13.在所述父进程的运行出现故障的情况下,启动所述守护进程以第四心跳请求的方式将所述指标数据存储到时序数据库;
14.监测所述第四心跳请求,若所述时序数据库接收不到所述第四心跳请求,则发送信号重启所述守护进程。
15.在其中一些实施例中,通过所述黑盒将所述指标数据存储到时序数据库包括:
16.通过所述黑盒将获取时间在第一预设时间内的指标数据存储在redis缓存中,将
获取时间超过所述第一预设时间的指标数据存储在prometheus时序数据库中。
17.在其中一些实施例中,所述时序数据库中存储着所述分布式图数据库集群获取时间最新的第二预设时间的指标数据。
18.在其中一些实施例中,采集分布式图数据库中各个节点机器的指标数据包括:
19.采集分布式图数据库中各个节点机器的处理器负载、内存使用率、处理器使用率和网络流量吞吐率。
20.在其中一些实施例中,采集分布式图数据库中各个节点进程的指标数据包括:
21.获取所述分布式图数据库的ssh权限,根据对应进程的进程id获取所述对应进程的处理器使用率和内存使用率;
22.根据所述分布式图数据库提供的审计日志,获取会话信息。
23.在其中一些实施例中,采集分布式图数据库中各个节点服务的指标数据包括:
24.采集分布式图数据库中各个节点服务每秒查询率和心跳情况。
25.第二方面,本技术实施例提供了一种分布式图数据库黑盒健康情况的诊断系统,所述系统包括采集模块和诊断模块;
26.所述采集模块,用于启动父进程以心跳请求的方式,采集分布式图数据库中的各项指标数据并上报给黑盒,通过所述黑盒将所述指标数据存储到时序数据库;
27.所述诊断模块,用于根据从所述时序数据库中获取的所述指标数据,通过预设数据分析算法输出黑盒诊断报告。
28.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的分布式图数据库黑盒健康情况的诊断方法。
29.相比于相关技术,本技术实施例提供的一种分布式图数据库黑盒健康情况的诊断方法、系统和介质,通过启动父进程以心跳请求的方式,采集分布式图数据库中的各项指标数据并上报给黑盒,通过黑盒将指标数据存储到时序数据库;根据从时序数据库中获取的所述指标数据,通过预设数据分析算法输出黑盒诊断报告,解决了数据库集群崩溃原因的排查存在困难的问题,实现了使用黑盒记录集群的运行情况,帮助运维人员在排查集群问题时提供重要现场还原。
附图说明
30.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
31.图1是根据本技术实施例的分布式图数据库黑盒健康情况的诊断方法的步骤流程图;
32.图2是根据本技术实施例的具体指标数据采集的流程示意图;
33.图3是根据本技术实施例的具体指标数据存储的流程示意图;
34.图4是根据本技术实施例的保障黑盒稳定的流程示意图;
35.图5是根据本技术实施例的分布式图数据库黑盒健康情况的诊断系统的结构框图;
36.图6是根据本技术实施例的电子设备的内部结构示意图。
37.附图说明:51、采集模块;52、诊断模块。
具体实施方式
38.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
40.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
41.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
42.类比飞机失事时,工作人员一般通过黑匣子去还原飞机失事前的系统运行状态一样,使用本方案也可以帮助集群自动回溯查看集群在固定时间段里的各项关键指标的情况。因此本方案希望当分布式图数据库集群发生崩溃时,能提供一个方案帮助记录集群出事前一段时间的各项指标数据以及操作记录,从而帮助运维人员能够还原现场,尽可能快得找到排查出问题并恢复集群至可用状态。
43.本技术实施例提供了一种分布式图数据库黑盒健康情况的诊断方法,图1是根据本技术实施例的分布式图数据库黑盒健康情况的诊断方法的步骤流程图,如图1所示,该方法包括以下步骤:
44.步骤s102,启动父进程以心跳请求的方式,采集分布式图数据库中的各项指标数
据并上报给黑盒,通过黑盒将指标数据存储到时序数据库;
45.图2是根据本技术实施例的具体指标数据采集的流程示意图,如图2所示。
46.具体地,通过第一节点数据获取器(node exporte1)启动父进程以第一心跳请求的方式,采集分布式图数据库中各个节点机器的指标数据。
47.优选地,采集分布式图数据库中各个节点机器的处理器负载、内存使用率、处理器使用率和网络流量吞吐率等节点机器的总指标数据。
48.需要说明的是,网络流量吞吐率用来查看当前集群所承载的流量负荷,通过该指标可以判断集群在指定时间段是否承接了大量流量,在排查时可以给予相同的流量压力进行还原现场。
49.具体地,通过第二节点数据获取器(node exporte2)启动父进程以第二心跳请求的方式,采集分布式图数据库中各个节点进程的指标数据;
50.优选地,获取分布式图数据库的ssh权限,根据对应进程的进程id(pids)获取对应进程的处理器使用率和内存使用率;根据分布式图数据库提供的审计日志(audit log),获取会话信息(session),其中,会话信息包括会话连接记录、会话断开记录和会话连接频率。
51.需要说明的是,ssh为secure shell的缩写,由ietf的网络小组(network working group)所制定;ssh为建立在应用层基础上的安全协议。ssh是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
52.具体地,通过第三节点数据获取器(定制的nebula-stats-exporter)启动父进程以第三心跳请求的方式,采集分布式图数据库中各个节点服务的指标数据。
53.优选地,采集分布式图数据库中各个节点服务每秒查询率(qps)和心跳情况。
54.需要说明的是,qps(queries-per-second,每秒查询率)是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
55.进一步地,在步骤s102中除了采集分布式图数据库中的上述指标数据,还会采集分布式图数据库中的配置项变更记录、操作人员信息,以及其他必要信息等。
56.图3是根据本技术实施例的具体指标数据存储的流程示意图,如图3所示。
57.具体地,通过黑盒将获取时间在第一预设时间内的指标数据存储在redis缓存中,将获取时间超过第一预设时间的指标数据存储在prometheus时序数据库中。此外,时序数据库中存储着分布式图数据库集群获取时间最新的第二预设时间的指标数据。
58.优选地,将获取时间在十五分钟之内的指标数据存储在redis缓存中,将获取时间超过十五分钟的指标数据存储在prometheus时序数据库中,此外,时序数据库存储获取时间最新的半个小时的指标数据,能有效降低存储负载。
59.需要说明的是,黑盒程序作为集群健康诊断的最后一道防线,其本身的稳定性是非常重要的,理论上要求黑盒进程需要一直处于运行中的状态,即使集群挂了(父进程挂了),这个进程也要处于运行中状态。图4是根据本技术实施例的保障黑盒稳定的流程示意图,如图4所示。
60.创建一个守护进程,在父进程的运行出现故障的情况下,启动守护进程以第四心跳请求的方式将指标数据存储到时序数据库;
61.监测第四心跳请求,若时序数据库接收不到第四心跳请求,则发送信号重启守护进程。
62.步骤s104,根据从时序数据库中获取的指标数据,通过预设数据分析算法输出黑盒诊断报告。
63.需要说明的是,预设数据分析算法为根据运维人员的运维经验总结成一套固定算法。通过将历史运维经验总结成算法,进行智能分析,形成回溯报告,从而使得关键运维经验复用,降低集群运维门槛
64.通过本技术实施例中的步骤s102至步骤s104,解决了数据库集群崩溃原因的排查存在困难的问题,实现了使用黑盒记录集群的运行情况,帮助运维人员在排查集群问题时提供重要现场还原。
65.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
66.本技术实施例提供了一种分布式图数据库黑盒健康情况的诊断系统,图5是根据本技术实施例的分布式图数据库黑盒健康情况的诊断系统的结构框图,如图5所示,该系统包括采集模块51和诊断模块52;
67.采集模块51,用于启动父进程以心跳请求的方式,采集分布式图数据库中的各项指标数据并上报给黑盒,通过黑盒将指标数据存储到时序数据库;
68.诊断模块52,用于根据从时序数据库中获取的指标数据,通过预设数据分析算法输出黑盒诊断报告。
69.通过本技术实施例中的采集模块51和诊断模块52,解决了数据库集群崩溃原因的排查存在困难的问题,实现了使用黑盒记录集群的运行情况,帮助运维人员在排查集群问题时提供重要现场还原。
70.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
71.本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
72.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
73.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
74.s1,采集指标数据;
75.s2,黑盒将数据存储到时序数据库。
76.需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
77.另外,结合上述实施例中的分布式图数据库黑盒健康情况的诊断方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种分布式图数据库黑盒健康情况的诊断方法。
78.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机
设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式图数据库黑盒健康情况的诊断方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
79.在一个实施例中,图6是根据本技术实施例的电子设备的内部结构示意图,如图6所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图6所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种分布式图数据库黑盒健康情况的诊断方法,数据库用于存储数据。
80.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
81.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
82.本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
83.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1