CN114036026A - Greenplum数据库健康状态监控方法及相关装置 - Google Patents

Greenplum数据库健康状态监控方法及相关装置 Download PDF

Info

Publication number
CN114036026A
CN114036026A CN202111332675.2A CN202111332675A CN114036026A CN 114036026 A CN114036026 A CN 114036026A CN 202111332675 A CN202111332675 A CN 202111332675A CN 114036026 A CN114036026 A CN 114036026A
Authority
CN
China
Prior art keywords
information
physical host
index
host
index information
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
CN202111332675.2A
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202111332675.2A priority Critical patent/CN114036026A/zh
Publication of CN114036026A publication Critical patent/CN114036026A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开Greenplum数据库健康状态监控方法及相关装置,通过获得目标Greenplum数据库集群的各物理主机在第一时间范围内的硬件故障信息、主机系统指标信息和数据库运行指标信息;根据硬件故障信息,确定出现过故障的有故障物理主机和未出现过故障的无故障物理主机;根据上述信息建立相应的曲线组作为历史参考值;根据相应的曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。本发明可以根据物理主机的硬件信息、主机系统指标信息和数据库运行指标信息,及时准确地确定Greenplum数据库集群的健康状态。

Description

Greenplum数据库健康状态监控方法及相关装置
技术领域
本发明涉及运维领域,特别涉及一种Greenplum数据库健康状态监控方法及相关装置。
背景技术
数据仓库整个数据线的核心,是企业级管理决策数据的唯一整合点,而Greenplum数据库是经常使用的数据管理分析平台。近年来随着Greenplum数据库设备数量不断增加,告警数量也在不断增加,但告警的准确性却很低,无法及时准确反映出Greenplum数据库的健康状态。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的Greenplum数据库健康状态监控方法及相关装置。
第一方面,一种Greenplum数据库健康状态监控方法,包括:
获得目标Greenplum数据库集群的各物理主机在第一时间范围内的多种信息,其中,每个所述物理主机的信息均包括:硬件故障信息、主机系统层面的各主机系统指标信息和数据库运行层面的各数据库运行指标信息;
将所述硬件故障信息、所述主机系统指标信息和所述数据库运行指标信息分别按照时间顺序存储至mysql数据库对应的数据表中,其中,多个所述物理主机的同一种信息对应一个所述数据表;
根据所述硬件故障信息,确定在第二时间范围内出现过故障的有故障物理主机和在所述第二时间范围内未出现过故障的无故障物理主机,其中,所述第二时间范围处于所述第一时间范围内;
根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组;
根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组;
根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。
结合第一方面,在某些可选的实施方式中,所述方法还包括:
若所述目标Greenplum数据库集群不是新建的Greenplum数据库集群,则直接获得各所述物理主机的硬件故障信息、主机系统指标信息和数据库运行指标信息;
若所述目标Greenplum数据库集群为新建的Greenplum数据库集群,则从配置库中获得所述目标Greenplum数据库集群的硬件配置信息,并根据所述硬件配置信息,获得其它Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息作为所述目标Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息,其中,所述其它Greenplum数据库集群和所述目标Greenplum数据库集群的硬件配置信息一致。
结合上一个实施方式,在某些可选的实施方式中,所述直接获得各所述物理主机的硬件故障信息、主机系统指标信息和数据库运行指标信息,包括:
获得各所述物理主机通过SNMPTRAP协议发送的各陷入消息trap,并根据各所述陷入消息trap获得各所述物理主机在所述第一时间范围内的硬件故障信息;
分别通过部署在各所述物理主机上的patrol进程,按照预设的周期,采集各所述物理主机在所述第一时间范围内相应的所述主机系统指标信息,其中,所述主机系统指标信息包括:CPU利用率、系统CPU占用率、CPU等待IO时间、内存利用率、可用内存率、内存页交换进出、SWAP利用率、用户打开进程数、僵尸进程数、磁盘busy百分率和磁盘IO读写速度中的至少一种;
分别通过运行相应的脚本,按照预设的周期,从相应的日志文件中获得各所述物理主机在所述第一时间范围内相应的所述数据库运行指标信息,其中,所述数据库运行指标信息包括:物理主机的用户连接数、SQL的执行时间和SQL在预设周期内的完成数量中的至少一种,所述脚本与所述日志文件对应,所述日志文件与数据库运行指标信息对应。
结合上一个实施方式,在某些可选的实施方式中,所述根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组,包括:
针对各所述有故障物理主机的任一所述主机系统指标信息,均执行方式一,从而确定所述第一指标曲线组;
方式一、根据各所述有故障物理主机相应的所述主机系统指标信息,确定所述有故障物理主机相应的所述主机系统指标信息对应的指标曲线;
针对各所述有故障物理主机的任一所述数据库运行指标信息,均执行方式二,从而确定所述第二指标曲线组;
方式二、根据各所述有故障物理主机相应的所述数据库运行指标信息,确定所述有故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
所述根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组,包括:
针对各所述无故障物理主机的任一所述主机系统指标信息,均执行方式三,从而确定所述第三指标曲线组;
方式三、根据各所述无故障物理主机相应的所述主机系统指标信息,确定所述无故障物理主机相应的所述主机系统指标信息对应的指标曲线;
针对各所述无故障物理主机的任一所述数据库运行指标信息,均执行方式四,从而确定所述第四指标曲线组;
方式四、根据各所述无故障物理主机相应的所述数据库运行指标信息,确定所述无故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
其中,所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组均包括至少一条指标曲线,一条指标曲线对应一种指标信息。
结合上一个实施方式,在某些可选的实施方式中,所述根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态,包括:
获得所述目标Greenplum数据库集群的各所述物理主机的硬件故障信息、当前各所述主机系统指标信息和当前各所述数据库运行指标信息;
对于任一物理主机,均执行:根据所述硬件故障信息,确定所述物理主机为所述无故障物理主机或者为所述有故障物理主机;
若所述物理主机为所述有故障物理主机,则根据所述当前各所述主机系统指标信息和所述第一指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第二指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
在所述物理主机为所述有故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态;
若所述物理主机为所述无故障物理主机,则根据所述当前各所述主机系统指标信息和所述第三指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第四指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
在所述物理主机为所述无故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态。
结合上一个实施方式,在某些可选的实施方式中,所述根据所述当前各所述主机系统指标信息和所述第一指标曲线组,确定所述物理主机的主机系统指标的健康状态,包括:
将当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线的第一距离;
根据各所述第一距离,确定所述物理主机的主机系统指标的健康状态;
所述根据所述当前各所述数据库运行指标信息和所述第二指标曲线组,确定所述物理主机的数据库运行指标的健康状态,包括:
将当前各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线进行拟合,从而分别确定各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线的第二距离;
根据各所述第二距离,确定所述物理主机的数据库运行指标的健康状态。
可选的,在某些可选的实施方式中,所述根据所述当前各所述主机系统指标信息和所述第三指标曲线组,确定所述物理主机的主机系统指标的健康状态,包括:
将当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线的第三距离;
根据各所述第三距离,确定所述物理主机的主机系统指标的健康状态;
所述根据所述当前各所述数据库运行指标信息和所述第四指标曲线组,确定所述物理主机的数据库运行指标的健康状态,包括:
将当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线进行拟合,从而分别当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线的第四距离;
根据各所述第四距离,确定所述物理主机的主机系统指标的健康状态。
第二方面,一种Greenplum数据库健康状态监控装置,包括:多种信息获得单元、信息存储单元、硬件故障确定单元、有故障曲线单元、无故障曲线单元和健康状态确定单元;
所述多种信息获得单元,用于获得目标Greenplum数据库集群的各物理主机在第一时间范围内的多种信息,其中,每个所述物理主机的信息均包括:硬件故障信息、主机系统层面的各主机系统指标信息和数据库运行层面的各数据库运行指标信息;
所述信息存储单元,用于将所述硬件故障信息、所述主机系统指标信息和所述数据库运行指标信息分别按照时间顺序存储至mysql数据库对应的数据表中,其中,多个所述物理主机的同一种信息对应一个所述数据表;
所述硬件故障确定单元,用于根据所述硬件故障信息,确定在第二时间范围内出现过故障的有故障物理主机和在所述第二时间范围内未出现过故障的无故障物理主机,其中,所述第二时间范围处于所述第一时间范围内;
所述有故障曲线单元,用于根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组;
所述无故障曲线单元,用于根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组;
所述健康状态确定单元,用于根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。
第三方面,一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的Greenplum数据库健康状态监控方法。
第四方面,一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的Greenplum数据库健康状态监控方法。
借由上述技术方案,本发明提供的Greenplum数据库健康状态监控方法及相关装置,可以通过获得目标Greenplum数据库集群的各物理主机在第一时间范围内的多种信息,其中,每个所述物理主机的信息均包括:硬件故障信息、主机系统层面的各主机系统指标信息和数据库运行层面的各数据库运行指标信息;将所述硬件故障信息、所述主机系统指标信息和所述数据库运行指标信息分别按照时间顺序存储至mysql数据库对应的数据表中,其中,多个所述物理主机的同一种信息对应一个所述数据表;根据所述硬件故障信息,确定在第二时间范围内出现过故障的有故障物理主机和在所述第二时间范围内未出现过故障的无故障物理主机,其中,所述第二时间范围处于所述第一时间范围内;根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组;根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组;根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。由此可以看出,本发明可以根据物理主机的硬件信息、主机系统指标信息和数据库运行指标信息,及时准确地确定Greenplum数据库集群的健康状态。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的一种Greenplum数据库健康状态监控方法的流程图;
图2示出了本发明提供的一种Greenplum数据库健康状态监控装置的结构示意图;
图3示出了本发明提供的一种电子设备的结构示意图。
具体实施方式
Greenplum数据库作为一个分布式并行处理数据库,广泛应用于大规模数据仓库分析和商业智能挖掘场景中。Greenplum数据库包括了多个节点,主要分为2类:控制节点master和数据节点segment。master节点不存放任何用户数据,只是对客户端进行访问控制和存储表分布逻辑的元数据;segment节点负责数据的存储和计算。
一个Greenplum数据库集群的机器数量多达几十台至上百台,日常运维过程中,需要关注的地方非常多。主机层面包括CPU、内存、磁盘、网络流量和系统参数等;数据库层面包括配置参数、连接参数、统计信息、错误日志、锁阻塞、表数据分布情况、SQL执行性能(查询数量和时间)和资源队列等待情况等。
经本发明人研究发现:目前已有的Greenplum数据库监控方法只采集了主机系统层和数据库层一部分的运行数据,导致其分析Greenplum数据库的健康状态的准确性不高,进一步使得运维人员无法快速、准确的定位故障的根本原因。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明提供了一种Greenplum数据库健康状态监控方法,包括:S100、S200、S300、S400、S500和S600;
S100、获得目标Greenplum数据库集群的各物理主机在第一时间范围内的多种信息,其中,每个所述物理主机的信息均包括:硬件故障信息、主机系统层面的各主机系统指标信息和数据库运行层面的各数据库运行指标信息;
可选的,本发明对于目标Greenplum数据库集群的规模不做限制,任何规模的目标Greenplum数据库集群均可以适用本发明,即本发明对于各物理主机(物理服务器)的数量不做具体限制。
可选的,本发明对于采集硬件故障信息、主机系统指标信息和数据库运行指标信息的方式不做具体限制,任何可行的方式均属于本发明的保护范围。例如,结合图1所示的实施方式,在某些可选的实施方式中,所述S100包括:步骤1.1和步骤1.2;
步骤1.1、若所述目标Greenplum数据库集群不是新建的Greenplum数据库集群,则直接获得各所述物理主机的硬件故障信息、主机系统指标信息和数据库运行指标信息;
步骤1.2、若所述目标Greenplum数据库集群为新建的Greenplum数据库集群,则从配置库中获得所述目标Greenplum数据库集群的硬件配置信息,并根据所述硬件配置信息,获得其它Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息作为所述目标Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息,其中,所述其它Greenplum数据库集群和所述目标Greenplum数据库集群的硬件配置信息一致。
可选的,硬件故障信息指的是:表征物理主机是否有故障的信息。进一步地,若物理主机出现故障,则硬件故障信息还可以进一步表征物理主机有哪些具体故障,本发明对此不做限制。
可选的,硬件故障信息可以由硬件故障信息采集模块采集,硬件故障信息采集模块采用SNMPTRAP协议与服务器进行通信,通过该协议可以集中式对多台设备进行统一管理。当有物理主机发生硬件故障时,该服务器会主动发送一个陷入消息trap到硬件故障信息采集模块,该trap消息包含告警时间、物理服务器主机名、故障硬件类型和故障硬件位置等。硬件故障信息采集模块收到该信息后,根据主机名判断其所属的Greenplum数据库集群,并记录到存储模块。
可选的,若所述目标Greenplum数据库集群为新建的Greenplum数据库集群,则说明该集群还没产生相应的信息。所以可以获得同类型的数据库集群的信息作为该数据库集群的信息,即获得相同硬件配置信息的其它Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息作为所述目标Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息。
可选的,对于硬件配置信息的采集:本发明可以将Greenplum数据库部署segment节点的物理主机的硬件配置分为金、银和铜等3个等级。对于行长报表、有监管报送要求的重要作业采用最高的金级套餐;对于T+1类(昨天的数据,要求今天完成数据加工并生成数据报表)、网点开门批(网点开门营业前需要查看一些报表,了解行内的客户、资金动态)等作业采用银级套餐;对于实验模型、测试环境等不影响生产的作业采用铜级套餐。对于3个不同的套餐规定了相应的硬件成本范围,根据不同的实际情况,可在区间范围内进行调整。
硬件配置信息采集模块的具体工作流程如下:(1)通过get_host_name()方法去master节点上读取相应日志文件的内容,获取该集群所有segment节点物理服务器的主机名、IP地址;(2)根据(1)的返回结果分别调用get_hardware_conf()方法获取每一个segment节点物理服务器的硬件配置信息并保存到存储模块。
又例如,结合上一个实施方式,在某些可选的实施方式中,所述步骤1.1中的直接获得各所述物理主机的硬件故障信息、主机系统指标信息和数据库运行指标信息,包括:步骤2.1、步骤2.2和步骤2.3;
步骤2.1、获得各所述物理主机通过SNMPTRAP协议发送的各陷入消息trap,并根据各所述陷入消息trap获得各所述物理主机在所述第一时间范围内的硬件故障信息;
步骤2.2、分别通过部署在各所述物理主机上的patrol进程,按照预设的周期,采集各所述物理主机在所述第一时间范围内相应的所述主机系统指标信息,其中,所述主机系统指标信息包括:CPU利用率、系统CPU占用率、CPU等待IO时间、内存利用率、可用内存率、内存页交换进出、SWAP利用率、用户打开进程数、僵尸进程数、磁盘busy百分率和磁盘IO读写速度中的至少一种;
步骤2.3、分别通过运行相应的脚本,按照预设的周期,从相应的日志文件中获得各所述物理主机在所述第一时间范围内相应的所述数据库运行指标信息,其中,所述数据库运行指标信息包括:物理主机的用户连接数、SQL的执行时间和SQL在预设周期内的完成数量中的至少一种,所述脚本与所述日志文件对应,所述日志文件与数据库运行指标信息对应。
可选的,本发明对于第一时间范围不做具体限制,任何可行的方式均属于本发明的保护范围。例如,第一时间范围可以是:最近30天。
可选的,本发明可以分别获得各个物理服务器在最近30天内的硬件故障信息、主机系统指标信息和数据库运行指标信息。
可选的,主机系统指标信息可以由部署在每台数据库物理主机上的patrol进程负责,该进程使用3181进程号,每分钟采集一次物理主机的系统参数,并传输给主机系统指标信息的采集模块,采集模块将数据按集群汇总后再发送给存储模块。
可选的,在每个Greenplum数据库集群的master节点上都可以部署相应的连接数检查脚本,该脚本每过5分钟可以去Greenplum数据库执行select count(*)frompg_stat_activity命令,以查询当前数据库的连接数量,同时将返回的用户连接数记录到预先建立的日志文件1中,以记录用户连接数。
可选的,Greenplum数据库每次执行业务SQL前都可以将SQL的命令内容和开始时间记录到预先建立的日志文件2中。当业务SQL结束时也可以将SQL的命令内容和结束时间记录到日志文件2中。因此使用预先建立的脚本每隔5分钟去搜索该日志,将运行时间超过2小时还未结束的SQL记录到日志文件2中。
可选的,对于15分钟内SQL完成数量指标,可以使用预先建立的脚本对日志文件2进行处理,统计过去15分钟SQL完成的数量并记录到预先建立的日志文件3中。
可选的,数据库运行指标信息的采集模块可以定时去master节点上读取上述3个日志文件,以获得数据库运行指标信息,然后传输到存储模块。
S200、将所述硬件故障信息、所述主机系统指标信息和所述数据库运行指标信息分别按照时间顺序存储至mysql数据库对应的数据表中,其中,多个所述物理主机的同一种信息对应一个所述数据表;
可选的,本发明可以将多个物理主机的同一种信息存储在同一个数据表中。即硬件故障信息存储在一个数据表,主机系统指标信息存储在另一个数据表,数据库运行指标信息又存储在另外一个数据表,以便于后续确定相应的指标曲线,本发明对此不做限制。
可选的,如前所述,本发明可以采集近30天内的信息,那么可以根据各个信息的产生时间,依次存储到相应的数据表中。
S300、根据所述硬件故障信息,确定在第二时间范围内出现过故障的有故障物理主机和在所述第二时间范围内未出现过故障的无故障物理主机,其中,所述第二时间范围处于所述第一时间范围内;
可选的,本发明对于第二时间范围不做具体限制,任何可行的方式均属于本发明的保护范围。第二时间范围可以与第一时间范围等同,也可以是处于所述第一时间范围内。例如,第二时间范围可以是最近30天,也可以是最近15天,本发明对此不做限制。
可选的,如前所述,硬件故障信息可以表征物理主机是否出现故障,所以依据前述获得的故障信息,可以确定在最近一定时间范围内出现过硬件故障的物理主机和在最近一定时间范围内未出现过硬件故障的物理主机,本发明对此不做限制。
可选的,将目标Greenplum数据库集群的各物理主机区分为发生过硬件故障的物理主机和未发生过硬件故障的物理主机,以便于后续建立不同的曲线组,从而区别确定各物理主机的健康状态,本发明对此不做限制。
S400、根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组;
可选的,各所述有故障物理主机的主机系统指标信息可以理解为:有故障物理主机的历史主机系统指标信息。即,可以根据历史记录的主机系统指标信息建立相应的曲线,从而建立对应的第一指标曲线组。对于第二曲线组、第三曲线组和第四曲线组也可以进行同等理解,本发明对此不做过多赘述。
可选的,如前所述,主机系统指标信息包括:CPU利用率、系统CPU占用率、CPU等待IO时间、内存利用率、可用内存率、内存页交换进出、SWAP利用率、用户打开进程数、僵尸进程数、磁盘busy百分率和磁盘IO读写速度等多种,且有故障物理主机的数量也可以是多个。所以针对任一种主机系统指标信息,可以计算所有有故障物理主机的平均值,得到平均值曲线,该平均值曲线可以反映出有故障物理主机的该种主机系统指标信息在历史各个时间节点的平均值。例如有3个有故障物理主机,针对这3个有故障物理主机的内存利用率,可以计算这3个有故障物理主机在最近30天内的内存利用率的平均值,从而得到一个以时间为横轴,以内存利用率的平均值为纵轴的平均值曲线。对于第二曲线组、第三曲线组和第四曲线组也可以进行同等理解,本发明对此不做过多赘述。
S500、根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组;
可选的,S500的解释可以参考S400中的相关解释,本文对此不做过多描述。
可选的,结合上一个实施方式,在某些可选的实施方式中,所述S400包括:步骤3.1和步骤3.2;
步骤3.1、针对各所述有故障物理主机的任一所述主机系统指标信息,均执行方式一,从而确定所述第一指标曲线组;
方式一、根据各所述有故障物理主机相应的所述主机系统指标信息,确定所述有故障物理主机相应的所述主机系统指标信息对应的指标曲线;
步骤3.2、针对各所述有故障物理主机的任一所述数据库运行指标信息,均执行方式二,从而确定所述第二指标曲线组;
方式二、根据各所述有故障物理主机相应的所述数据库运行指标信息,确定所述有故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
所述S500包括:步骤3.3和步骤3.4;
步骤3.3、针对各所述无故障物理主机的任一所述主机系统指标信息,均执行方式三,从而确定所述第三指标曲线组;
方式三、根据各所述无故障物理主机相应的所述主机系统指标信息,确定所述无故障物理主机相应的所述主机系统指标信息对应的指标曲线;
步骤3.4、针对各所述无故障物理主机的任一所述数据库运行指标信息,均执行方式四,从而确定所述第四指标曲线组;
方式四、根据各所述无故障物理主机相应的所述数据库运行指标信息,确定所述无故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
其中,所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组均包括至少一条指标曲线,一条指标曲线对应一种指标信息。
S600、根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。
可选的,如前所述,所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组可以作为历史值进行参考,从而确定目标Greenplum数据库集群的各所述物理主机的当前健康状态,本发明对此不做限制。
例如,结合上一个实施方式,在某些可选的实施方式中,所述S600包括:步骤4.1、步骤4.2、步骤4.3、步骤4.4、步骤4.5和步骤4.6;
步骤4.1、获得所述目标Greenplum数据库集群的各所述物理主机的硬件故障信息、当前各所述主机系统指标信息和当前各所述数据库运行指标信息;
可选的,步骤4.1中获得的信息是各所述物理主机的当前信息,当前信息与相应的历史值进行比较可以确定物理主机的当前健康状态。
可选的,步骤4.1中的硬件故障信息可以反映出各所述物理主机的硬件故障信息最近是否发生过硬件故障,本发明对此不做限制。
步骤4.2、对于任一物理主机,均执行:根据所述硬件故障信息,确定所述物理主机为所述无故障物理主机或者为所述有故障物理主机;
步骤4.3、若所述物理主机为所述有故障物理主机,则根据所述当前各所述主机系统指标信息和所述第一指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第二指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
可选的,以第一指标曲线组中的一条曲线为例,该曲线可以对应有故障物理主机的内存利用率。将该曲线乘以上浮因子,得到该曲线对应的上限曲线;将该曲线乘以下沉因子,得到该曲线对应的下限曲线。根据有故障物理主机当前的内存利用率是否大于上限曲线或者低于下限曲线,确定该有故障物理主机当前在内存利用率方面的健康状态,从而根据各种主机系统指标方面的健康状态确定该有故障物理主机在主机系统指标方面的健康状态,进一步根据该有故障物理主机在各种指标方面的健康状态,确定该有故障物理主机的健康状态。对于第二曲线组、第三曲线组和第四曲线组也可以进行同等理解,本发明对此不做过多赘述。
步骤4.4、在所述物理主机为所述有故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态;
步骤4.5、若所述物理主机为所述无故障物理主机,则根据所述当前各所述主机系统指标信息和所述第三指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第四指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
步骤4.6、在所述物理主机为所述无故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态。
可选的,在确定各个物理主机的健康状态之后,可以根据各个物理主机的健康状态确定目标Greenplum数据库集群的整体健康状态,本发明对此不做限制。
可选的,本发明对于根据所述当前各所述主机系统指标信息和所述第一指标曲线组,确定所述物理主机的主机系统指标的健康状态的方式不做具体限制。同理,对于根据所述当前各所述数据库运行指标信息和所述第二指标曲线组,确定所述物理主机的数据库运行指标的健康状态的方式也不做具体限制,任何可行的方式均属于本发明的保护范围。
例如,结合上一个实施方式,在某些可选的实施方式中,所述步骤4.3包括:步骤5.1、步骤5.2、步骤5.3和步骤5.4;
步骤5.1、将当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线的第一距离;
步骤5.2、根据各所述第一距离,确定所述物理主机的主机系统指标的健康状态。
可选的,每条曲线都会有相应的一个当前值,可以计算当前值与该曲线的距离,从而通过该距离反映出当前值与历史值之间的差距,本发明对此不做限制。
步骤5.3、将当前各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线进行拟合,从而分别确定各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线的第二距离;
步骤5.4、根据各所述第二距离,确定所述物理主机的数据库运行指标的健康状态。
可选的,在某些可选的实施方式中,所述步骤4.5包括:步骤6.1、步骤6.2、步骤6.3和步骤6.4;
步骤6.1、将当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线的第三距离;
步骤6.2、根据各所述第三距离,确定所述物理主机的主机系统指标的健康状态。
步骤6.3、将当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线进行拟合,从而分别当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线的第四距离;
步骤6.4、根据各所述第四距离,确定所述物理主机的主机系统指标的健康状态。
如图2所示,本发明提供了一种Greenplum数据库健康状态监控装置,包括:多种信息获得单元100、信息存储单元200、硬件故障确定单元300、有故障曲线单元400、无故障曲线单元500和健康状态确定单元600;
所述多种信息获得单元100,用于获得目标Greenplum数据库集群的各物理主机在第一时间范围内的多种信息,其中,每个所述物理主机的信息均包括:硬件故障信息、主机系统层面的各主机系统指标信息和数据库运行层面的各数据库运行指标信息;
所述信息存储单元200,用于将所述硬件故障信息、所述主机系统指标信息和所述数据库运行指标信息分别按照时间顺序存储至mysql数据库对应的数据表中,其中,多个所述物理主机的同一种信息对应一个所述数据表;
所述硬件故障确定单元300,用于根据所述硬件故障信息,确定在第二时间范围内出现过故障的有故障物理主机和在所述第二时间范围内未出现过故障的无故障物理主机,其中,所述第二时间范围处于所述第一时间范围内;
所述有故障曲线单元400,用于根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组;
所述无故障曲线单元500,用于根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组;
所述健康状态确定单元600,用于根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。
结合图2所示的实施方式,在某些可选的实施方式中,所述多种信息获得单元100包括:第一硬件信息获得单元和第二硬件信息获得单元;
第一硬件信息获得单元,用于若所述目标Greenplum数据库集群不是新建的Greenplum数据库集群,则从配置库中获得所述目标Greenplum数据库集群的硬件配置信息;
第二硬件信息获得单元,用于若所述目标Greenplum数据库集群为新建的Greenplum数据库集群,则根据所述硬件配置信息,获得其它Greenplum数据库集群的各物理主机在第一时间范围内的硬件配置信息作为所述目标Greenplum数据库集群的各物理主机在第一时间范围内的硬件配置信息。
结合上一个实施方式,在某些可选的实施方式中,所述多种信息获得单元100还包括:系统指标获得单元和数据库运行指标获得单元;
系统指标获得单元,用于针对各所述主机系统指标信息,均执行:分别通过部署在各物理主机上的patrol进程,按照预设的周期,采集所述目标Greenplum数据库集群的各物理主机在第一时间范围内相应的所述主机系统指标信息,其中,所述主机系统指标信息包括:CPU利用率、系统CPU占用率、CPU等待IO时间、内存利用率、可用内存率、内存页交换进出、SWAP利用率、用户打开进程数、僵尸进程数、磁盘busy百分率和磁盘IO读写速度中的至少一种;
数据库运行指标获得单元,用于针对各所述数据库运行指标信息,均执行:分别通过运行相应的脚本,按照预设的周期,从相应的日志文件中获得所述目标Greenplum数据库集群的各物理主机在第一时间范围内相应的所述数据库运行指标信息,其中,所述数据库运行指标信息包括:物理主机的用户连接数、SQL的执行时间和SQL在各预设周期内的完成数量中的至少一种,脚本与日志文件对应,日志文件与数据库运行指标信息对应。
结合上一个实施方式,在某些可选的实施方式中,所述有故障曲线单元400包括:第一曲线组单元和第二曲线组单元;
第一曲线组单元,用于针对各所述有故障物理主机的任一所述主机系统指标信息,均执行方式一,从而确定所述第一指标曲线组;
方式一、根据各所述有故障物理主机相应的所述主机系统指标信息,确定所述有故障物理主机相应的所述主机系统指标信息对应的指标曲线;
第二曲线组单元,用于针对各所述有故障物理主机的任一所述数据库运行指标信息,均执行方式二,从而确定所述第二指标曲线组;
方式二、根据各所述有故障物理主机相应的所述数据库运行指标信息,确定所述有故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
所述无故障曲线单元500包括:第三曲线组单元和第四曲线组单元;
第三曲线组单元,用于针对各所述无故障物理主机的任一所述主机系统指标信息,均执行方式三,从而确定所述第三指标曲线组;
方式三、根据各所述无故障物理主机相应的所述主机系统指标信息,确定所述无故障物理主机相应的所述主机系统指标信息对应的指标曲线;
第四曲线组单元,用于针对各所述无故障物理主机的任一所述数据库运行指标信息,均执行方式四,从而确定所述第四指标曲线组;
方式四、根据各所述无故障物理主机相应的所述数据库运行指标信息,确定所述无故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
其中,所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组均包括至少一条指标曲线,一条指标曲线对应一种指标信息。
结合上一个实施方式,在某些可选的实施方式中,所述健康状态确定单元600包括:当前信息获得单元、主机确定单元、第一健康状态确定单元、第二健康状态确定单元、第三健康状态确定单元和第四健康状态确定单元;
当前信息获得单元,用于获得所述目标Greenplum数据库集群的各所述物理主机的硬件故障信息、当前各所述主机系统指标信息和当前各所述数据库运行指标信息;
主机确定单元,用于对于任一物理主机,均执行:根据所述硬件故障信息,确定所述物理主机为所述无故障物理主机或者为所述有故障物理主机;
第一健康状态确定单元,用于若所述物理主机为所述有故障物理主机,则根据所述当前各所述主机系统指标信息和所述第一指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第二指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
第二健康状态确定单元,用于在所述物理主机为所述有故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态;
第三健康状态确定单元,用于若所述物理主机为所述无故障物理主机,则根据所述当前各所述主机系统指标信息和所述第三指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第四指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
第四健康状态确定单元,用于在所述物理主机为所述无故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态。
结合上一个实施方式,在某些可选的实施方式中,所述第一健康状态确定单元包括:第一距离计算单元、第一健康确定单元、第二距离计算单元和第二健康确定单元;
第一距离计算单元,用于将当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线的第一距离;
第一健康确定单元,用于根据各所述第一距离,确定所述物理主机的主机系统指标的健康状态。
第二距离计算单元,用于将当前各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线进行拟合,从而分别确定各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线的第二距离;
第二健康确定单元,用于根据各所述第二距离,确定所述物理主机的数据库运行指标的健康状态。
可选的,在某些可选的实施方式中,所述第三健康状态确定单元包括:第三距离计算单元、第三健康确定单元、第四距离计算单元和第四健康确定单元;
第三距离计算单元,用于将当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线的第三距离;
第三健康确定单元,用于根据各所述第三距离,确定所述物理主机的主机系统指标的健康状态。
第四距离计算单元,用于将当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线进行拟合,从而分别当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线的第四距离;
第四健康确定单元,用于根据各所述第四距离,确定所述物理主机的主机系统指标的健康状态。
本发明提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的Greenplum数据库健康状态监控方法。
如图3所示,本发明提供了一种电子设备70,所述电子设备70包括至少一个处理器701、以及与所述701处理器连接的至少一个存储器702、总线703;其中,所述处理器701、所述存储器702通过所述总线703完成相互间的通信;所述处理器701用于调用所述存储器702中的程序指令,以执行上述任一项所述的Greenplum数据库健康状态监控方法。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种Greenplum数据库健康状态监控方法,其特征在于,包括:
获得目标Greenplum数据库集群的各物理主机在第一时间范围内的多种信息,其中,每个所述物理主机的信息均包括:硬件故障信息、主机系统层面的各主机系统指标信息和数据库运行层面的各数据库运行指标信息;
将所述硬件故障信息、所述主机系统指标信息和所述数据库运行指标信息分别按照时间顺序存储至mysql数据库对应的数据表中,其中,多个所述物理主机的同一种信息对应一个所述数据表;
根据所述硬件故障信息,确定在第二时间范围内出现过故障的有故障物理主机和在所述第二时间范围内未出现过故障的无故障物理主机,其中,所述第二时间范围处于所述第一时间范围内;
根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组;
根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组;
根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标Greenplum数据库集群不是新建的Greenplum数据库集群,则直接获得各所述物理主机的硬件故障信息、主机系统指标信息和数据库运行指标信息;
若所述目标Greenplum数据库集群为新建的Greenplum数据库集群,则从配置库中获得所述目标Greenplum数据库集群的硬件配置信息,并根据所述硬件配置信息,获得其它Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息作为所述目标Greenplum数据库集群的硬件故障信息、主机系统指标信息和数据库运行指标信息,其中,所述其它Greenplum数据库集群和所述目标Greenplum数据库集群的硬件配置信息一致。
3.根据权利要求2所述的方法,其特征在于,所述直接获得各所述物理主机的硬件故障信息、主机系统指标信息和数据库运行指标信息,包括:
获得各所述物理主机通过SNMPTRAP协议发送的各陷入消息trap,并根据各所述陷入消息trap获得各所述物理主机在所述第一时间范围内的硬件故障信息;
分别通过部署在各所述物理主机上的patrol进程,按照预设的周期,采集各所述物理主机在所述第一时间范围内相应的所述主机系统指标信息,其中,所述主机系统指标信息包括:CPU利用率、系统CPU占用率、CPU等待IO时间、内存利用率、可用内存率、内存页交换进出、SWAP利用率、用户打开进程数、僵尸进程数、磁盘busy百分率和磁盘IO读写速度中的至少一种;
分别通过运行相应的脚本,按照预设的周期,从相应的日志文件中获得各所述物理主机在所述第一时间范围内相应的所述数据库运行指标信息,其中,所述数据库运行指标信息包括:物理主机的用户连接数、SQL的执行时间和SQL在预设周期内的完成数量中的至少一种,所述脚本与所述日志文件对应,所述日志文件与数据库运行指标信息对应。
4.根据权利要求3所述的方法,其特征在于,所述根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组,包括:
针对各所述有故障物理主机的任一所述主机系统指标信息,均执行方式一,从而确定所述第一指标曲线组;
方式一、根据各所述有故障物理主机相应的所述主机系统指标信息,确定所述有故障物理主机相应的所述主机系统指标信息对应的指标曲线;
针对各所述有故障物理主机的任一所述数据库运行指标信息,均执行方式二,从而确定所述第二指标曲线组;
方式二、根据各所述有故障物理主机相应的所述数据库运行指标信息,确定所述有故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
所述根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组,包括:
针对各所述无故障物理主机的任一所述主机系统指标信息,均执行方式三,从而确定所述第三指标曲线组;
方式三、根据各所述无故障物理主机相应的所述主机系统指标信息,确定所述无故障物理主机相应的所述主机系统指标信息对应的指标曲线;
针对各所述无故障物理主机的任一所述数据库运行指标信息,均执行方式四,从而确定所述第四指标曲线组;
方式四、根据各所述无故障物理主机相应的所述数据库运行指标信息,确定所述无故障物理主机相应的所述数据库运行指标信息对应的指标曲线;
其中,所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组均包括至少一条指标曲线,一条所述指标曲线对应一种指标信息。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态,包括:
获得各所述物理主机的硬件故障信息、当前各所述主机系统指标信息和当前各所述数据库运行指标信息;
对于任一所述物理主机,均执行:根据所述硬件故障信息,确定所述物理主机为所述无故障物理主机或者为所述有故障物理主机;
若所述物理主机为所述有故障物理主机,则根据所述当前各所述主机系统指标信息和所述第一指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第二指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
在所述物理主机为所述有故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态;
若所述物理主机为所述无故障物理主机,则根据所述当前各所述主机系统指标信息和所述第三指标曲线组,确定所述物理主机的主机系统指标的健康状态,且根据所述当前各所述数据库运行指标信息和所述第四指标曲线组,确定所述物理主机的数据库运行指标的健康状态;
在所述物理主机为所述无故障物理主机的情况下,根据所述物理主机的主机系统指标的健康状态和所述物理主机的数据库运行指标的健康状态,确定所述物理主机的健康状态。
6.根据权利要求5所述的方法,其特征在于,所述根据所述当前各所述主机系统指标信息和所述第一指标曲线组,确定所述物理主机的主机系统指标的健康状态,包括:
将当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第一指标曲线组中相应的曲线的第一距离;
根据各所述第一距离,确定所述物理主机的主机系统指标的健康状态;
所述根据所述当前各所述数据库运行指标信息和所述第二指标曲线组,确定所述物理主机的数据库运行指标的健康状态,包括:
将当前各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线进行拟合,从而分别确定各所述数据库运行指标信息和所述第二指标曲线组中相应的曲线的第二距离;
根据各所述第二距离,确定所述物理主机的数据库运行指标的健康状态。
7.根据权利要求5所述的方法,其特征在于,所述根据所述当前各所述主机系统指标信息和所述第三指标曲线组,确定所述物理主机的主机系统指标的健康状态,包括:
将当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线进行拟合,从而分别确定当前各所述主机系统指标信息和所述第三指标曲线组中相应的曲线的第三距离;
根据各所述第三距离,确定所述物理主机的主机系统指标的健康状态;
所述根据所述当前各所述数据库运行指标信息和所述第四指标曲线组,确定所述物理主机的数据库运行指标的健康状态,包括:
将当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线进行拟合,从而分别当前各所述数据库运行指标信息和所述第四指标曲线组中相应的曲线的第四距离;
根据各所述第四距离,确定所述物理主机的主机系统指标的健康状态。
8.一种Greenplum数据库健康状态监控装置,其特征在于,包括:多种信息获得单元、信息存储单元、硬件故障确定单元、有故障曲线单元、无故障曲线单元和健康状态确定单元;
所述多种信息获得单元,用于获得目标Greenplum数据库集群的各物理主机在第一时间范围内的多种信息,其中,每个所述物理主机的信息均包括:硬件故障信息、主机系统层面的各主机系统指标信息和数据库运行层面的各数据库运行指标信息;
所述信息存储单元,用于将所述硬件故障信息、所述主机系统指标信息和所述数据库运行指标信息分别按照时间顺序存储至mysql数据库对应的数据表中,其中,多个所述物理主机的同一种信息对应一个所述数据表;
所述硬件故障确定单元,用于根据所述硬件故障信息,确定在第二时间范围内出现过故障的有故障物理主机和在所述第二时间范围内未出现过故障的无故障物理主机,其中,所述第二时间范围处于所述第一时间范围内;
所述有故障曲线单元,用于根据各所述有故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述有故障物理主机的各所述主机系统指标信息对应的第一指标曲线组和所述有故障物理主机的各所述数据库运行指标信息对应的第二指标曲线组;
所述无故障曲线单元,用于根据各所述无故障物理主机的各所述主机系统指标信息和各所述数据库运行指标信息,分别确定所述无故障物理主机的各所述主机系统指标信息对应的第三指标曲线组和所述无故障物理主机的各所述数据库运行指标信息对应的第四指标曲线组;
所述健康状态确定单元,用于根据所述第一指标曲线组、所述第二指标曲线组、所述第三指标曲线组和所述第四指标曲线组,分别确定所述目标Greenplum数据库集群的各所述物理主机的当前健康状态。
9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的Greenplum数据库健康状态监控方法。
10.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至7中任一项所述的Greenplum数据库健康状态监控方法。
CN202111332675.2A 2021-11-11 2021-11-11 Greenplum数据库健康状态监控方法及相关装置 Pending CN114036026A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111332675.2A CN114036026A (zh) 2021-11-11 2021-11-11 Greenplum数据库健康状态监控方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111332675.2A CN114036026A (zh) 2021-11-11 2021-11-11 Greenplum数据库健康状态监控方法及相关装置

Publications (1)

Publication Number Publication Date
CN114036026A true CN114036026A (zh) 2022-02-11

Family

ID=80144061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111332675.2A Pending CN114036026A (zh) 2021-11-11 2021-11-11 Greenplum数据库健康状态监控方法及相关装置

Country Status (1)

Country Link
CN (1) CN114036026A (zh)

Similar Documents

Publication Publication Date Title
US9672085B2 (en) Adaptive fault diagnosis
CN101632093A (zh) 用于使用统计学分析来管理性能故障的系统和方法
CN102567185B (zh) 一种应用服务器的监控方法
CN112162907A (zh) 基于监控指标数据的健康度评估方法
CN107066370A (zh) 一种自动监控并收集故障硬盘日志的工具及方法
CN106407083A (zh) 故障检测方法及装置
CN111314158B (zh) 大数据平台监控方法、装置及设备、介质
CN113220534A (zh) 集群多维度异常监控方法、装置、设备及存储介质
CN116719664B (zh) 基于微服务部署的应用和云平台跨层故障分析方法及系统
CN112737800A (zh) 服务节点故障定位方法、调用链生成方法及服务器
CN114154035A (zh) 一种动环监控的数据处理系统
CN113590429A (zh) 一种服务器故障诊断方法、装置及电子设备
US8949669B1 (en) Error detection, correction and triage of a storage array errors
CN112328463A (zh) 一种日志监控方法及装置
CN114036026A (zh) Greenplum数据库健康状态监控方法及相关装置
CN113409876A (zh) 一种故障硬盘的定位方法及系统
CN114500178B (zh) 一种自运维的智慧物联网关
CN116126621A (zh) 大数据集群的任务监控方法及相关设备
CN113626236B (zh) 一种分布式文件系统的故障诊断方法、装置、设备及介质
CN115543665A (zh) 一种内存可靠性评估方法、装置及存储介质
CN112732517B (zh) 一种磁盘故障告警方法、装置、设备及可读存储介质
CN115981911A (zh) 内存故障的预测方法、电子设备和计算机可读存储介质
CN115599621A (zh) 微服务异常诊断方法、装置、设备及存储介质
CN112817987A (zh) 访问分布式存储集群的方法及装置、设备、存储介质
CN112559230A (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