CN111314158B - 大数据平台监控方法、装置及设备、介质 - Google Patents
大数据平台监控方法、装置及设备、介质 Download PDFInfo
- Publication number
- CN111314158B CN111314158B CN201811508442.1A CN201811508442A CN111314158B CN 111314158 B CN111314158 B CN 111314158B CN 201811508442 A CN201811508442 A CN 201811508442A CN 111314158 B CN111314158 B CN 111314158B
- Authority
- CN
- China
- Prior art keywords
- component
- cluster
- state information
- region
- current
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本发明提供一种大数据平台监控方法、装置及设备、介质,所述大数据平台包括至少一个组件,该方法包括:采集第一组件的当前状态信息;获取所述第一组件的历史状态信息;依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及的是一种大数据平台监控方法、装置及设备、介质。
背景技术
随着大数据时代的发展,各行各业每天都在产生数量巨大的数据碎片,大数据需要采用分布式计算架构的大数据平台来进行处理。大数据平台可实现海量数据的数据整合、数据处理、数据存储、数据分析、可视化等功能,大数据平台比如包括数据仓库平台、基于hadoop的大数据平台等。由于大数据平台中的组件在运行时,可能会出现异常情况,因而需要对运行中的大数据平台进行监控。
相关的大数据平台监控方式中,通常是从大数据平台中获取某个组件的实时运行状态,依据单一的实时运行状态对该组件的运行状态进行监控,以Hadoop大数据平台为例,通过JMX接口组件拉取关于HBase组件的实时监控信息来监控HBase组件的运行状态。
上述方式中,由于仅通过组件的实时运行状态信息来监控该组件的运行情况,而某个时刻下的运行状态正常并不能说明该组件是正常运行的,组件在已经出现一些隐患的情况下,也可以继续运行且从实时运行状态信息上看不出问题,如果不及时发现这些隐患问题,可能会造成严重的后果。
发明内容
有鉴于此,本发明提供一种大数据平台监控方法、装置及设备、介质,可及时监控出仅依靠组件的实时运行状态信息发现不了的异常情况。
本发明第一方面提供一种大数据平台监控方法,所述大数据平台包括至少一个组件,该方法包括:
采集第一组件的当前状态信息;
获取所述第一组件的历史状态信息;
依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况。
根据本发明的一个实施例,所述第一组件为Kafka集群;
所述当前状态信息包括:Kafka集群中指定主题的所有分区当前已消费的第一消费数据量,及Kafka集群中指定主题的所有分区当前的堆积数据量;
所述历史状态信息包括:所述Kafka集群中指定主题的所有分区在之前的指定时间点的已消费的第二消费数据量;
依据所述当前状态信息和历史状态信息监控所述指定组件当前是否产生异常情况,包括:
计算第一消费数据量与第二消费数据量之差得到消费数据量差值;
判断所述消费数据量差值是否小于第一设定值;
若是,确定所述Kafka集群产生所述指定主题的消费回退异常情况;
若否,若所述堆积数据量大于第二设定值,确定所述Kafka集群产生所述指定主题的数据堆积异常情况。
根据本发明的一个实施例,该方法进一步包括:
检查Kafka集群中指定主题是否已选举leader,若否,确定所述Kafka集群产生所述指定主题的主副本未选举的异常情况。
根据本发明的一个实施例,所述第一组件为Kafka集群;该方法进一步包括:
当未成功采集所述当前状态信息时,确定所述Kafka集群产生指定主题的分区无法消费的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述Kafka集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
当接收到查询指令时,在第三组件中查找所述Kafka集群对应的监控文档中的目标状态信息;所述查询指令是用于指示查询所述Kafka集群对应的监控文档中记录的目标状态信息的指令;当未查找到时,确定所述第三组件产生未能正常查询的异常情况;当查找到时,从所述第三组件中获取关于所述第三组件的分片情况的分片参数,若所述分片参数指示分片异常,确定所述第三组件产生分片异常情况。
根据本发明的一个实施例,所述第一组件为HBase集群;
所述当前状态信息包括:所述HBase集群所有节点中当前的第一region数量、所有节点中region当前所存储数据的第一数据总量;
所述历史状态信息包括:所述HBase集群所有节点中在之前的指定时间点的第二region数量、及所有节点中region在所述指定时间点所存储数据的第二数据总量;
依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况,包括:
计算所述第一region数量与第二region数量之差得到region数量差值,判断所述region数量差值是否大于第四设定值,若是,确定所述HBase集群产生region无限分裂的异常情况;
和/或,
计算所述第一数据总量与所述第二数据总量之差得到数据总量差值,判断所述数据总量差值是否小于第五设定值,若是,确定所述HBase集群产生region数据丢失的异常情况。
根据本发明的一个实施例,该方法进一步包括:
采集HBase集群各节点的当前region数量;
计算当前region数量最多的节点与当前region数量最少的节点的region数量之差得到节点region数量差值;
判断节点region数量差值是否大于第六设定值,若是,确定所述HBase集群产生数据倾斜的异常情况。
根据本发明的一个实施例,所述第一组件为HBase集群;
所述采集第一组件的当前状态信息之前,该方法还进一步包括:
采集所述HBase集群当前的端口连接状态;若所述端口连接状态指示端口连接异常,确定所述HBase集群产生端口连接异常的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述HBase集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
采集所述HBase集群的各服务器节点HRegionServer当前的节点状态参数,若所述节点状态参数指示存在失效的HRegionServer,确定所述HBase集群产生HRegionServer不可用的异常情况。
根据本发明的一个实施例,所述第一组件为HBase集群;
所述采集第一组件的当前状态信息进一步包括:
采集所述HBase集群当前的region健康状态;
若所述健康状态指示所述HBase集群中存在失效region,确定所述HBase集群产生region失效的异常情况;
若所述健康状态指示所述HBase集群中不存在失效region,采集所述HBase集群的当前状态信息。
本发明第二方面提供一种大数据平台监控装置,所述大数据平台包括至少一个组件,该装置包括:
当前信息采集模块,用于采集第一组件的当前状态信息;
历史信息获取模块,用于获取所述第一组件的历史状态信息;
异常监控模块,用于依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况。
根据本发明的一个实施例,所述第一组件为Kafka集群;
所述当前状态信息包括:Kafka集群中指定主题的所有分区当前已消费的第一消费数据量,及Kafka集群中指定主题的所有分区当前的堆积数据量;
所述历史状态信息包括:所述Kafka集群中指定主题的所有分区在之前的指定时间点的已消费的第二消费数据量;
所述异常监控模块包括:
消费数据量差值计算单元,用于计算第一消费数据量与第二消费数据量之差得到消费数据量差值;
消费数据量差值判断单元,用于判断所述消费数据量差值是否小于第一设定值;
消费回退监控单元,用于若是,确定所述Kafka集群产生所述指定主题的消费回退异常情况;
数据堆积监控单元,用于若否,若所述堆积数据量大于第二设定值,确定所述Kafka集群产生所述指定主题的数据堆积异常情况。
根据本发明的一个实施例,该装置进一步包括:
leader监控模块,用于检查Kafka集群中指定主题是否已选举leader,若否,确定所述Kafka集群产生所述指定主题的主副本未选举的异常情况。
根据本发明的一个实施例,所述第一组件为Kafka集群;该装置进一步包括:
第一关联监控模块,用于当未成功采集所述当前状态信息时,确定所述Kafka集群产生指定主题的分区无法消费的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述Kafka集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
第二关联监控模块,用于当接收到查询指令时,在第三组件中查找所述Kafka集群对应的监控文档中的目标状态信息;所述查询指令是用于指示查询所述Kafka集群对应的监控文档中记录的目标状态信息的指令;当未查找到时,确定所述第三组件产生未能正常查询的异常情况;当查找到时,从所述第三组件中获取关于所述第三组件的分片情况的分片参数,若所述分片参数指示分片异常,确定所述第三组件产生分片异常情况。
根据本发明的一个实施例,所述第一组件为HBase集群;
所述当前状态信息包括:所述HBase集群所有节点中当前的第一region数量、所有节点中region当前所存储数据的第一数据总量;
所述历史状态信息包括:所述HBase集群所有节点中在之前的指定时间点的第二region数量、及所有节点中region在所述指定时间点所存储数据的第二数据总量;
所述异常监控模块包括:
无限分裂监控单元,用于计算所述第一region数量与第二region数量之差得到region数量差值,判断所述region数量差值是否大于第四设定值,若是,确定所述HBase集群产生region无限分裂的异常情况;
和/或,
数据丢失监控单元,用于计算所述第一数据总量与所述第二数据总量之差得到数据总量差值,判断所述数据总量差值是否小于第五设定值,若是,确定所述HBase集群产生region数据丢失的异常情况。
根据本发明的一个实施例,该装置进一步包括:
当前region数量采集模块,用于采集HBase集群各节点的当前region数量;
节点region数量差值计算模块,用于计算当前region数量最多的节点与当前region数量最少的节点的region数量之差得到节点region数量差值;
数据倾斜监控模块,用于判断节点region数量差值是否大于第六设定值,若是,确定所述HBase集群产生数据倾斜的异常情况。
根据本发明的一个实施例,所述第一组件为HBase集群;
所述当前信息采集模块之前,该装置还进一步包括:
第三关联监控模块,用于采集所述HBase集群当前的端口连接状态;若所述端口连接状态指示端口连接异常,确定所述HBase集群产生端口连接异常的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述HBase集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
节点状态监控单元,用于采集所述HBase集群的各服务器节点HRegionServer当前的节点状态参数,若所述节点状态参数指示存在失效的HRegionServer,确定所述HBase集群产生HRegionServer不可用的异常情况。
根据本发明的一个实施例,所述第一组件为HBase集群;
所述当前信息采集模块进一步包括:
region健康状态单元,用于采集所述HBase集群当前的region健康状态;
region失效监控单元,用于若所述健康状态指示所述HBase集群中存在失效region,确定所述HBase集群产生region失效的异常情况;
当前信息采集单元,用于若所述健康状态指示所述HBase集群中不存在失效region,采集所述HBase集群的当前状态信息。
本发明第三方面一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例所述的大数据平台监控方法。
本发明第四方面一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例所述的大数据平台监控方法。
本发明实施例具有以下有益效果:
本发明实施例中,可通过第一组件的当前状态信息和历史状态信息来监控第一组件,依据当前状态信息和历史状态信息可将第一组件的运行状态进行时间上的关联,可及时监控出仅靠当前状态信息无法监控出的异常情况,有利于对大数据平台的当前运行状态做出准确判断,避免大数据平台在携带该异常情况的情况下继续运行导致更多异常发生。
附图说明
图1是本发明一实施例的大数据平台监控方法的流程示意图;
图2是本发明一实施例的大数据平台的结构框图;
图3是本发明一实施例的大数据平台监控装置的结构框图;
图4是本发明一更具体实施例的大数据平台监控方法的流程示意图;
图5是本发明另一更具体实施例的大数据平台监控方法的流程示意图;
图6为本发明一示例性实施例的电子设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种器件,但这些信息不应限于这些术语。这些术语仅用来将同一类型的器件彼此区分开。例如,在不脱离本发明范围的情况下,第一器件也可以被称为第二器件,类似地,第二器件也可以被称为第一器件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使得本发明的描述更清楚简洁,下面对本发明中的一些技术术语进行解释:
Hadoop:一种可进行分布式存储和计算的开源大数据平台。
Elasticsearch:由Java语言开发的一种分布式多用户的全文搜索引擎。
Kafka:由Scala和Java语言编写的高吞吐量、分布式发布订阅消息系统。
HDFS:一种分布式的文件系统。
Namenode:HDFS上的管理进程,维护文件系统的文件目录树、及文件目录的元信息和每个文件对应的数据块列表。
HBase:基于HDFS的分布式、面向列的开源数据库。
Region:HBase中分布式存储和负载均衡的最小单元。
HRegionServer:HBase集群中用于存放region的服务器节点。
HMaster:HBase的管理节点,负责Region的管理工作。
Zookeeper:一种分布式、开放源码的分布式应用程序协调服务组件。
Jquery:一种快速、简洁的前端开发框架。
Datatables:一种基于Jquery的表格插件。
Echarts:一种基于Javascript的图表库。
下面对本发明实施例的大数据平台监控方法进行更具体的描述,但不应以此为限。在一个实施例中,参看图1,示出了本发明实施例的一种大数据平台监控方法,所述大数据平台包括至少一个组件,该方法包括以下步骤:
S100:采集第一组件的当前状态信息;
S200:获取所述第一组件的历史状态信息;
S300:依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况。
参看图2,本发明实施例所涉及的大数据平台可以是一种基于Hadoop的大数据检索平台,部署在物理服务器集群上。所述大数据平台包括多个组件,如图2,这些组件包括:Elastcisearch集群、HBase集群、Kafka集群、HDFS集群、Zookeeper集群、用于资源管理的yarn集群等。其中,Elastcisearch集群可存储数据对象的主键信息,主键信息与HBase集群中数据对象的完整信息的关键词关联、用于对HBase集群中的信息进行快速分布式检索;HBase集群用于存储数据对象的完整信息及对应关键词。可以理解,大数据平台不限于此,也可以是其他大数据平台。
本发明实施例的大数据平台监控方法可应用于终端设备,该终端设备可支持B/S架构的Web客户端,可以包括采集层、存储层、控制层、视图层,各个层可以通过所需的软硬件来实现。采集层用于定时采集组件的当前状态信息;存储层用于存储采集的状态信息;控制层用于执行状态信息的采集控制、异常分析等处理;视图层用于展示具体的状态信息及监控的情况,实现人机交互。
步骤S100中,采集第一组件的当前状态信息。该当前状态信息是从第一组件中实时采集的,可以反映该第一组件当前运行的情况。
如图2的大数据平台,第一组件可以为Kafka集群、或HBase集群,当然也还可以是其他组件,比如Elastcisearch集群等,具体并不限制,当然,不同的组件所采集的当前状态信息可不同,相应的监控的异常情况也可根据组件而定。
采集的当前状态信息当然也可单独用来监控该第一组件的一些异常情况,但是有些异常是无法单纯依靠实时采集的当前状态信息来发现的,这些异常可能一时还不会导致该第一组件或该大数据平台宕机,但是随着大数据平台的继续运行,极有可能会出现更严重的错误或导致宕机,所以有必要将这些异常监控出来。
第一组件的当前状态信息的采集可以定期执行,采集周期可以依据第一组件具体而定。在每次采集完当前状态信息之后,可对当前状态信息进行一定统计,并在完成第一组件当前是否产生异常情况的监控后,将当前状态信息进行存储。每次采集的状态信息可以存储到与第一组件对应的监控文档中,这些监控文档可设置于大数据平台的组件中,比如可以设置在Elasticsearch集群中,具体不限。
步骤S200中,获取所述第一组件的历史状态信息。历史状态信息是之前采集并存储的状态信息,比如可以是上一次采集的状态信息,当然具体何时采集的不做限制,只要是之前采集的即可,过去的历史状态信息数量也不限。
可从已存储的状态信息中获取该历史状态信息,比如是从Elasticsearch集群的与第一组件对应的监控文档中获取该历史状态信息。在获取历史状态信息时,可以依据之前的指定时间点来监控文档中获取对应的状态信息,该指定时间点可以是采集对应状态信息的时间戳,或者,也可以状态信息自身携带的时间戳,具体不限。时间戳与状态信息对应地记录在监控文档中。
本实施例中,可定期执行已存储的状态信息的清理任务,比如每天凌晨一点执行一次,清理Elasticsearch集群的监控文档中距当前三个月前的数据记录,每次清理后监控文档中只保留最近三个月,可减少监控文档所需占用的存储空间。
步骤S300中,依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况。
所监控的异常情况可以为一种或两种以上,在监控出第一组件产生异常情况时,可对该异常情况进行提醒,以便及时解决大数据平台第一组件出现的异常情况。
具体可以将当前状态信息和历史状态信息进行比较,在当前状态信息和历史状态信息发生指定变化或者两者的关联信息满足指定条件时,确定第一组件出现相应异常情况。本实施例中,将第一组件的运行状态在时间上进行了关联,可及时监控出仅靠当前状态信息无法监控出的异常情况。
本发明实施例中,可通过第一组件的当前状态信息和历史状态信息来监控第一组件,依据当前状态信息和历史状态信息可将第一组件的运行状态进行时间上的关联,可及时监控出仅靠当前状态信息无法监控出的异常情况,有利于对大数据平台的当前运行状态做出准确判断,避免大数据平台在携带该异常情况的情况下继续运行导致更多异常发生。
在一个实施例中,上述方法流程可由大数据平台监控装置10执行,如图3所示,大数据平台监控装置10主要包含3个模块:当前信息采集模块100,历史信息获取模块200和异常监控模块300。当前信息采集模块100用于执行上述步骤S100,历史信息获取模块200用于执行上述步骤S200,异常监控模块300用于执行上述步骤S300。
在一个实施例中,所述第一组件为Kafka集群;
所述当前状态信息包括:Kafka集群中指定主题的所有分区当前已消费的第一消费数据量,及Kafka集群中指定主题的所有分区当前的堆积数据量;
所述历史状态信息包括:所述Kafka集群中指定主题的所有分区在之前的指定时间点的已消费的第二消费数据量;
参看图4,步骤S300中,依据所述当前状态信息和历史状态信息监控所述指定组件当前是否产生异常情况,包括以下步骤:
S301:计算第一消费数据量与第二消费数据量之差得到消费数据量差值;
S302:判断所述消费数据量差值是否小于第一设定值;
S303:若是,确定所述Kafka集群产生所述指定主题的消费回退异常情况;
S304:若否,若所述堆积数据量大于第二设定值,确定所述Kafka集群产生所述指定主题的数据堆积异常情况。
该第一设定值可以是小于等于0的数值,消费数据量差值小于第一设定值时,即指定主题的消费数据量差值为负值,说明在该时间点Kafka主题出现了消费回退,因而确定Kafka集群产生所述指定主题的消费回退异常情况。确定出消费回退异常情况后,可以进行对此异常情况进行提示,并可输出具体的回退信息。
消费回退的异常情况是依靠单个时刻下的状态信息所无法监控到的。在海量数据的环境下,如果Kafka集群本身产生消费回退,会严重影响大数据平台的使用。相关监控方式中,单纯对当前状态信息进行统计分析并不能实现对Kafka集群指定主题产生消费回退等情况的合理监控。
本发明实施例中,通过当前状态信息中的已消费数据量与所述历史状态信息中的已消费数据量,可确定出Kafka集群产生指定主题的消费回退的异常情况,可避免因消费回退未及时检查出而导致后续发生数据堆积等更严重的问题。
本实施例中,计算出消费数据量差值之后,还可进一步计算消费速度,首先,计算出当前距指定时间点的时长,接着,计算消费数据量差值与该时长之比得到消费速度。可以理解,该消费速度也同样可以用来监控是否产生所述指定主题的消费回退异常情况,即消费速度为负值时便可确定该消费回退异常情况(消费速度为负值,说明消费数据量差值为负值,两者是等价的)。
优选的,依据第一消费数据量和第二消费数据量统计出消费数据量差值和消费速度后,可将统计结果与当前状态信息记录至Kafka集群对应的监控文档中。
由于在Kafka集群产生所述指定主题的消费回退异常情况时,很有可能Kafka集群的指定主题发生了的数据堆积,因而在消费数据量差值不小于第一设定值时,执行步骤S304。
第二设定值可以是预先设置的指定主题未发生数据堆积情况下的数据量,具体数值不做限制。若所述堆积数据量大于第二设定值,说明指定主题的数据量过多,确定所述Kafka集群产生所述指定主题的数据堆积异常情况。确定出数据堆积异常情况后,可以对此异常情况进行提示,并可输出具体的数据堆积信息,比如可以提示发生该异常情况的指定主题的相关信息。
本实施例中,不仅可依据Kafka集群的当前状态信息(第一消费数据量)和历史状态信息(第二消费数据量)监控出Kafka集群产生所述指定主题的消费回退异常情况,在监控出消费回退异常情况时,还可依据当前的堆积数据量监控出该指定主题的数据堆积异常情况,依据多个维度的信息对Kafka集群实现多维度关联监控。
在一个实施例中,该方法进一步包括以下步骤:
S011:检查Kafka集群中指定主题是否已选举leader,若否,确定所述Kafka集群产生所述指定主题的主副本未选举的异常情况。
如果Kafka集群中某个分区所在的服务器出了问题,不可用,Kafka集群会从该分区的其他副本中选择一个作为新的leader,之后所有的读写就会转移到这个新的leader上。但是,有时候会出现主副本未选举的情况,导致Kafka集群指定主题的数据读写出现错误。
可以采集Kafka集群指定主题的副本状态,具体采集方式不限,如果副本状态指示未选举leader(比如采集的leader参数为-1),说明当前Kafka集群的指定主题选举异常,未选举出leader,确定所述Kafka集群产生所述指定主题的主副本未选举的异常情况。确定出指定主题的主副本未选举的异常情况后,可以对此异常情况进行提示,并可输出具体的指定主题的主副本未选举信息。
在一个实施例中,所述第一组件为Kafka集群;该方法进一步包括以下步骤:
S012:当未成功采集所述当前状态信息时,确定所述Kafka集群产生指定主题的分区无法消费的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述Kafka集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
S013:当接收到查询指令时,在第三组件中查找所述Kafka集群对应的监控文档中的目标状态信息;所述查询指令是用于指示查询所述Kafka集群对应的监控文档中记录的目标状态信息的指令;当未查找到时,确定所述第三组件产生未能正常查询的异常情况;当查找到时,从所述第三组件中获取关于所述第三组件的分片情况的分片参数,若所述分片参数指示分片异常,确定所述第三组件产生分片异常情况。
步骤S012和S013之间的顺序不限,可以步骤S012先于步骤S013执行,也可步骤S012后于步骤S013执行,也可两者一并执行,当然,也可仅执行两个步骤中的其中一个。
上述步骤S012中,如果采集不到Kafka指定主题的当前状态信息(消费记录信息),也即无法消费该指定主题中某个分区的数据,说明当前Kafka该指定主题存在不消费的分区,确定所述Kafka集群产生指定主题的分区无法消费的异常情况。确定出指定主题的分区无法消费的异常情况后,可以对此异常情况进行提示,并可输出具体的指定主题无法消费的分区信息。
第二组件比如可以是Zookeeper集群,Zookeeper集群具有所述Kafka集群通信所需连接的端口。Kafka集群的分区不消费,说明Kafka集群中可能存在无法与Zookeeper集群端口连接的节点。
因而,步骤S012中,在确定出指定主题的分区无法消费的异常情况时,获取Zookeeper集群的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定Zookeeper集群产生已连接端口数量过多的异常情况。确定出Zookeeper集群产生已连接端口数量过多的异常情况后,可以对此异常情况进行提示,并可输出具体的连接参数信息。
该Zookeeper集群的连接参数可以实时从Zookeeper集群上采集获得,即该连接参数指示第二组件当前处于连接状态的端口的数量;或者,该Zookeeper集群的连接参数从与所述Zookeeper集群对应的存储有历史连接参数的监控文档中获取,即之前的指定时刻处于连接状态的端口的数量。
本实施例中,在监控到指定主题存在分区无法消费的异常情况时,还可依据获取的连接参数监控出Zookeeper集群的处于连接状态的端口的数量过多的异常情况,实现了Kafka集群与Zookeeper集群的关联监控,提高监控效率。
上述步骤S013中,第三组件比如可以是Elasticsearch集群,Elasticsearch集群中可以保存有与Kafka集群对应的监控文档,该监控文档中记录了Kafka集群的历史状态信息。
当接收到查询指令时,在Elasticsearch集群中查找所述Kafka集群对应的监控文档中的目标状态信息,该目标状态信息是何时的状态信息并不作为限制。依据通过Elasticsearch集群的聚类查询方式在Elasticsearch集群中查找目标状态信息。该查询指令可以是外部输入的,或者定时触发的,或者因执行其他任务而触发的,具体不限。
当未查找到时,说明Elasticsearch集群的查询功能异常,无法在分布式环境下进行聚类查询,确定所述Elasticsearch集群产生未能正常查询的异常情况。可以对该异常情况进行提示。
当查找到时,说明Elasticsearch集群的查询功能正常,采集指示Elasticsearch集群的当前分片情况的分片参数,比如可通过Elasticsearch集群的webservice端口获取该分片参数,若所述分片参数指示分片异常(分片参数比如被标记为异常状态red),确定所述第三组件产生分片异常情况。可以对该异常情况进行提示。
具体的,通过Elasticsearch的聚类查询方式查找Kafka集群的目标状态信息,目标状态信息比如是同一主题在同一时间点下全部分区的状态信息。获取到目标状态信息后,通过时间点和主题对状态信息进行聚类合并,统计出Kafka集群该主题全部分区在该时间点的状态信息、消费数据量差值以及消费速度等信息,在前端界面以Datatables表格控件的方式进行分页展示。
如果统计出的信息能够通过前端Datatables表格控件进行展示,则说明Elasticsearch集群的查询功能正常,但是,Elasticsearch集群中还可能存在其他问题,比如分片异常情况,本实施例中,依据分片参数可监控出分片异常的情况。
本实施例中,在Elasticsearch集群产生未能正常查询的异常情况时,还可依据采集的分片参数监控出Elasticsearch集群的产生分片异常情况,实现了Kafka集群与Elasticsearch集群的关联监控,提高监控效率。
在一个实施例中,所述第一组件为HBase集群;
所述当前状态信息包括:所述HBase集群所有节点中当前的第一region数量、所有节点中region当前所存储数据的第一数据总量;
所述历史状态信息包括:所述HBase集群所有节点中在之前的指定时间点的第二region数量、及所有节点中region在所述指定时间点所存储数据的第二数据总量;
步骤S300中,依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况,包括以下步骤:
S311:计算所述第一region数量与第二region数量之差得到region数量差值,判断所述region数量差值是否大于第四设定值,若是,确定所述HBase集群产生region无限分裂的异常情况;
和/或,
S312:计算所述第一数据总量与所述第二数据总量之差得到数据总量差值,判断所述数据总量差值是否小于第五设定值,若是,确定所述HBase集群产生region数据丢失的异常情况。
步骤S311和S312中,可以两个都执行,也可仅执行两个步骤中的其中一个。参看图5,步骤S311和S312都执行时,可先执行步骤S311,再执行步骤S312。
上述步骤S311中,该第四设定值是预设的数值,为HBase集群所有节点中region的数量在一定时间间隔内的合理增长量,具体数值不限。Region可以分裂,但是在短时间内发生暴增就说明存在无限分裂的问题。
计算第一region数量与第二region数量之差得到region数量差值,判断所述region数量差值是否大于第四设定值,若是,即HBase集群所有节点中region的数量在短时间内出现非正常的暴增现象,说明发生了region无限分裂,确定所述HBase集群产生region无限分裂的异常情况。
确定所述HBase集群产生region无限分裂的异常情况时,需要及时关闭HBase服务,可以进行异常告警,提示region出现了无限分裂的异常情况。
上述步骤S312中,该第五设定值是预设的数值,可以是HBase集群所有节点中region在一定时间段内所存储数据的合理增长量,具体数值不限。
计算所述第一数据总量与所述第二数据总量之差得到数据总量差值,判断所述数据总量差值是否小于第五设定值,若是,即出现region占用HDFS磁盘空间大量减少的情况,确定所述HBase集群产生region数据丢失的异常情况。
HBase集群所有节点中region通过HDFS来实现数据的存储,第一数据总量可以是当前采集的所有region在HDFS中的磁盘使用量,第二数据总量可以是指定时间点的所有region在HDFS中的磁盘使用量,在当前该磁盘使用量出现大量减少时,说明HBase集群产生region数据丢失的异常情况。
确定所述HBase集群产生region数据丢失的异常情况时,可进行异常提示,同时,可查看HBase集群对应的监控文档中各节点的状态信息,确认HBase集群各节点的region具体丢失信息。
本实施例中,可依据HBase集群的当前状态信息和历史状态信息监控出HBase集群产生region无限分裂的异常情况、region数据丢失的异常情况,从多个维度实现对HBase集群的异常监控。
在一个实施例中,该方法进一步包括以下步骤:
S401:采集HBase集群各节点的当前region数量;
S402:计算当前region数量最多的节点与当前region数量最少的节点的region数量之差得到节点region数量差值;
S403:判断节点region数量差值是否大于第六设定值,若是,确定所述HBase集群产生数据倾斜的异常情况。
该第六设定值是预设的数值,为HBase集群各个节点的region数量的合理差值,具体数值不限。HBase集群各节点的当前region数量可以通过HBase集群中HMaster节点的60010端口采集到,可以通过爬取界面的方式采集。
若节点region数量差值大于第六设定值,即HBase集群各个节点的region数量相差过多,则确定所述HBase集群产生数据倾斜的异常情况,可进行相关异常提示。
本实施例中,进一步对HBase集群产生数据倾斜的异常情况进行监控,增加HBase集群的监控维度,使得大数据平台的监控更全面。
在一个实施例中,所述第一组件为HBase集群;
步骤S100之前,该方法还进一步包括以下步骤:
S021:采集所述HBase集群当前的端口连接状态;若所述端口连接状态指示端口连接异常,确定所述HBase集群产生端口连接异常的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述HBase集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
S022:采集所述HBase集群的各服务器节点HRegionServer当前的节点状态参数,若所述节点状态参数指示存在失效的HRegionServer,确定所述HBase集群产生HRegionServer不可用的异常情况。
步骤S021和S022之间的顺序不限,可以步骤S021先于步骤S022执行,也可步骤S021后于步骤S022执行,也可两者一并执行,当然,也可仅执行两个步骤中的其中一个。
步骤S021、S022在步骤S100之前执行,如此,可以在监控出第二组件产生已连接端口数量过多的异常情况和/或HBase集群产生HRegionServer不可用的异常情况时,先进行异常的提示与处理,在解决之后再进行当前状态信息的采集。
上述步骤S021中,第二组件比如可以是Zookeeper集群,Zookeeper集群具有所述HBase集群通信所需连接的端口。HBase集群当前的端口连接异常,说明HBase集群中可能存在无法与Zookeeper集群端口连接的节点。
采集所述HBase集群当前的端口连接状态,端口连接状态可指示HBase集群当前是否能和Zookeeper正常建立连接,若所述端口连接状态指示端口连接异常,可以进行异常提示,同时,说明Zookeeper集群的连接情况存在异常。
因而,步骤S021中,在确定出HBase集群产生端口连接异常的异常情况时,获取Zookeeper集群的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定Zookeeper集群产生已连接端口数量过多的异常情况。确定出Zookeeper集群产生已连接端口数量过多的异常情况后,可以对此异常情况进行提示,并可输出具体的连接参数信息。
该Zookeeper集群的连接参数可以实时从Zookeeper集群上采集获得,即该连接参数指示第二组件当前处于连接状态的端口的数量;或者,该Zookeeper集群的连接参数从与所述Zookeeper集群对应的存储有历史连接参数的监控文档中获取,即之前的指定时刻处于连接状态的端口的数量。
本实施例中,在监控到HBase集群产生端口连接异常的异常情况时,还可依据获取的连接参数监控出Zookeeper集群的处于连接状态的端口的数量过多的异常情况,实现了HBase集群与Zookeeper集群的关联监控,提高监控效率。
上述步骤S022中,采集所述HBase集群的各服务器节点HRegionServer当前的节点状态参数,在HBase集群中,可能存在几个生效状态的HRegionServer和几个失效状态的HRegionServer,若所述节点状态参数指示存在失效的HRegionServer,说明存在处于失效(“Dead”)状态的HBaseRegionServer节点,确定所述HBase集群产生HRegionServer不可用的异常情况,可进行HRegionServer异常的提示。
监控出HBase集群产生HRegionServer不可用的异常情况时,还可检查HDFS用量是否存在大量减少的情况,因为HRegionServer处于失效状态不一定会导致region丢失,可能重启服务就可以解决问题,所以此时如果HDFS的用量没有出现大量减少的情况,不给出region丢失的异常提示信息,如果出现大量减少,可以给出region丢失的异常提示信息。
本实施例中,进一步对HBase集群产生HRegionServer不可用的异常情况进行监控,增加HBase集群的监控维度,使得大数据平台的监控更全面。
在一个实施例中,所述第一组件为HBase集群;
所述步骤S100中,采集第一组件的当前状态信息进一步包括:
S101:采集所述HBase集群当前的region健康状态;
S102:若所述健康状态指示所述HBase集群中存在失效region,确定所述HBase集群产生region失效的异常情况;
S103:若所述健康状态指示所述HBase集群中不存在失效region,采集所述HBase集群的当前状态信息。
如果HBase的健康状态存在异常,比如存在掉线、失败或者异常状态的region,则采集健康状态会指示所述HBase集群中存在失效region,确定所述HBase集群产生region失效的异常情况,可以进行异常提示,同时可触发常用的HBase修复命令来执行健康状态的修复。
本实施例中,进一步对HBase集群产生region失效的异常情况进行监控,增加HBase集群的监控维度,使得大数据平台的监控更全面。
在一个实施例中,可以定期采集并存储Zookeeper集群的状态信息,该状态信息包括连接参数,可在前端以Echarts折线图的方式展示Zookeeper集群中各个节点在指定时间段内的连接参数,如果折线图中显示Zookeeper集群中端口连接数量出现不受控制的持续增加情况,说明Zookeeper集群产生已连接端口数量过多的异常情况。
在一个实施例中,可以定期采集并存储HDFS集群的状态信息,该状态信息包括磁盘用量信息,可在前端以Echarts折线图的方式展示HDFS集群在指定时间段内磁盘用量信息,如果折线图中显示HDFS集群的磁盘用量信息在某一时间点出现突然减少很多的情况,则极有可能出现HBase集群的region大量丢失情况。
采集时,可依据磁盘用量信息判断是否存在某一目录的磁盘用量达到90%以上,若存在,可能是大数据存储数据量过高的原因,可进行HDFS集群产生被占用磁盘空间过大的异常提示。
在一个实施例中,采集的各个组件的状态信息可记录在与组件对应的监控文档中,各个组件对应的监控文档可存储在所述大数据平台的Elasticsearch集群中。具体的:
HDFS集群的状态信息可以每五分钟采集一次,状态信息包括HDFS集群的磁盘总用量信息、磁盘总用量信息中的已使用总量信息、磁盘总用量信息中的剩余总量信息等。采集时,可先判断HDFS集群中namenode的主备信息,从namenode的主节点上获取这些HDFS用量信息。
HBase集群的状态信息中region数量可以每五分钟采集一次,从HBase集群中region数量,执行相应的处理比如监控、统计分析后,将region数量记录至HBase集群对应的监控文档中。
HBase集群的状态信息中region所存储数据的数据总量可以每天凌晨零点采集一次,依据获取region在HDFS上的存储路径统计出region在HDFS上占用磁盘空间的大小,即该数据总量。在数据量比较大的环境下,统计region数据总量有些耗时,为保证监控不影响正常的大数据业务,该定时任务每天只在较少人操作大数据的情况下执行一次采集。数据采集好并执行相应的处理后,记录至HBase集群对应的监控文档中。
Kafka集群的状态信息可以每五分钟采集一次,统计出Kafka集群每一个分区的单位时间内消费数据量和消费速度作为状态信息的一部分,并进行相应的处理后,将状态信息分别记录至Kafka集群对应的监控文档中。
Zookeeper集群的状态信息包括端口连接数量信息,可以每五分钟采集一次。数据采集好并执行相应的处理后,记录至Zookeeper集群对应的监控文档中。
直接采用大数据平台的Elasticsearch集群进行存储,避免了将监控信息存储到大数据集群各个节点上并单独获取、统计的耗时。Elasticsearch集群中,可建立一个监控文档索引,监控文档索引与不同组件的监控文档对应,每一个监控文档中的每条记录可以包括状态信息及对应的采集时间戳,该采集时间戳可用于查找所需的状态信息。监控文档存储记录保存三个月,保证监控记录数据量很小,不影响大数据平台正常运行。
在一个实施例中,步骤S200中,获取所述第一组件的历史状态信息,包括以下步骤:
S201:从所述Elasticsearch集群中查找与所述第一组件对应的监控文档索引;
S202:从所述Elasticsearch集群中获取所述监控文档索引对应的所述监控文档中历史指定时刻运行状态相关的状态信息。
当然,获取第一组件的历史状态信息的方式不限于此。
本发明还提供一种大数据平台监控装置,在一个实施例中,所述大数据平台包括至少一个组件,参看图3,该大数据平台监控装置10包括:
当前信息采集模块100,用于采集第一组件的当前状态信息;
历史信息获取模块200,用于获取所述第一组件的历史状态信息;
异常监控模块300,用于依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况。
在一个实施例中,所述第一组件为Kafka集群;
所述当前状态信息包括:Kafka集群中指定主题的所有分区当前已消费的第一消费数据量,及Kafka集群中指定主题的所有分区当前的堆积数据量;
所述历史状态信息包括:所述Kafka集群中指定主题的所有分区在之前的指定时间点的已消费的第二消费数据量;
所述异常监控模块包括:
消费数据量差值计算单元,用于计算第一消费数据量与第二消费数据量之差得到消费数据量差值;
消费数据量差值判断单元,用于判断所述消费数据量差值是否小于第一设定值;
消费回退监控单元,用于若是,确定所述Kafka集群产生所述指定主题的消费回退异常情况;
数据堆积监控单元,用于若否,若所述堆积数据量大于第二设定值,确定所述Kafka集群产生所述指定主题的数据堆积异常情况。
在一个实施例中,该装置进一步包括:
leader监控模块,用于检查Kafka集群中指定主题是否已选举leader,若否,确定所述Kafka集群产生所述指定主题的主副本未选举的异常情况。
在一个实施例中,所述第一组件为Kafka集群;该装置进一步包括:
第一关联监控模块,用于当未成功采集所述当前状态信息时,确定所述Kafka集群产生指定主题的分区无法消费的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述Kafka集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
第二关联监控模块,用于当接收到查询指令时,在第三组件中查找所述Kafka集群对应的监控文档中的目标状态信息;所述查询指令是用于指示查询所述Kafka集群对应的监控文档中记录的目标状态信息的指令;当未查找到时,确定所述第三组件产生未能正常查询的异常情况;当查找到时,从所述第三组件中获取关于所述第三组件的分片情况的分片参数,若所述分片参数指示分片异常,确定所述第三组件产生分片异常情况。
在一个实施例中,所述第一组件为HBase集群;
所述当前状态信息包括:所述HBase集群所有节点中当前的第一region数量、所有节点中region当前所存储数据的第一数据总量;
所述历史状态信息包括:所述HBase集群所有节点中在之前的指定时间点的第二region数量、及所有节点中region在所述指定时间点所存储数据的第二数据总量;
所述异常监控模块包括:
无限分裂监控单元,用于计算所述第一region数量与第二region数量之差得到region数量差值,判断所述region数量差值是否大于第四设定值,若是,确定所述HBase集群产生region无限分裂的异常情况;
和/或,
数据丢失监控单元,用于计算所述第一数据总量与所述第二数据总量之差得到数据总量差值,判断所述数据总量差值是否小于第五设定值,若是,确定所述HBase集群产生region数据丢失的异常情况。
在一个实施例中,该装置进一步包括:
当前region数量采集模块,用于采集HBase集群各节点的当前region数量;
节点region数量差值计算模块,用于计算当前region数量最多的节点与当前region数量最少的节点的region数量之差得到节点region数量差值;
数据倾斜监控模块,用于判断节点region数量差值是否大于第六设定值,若是,确定所述HBase集群产生数据倾斜的异常情况。
在一个实施例中,所述第一组件为HBase集群;
所述当前信息采集模块之前,该装置还进一步包括:
第三关联监控模块,用于采集所述HBase集群当前的端口连接状态;若所述端口连接状态指示端口连接异常,确定所述HBase集群产生端口连接异常的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述HBase集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
节点状态监控单元,用于采集所述HBase集群的各服务器节点HRegionServer当前的节点状态参数,若所述节点状态参数指示存在失效的HRegionServer,确定所述HBase集群产生HRegionServer不可用的异常情况。
在一个实施例中,所述第一组件为HBase集群;
所述当前信息采集模块进一步包括:
region健康状态单元,用于采集所述HBase集群当前的region健康状态;
region失效监控单元,用于若所述健康状态指示所述HBase集群中存在失效region,确定所述HBase集群产生region失效的异常情况;
当前信息采集单元,用于若所述健康状态指示所述HBase集群中不存在失效region,采集所述HBase集群的当前状态信息。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
本发明第三方面一种电子设备,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如前述实施例所述的大数据平台监控方法。
本发明大数据平台监控装置的实施例可以应用在电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,图6是本发明根据一示例性实施例示出的大数据平台监控装置10所在电子设备的一种硬件结构图,除了图6所示的处理器510、内存530、网络接口520、以及非易失性存储器540之外,实施例中装置10所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
本发明第四方面一种机器可读存储介质,其上存储有程序,该程序被处理器执行时,实现如前述实施例所述的大数据平台监控方法。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。机器可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。机器可读存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种大数据平台监控方法,应用于终端设备,所述终端设备支持B/S架构的Web客户端,所述大数据平台包括至少一个组件,其特征在于,该方法包括:
采集第一组件的当前状态信息;
获取所述第一组件的历史状态信息;
依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况;
当所述第一组件为Kafka集群时,所述方法还包括:
当未成功采集所述当前状态信息时,确定所述Kafka集群产生指定主题的分区无法消费的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述Kafka集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
当接收到查询指令时,在第三组件中查找所述Kafka集群对应的监控文档中的目标状态信息;所述查询指令是用于指示查询所述Kafka集群对应的监控文档中记录的目标状态信息的指令;当未查找到时,确定所述第三组件产生未能正常查询的异常情况;当查找到时,从所述第三组件中获取关于所述第三组件的分片情况的分片参数,若所述分片参数指示分片异常,确定所述第三组件产生分片异常情况。
2.如权利要求1所述的大数据平台监控方法,其特征在于,所述第一组件为Kafka集群;
所述当前状态信息包括:Kafka集群中指定主题的所有分区当前已消费的第一消费数据量,及Kafka集群中指定主题的所有分区当前的堆积数据量;
所述历史状态信息包括:所述Kafka集群中指定主题的所有分区在之前的指定时间点的已消费的第二消费数据量;
依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况,包括:
计算第一消费数据量与第二消费数据量之差得到消费数据量差值;
判断所述消费数据量差值是否小于第一设定值;
若是,确定所述Kafka集群产生所述指定主题的消费回退异常情况;
若否,若所述堆积数据量大于第二设定值,确定所述Kafka集群产生所述指定主题的数据堆积异常情况。
3.如权利要求2所述的大数据平台监控方法,其特征在于,该方法进一步包括:
检查Kafka集群中指定主题是否已选举leader,若否,确定所述Kafka集群产生所述指定主题的主副本未选举的异常情况。
4.如权利要求1所述的大数据平台监控方法,其特征在于,所述第一组件为HBase集群;
所述当前状态信息包括:所述HBase集群所有节点中当前的第一region数量、所有节点中region当前所存储数据的第一数据总量;
所述历史状态信息包括:所述HBase集群所有节点中在之前的指定时间点的第二region数量、所有节点中region在所述指定时间点所存储数据的第二数据总量;
依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况,包括:
计算所述第一region数量与第二region数量之差得到region数量差值,判断所述region数量差值是否大于第四设定值,若是,确定所述HBase集群产生region无限分裂的异常情况;
和/或,
计算所述第一数据总量与所述第二数据总量之差得到数据总量差值,判断所述数据总量差值是否小于第五设定值,若是,确定所述HBase集群产生region数据丢失的异常情况。
5.如权利要求4所述的大数据平台监控方法,其特征在于,该方法进一步包括:
采集HBase集群各节点的当前region数量;
计算当前region数量最多的节点与当前region数量最少的节点的region数量之差得到节点region数量差值;
判断节点region数量差值是否大于第六设定值,若是,确定所述HBase集群产生数据倾斜的异常情况。
6.如权利要求1所述的大数据平台监控方法,其特征在于,当所述第一组件为HBase集群时;
所述采集第一组件的当前状态信息之前,该方法还进一步包括:
采集所述HBase集群当前的端口连接状态;若所述端口连接状态指示端口连接异常,确定所述HBase集群产生端口连接异常的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述HBase集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
采集所述HBase集群的各服务器节点HRegionServer当前的节点状态参数,若所述节点状态参数指示存在失效的HRegionServer,确定所述HBase集群产生HRegionServer不可用的异常情况。
7.如权利要求1所述的大数据平台监控方法,其特征在于,所述第一组件为HBase集群;
所述采集第一组件的当前状态信息进一步包括:
采集所述HBase集群当前的region健康状态;
若所述健康状态指示所述HBase集群中存在失效region,确定所述HBase 集群产生region失效的异常情况;
若所述健康状态指示所述HBase集群中不存在失效region,采集所述HBase集群的当前状态信息。
8.一种大数据平台监控装置,应用于终端设备,所述终端设备支持B/S架构的Web客户端,所述大数据平台包括至少一个组件,其特征在于,该装置包括:
当前信息采集模块,用于采集第一组件的当前状态信息;
历史信息获取模块,用于获取所述第一组件的历史状态信息;
异常监控模块,用于依据所述当前状态信息和历史状态信息监控所述第一组件当前是否产生异常情况;
当所述第一组件为Kafka集群时,所述装置还包括:
第一关联监控模块,用于当未成功采集所述当前状态信息时,确定所述Kafka集群产生指定主题的分区无法消费的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述Kafka集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
第二关联监控模块,用于当所述第一组件为Kafka集群时,若接收到查询指令,在第三组件中查找所述Kafka集群对应的监控文档中的目标状态信息;所述查询指令是用于指示查询所述Kafka集群对应的监控文档中记录的目标状态信息的指令;当未查找到时,确定所述第三组件产生未能正常查询的异常情况;当查找到时,从所述第三组件中获取关于所述第三组件的分片情况的分片参数,若所述分片参数指示分片异常,确定所述第三组件产生分片异常情况。
9.如权利要求8所述的大数据平台监控装置,其特征在于,所述第一组件为Kafka集群;
所述当前状态信息包括:Kafka集群中指定主题的所有分区当前已消费的第一消费数据量,及Kafka集群中指定主题的所有分区当前的堆积数据量;
所述历史状态信息包括:所述Kafka集群中指定主题的所有分区在之前的指定时间点的已消费的第二消费数据量;
所述异常监控模块包括:
消费数据量差值计算单元,用于计算第一消费数据量与第二消费数据量之差得到消费数据量差值;
消费数据量差值判断单元,用于判断所述消费数据量差值是否小于第一设定值;
消费回退监控单元,用于若是,确定所述Kafka集群产生所述指定主题的消费回退异常情况;
数据堆积监控单元,用于若否,若所述堆积数据量大于第二设定值,确定所述Kafka集群产生所述指定主题的数据堆积异常情况。
10.如权利要求9所述的大数据平台监控装置,其特征在于,该装置进一步包括:
leader监控模块,用于检查Kafka集群中指定主题是否已选举leader,若否,确定所述Kafka集群产生所述指定主题的主副本未选举的异常情况。
11.如权利要求8所述的大数据平台监控装置,其特征在于,所述第一组件为HBase集群;
所述当前状态信息包括:所述HBase集群所有节点中当前的第一region数量、所有节点中region当前所存储数据的第一数据总量;
所述历史状态信息包括:所述HBase集群所有节点中在之前的指定时间点的第二region数量、所有节点中region在所述指定时间点所存储数据的第二数据总量;
所述异常监控模块包括:
无限分裂监控单元,用于计算所述第一region数量与第二region数量之差得到region数量差值,判断所述region数量差值是否大于第四设定值,若是,确定所述HBase集群产生region无限分裂的异常情况;
和/或,
数据丢失监控单元,用于计算所述第一数据总量与所述第二数据总量之差得到数据总量差值,判断所述数据总量差值是否小于第五设定值,若是,确定所述HBase集群产生region数据丢失的异常情况。
12.如权利要求11所述的大数据平台监控装置,其特征在于,该装置进一步包括:
当前region数量采集模块,用于采集HBase集群各节点的当前region数量;
节点region数量差值计算模块,用于计算当前region数量最多的节点与当前region数量最少的节点的region数量之差得到节点region数量差值;
数据倾斜监控模块,用于判断节点region数量差值是否大于第六设定值,若是,确定所述HBase集群产生数据倾斜的异常情况。
13.如权利要求8所述的大数据平台监控装置,其特征在于,当所述第一组件为HBase集群时;
该装置还进一步包括:
第三关联监控模块,用于所述当前信息采集模块采集第一组件的当前状态信息之前,采集所述HBase集群当前的端口连接状态;若所述端口连接状态指示端口连接异常,确定所述HBase集群产生端口连接异常的异常情况,并获取第二组件的连接参数,判断获取的所述连接参数是否大于第三设定值,若是,确定所述第二组件产生已连接端口数量过多的异常情况,其中,所述第二组件具有所述HBase集群通信所需连接的端口,所述连接参数包括:第二组件当前处于连接状态的端口的数量,或者,之前的指定时刻处于连接状态的端口的数量;
和/或,
节点状态监控单元,用于所述当前信息采集模块采集第一组件的当前状态信息之前,采集所述HBase集群的各服务器节点HRegionServer当前的节点状态参数,若所述节点状态参数指示存在失效的HRegionServer,确定所述HBase集群产生HRegionServer不可用的异常情况。
14.如权利要求8所述的大数据平台监控装置,其特征在于,所述第一组件为HBase集群;
所述当前信息采集模块进一步包括:
region健康状态单元,用于采集所述HBase集群当前的region健康状态;
region失效监控单元,用于若所述健康状态指示所述HBase集群中存在失效region,确定所述HBase集群产生region失效的异常情况;
当前信息采集单元,用于若所述健康状态指示所述HBase集群中不存在失效region,采集所述HBase集群的当前状态信息。
15.一种电子设备,其特征在于,包括处理器及存储器;所述存储器存储有可被处理器调用的程序;其中,所述处理器执行所述程序时,实现如权利要求1-7中任意一项所述的大数据平台监控方法。
16.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现如权利要求1-7中任意一项所述的大数据平台监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811508442.1A CN111314158B (zh) | 2018-12-11 | 2018-12-11 | 大数据平台监控方法、装置及设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811508442.1A CN111314158B (zh) | 2018-12-11 | 2018-12-11 | 大数据平台监控方法、装置及设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314158A CN111314158A (zh) | 2020-06-19 |
CN111314158B true CN111314158B (zh) | 2022-05-31 |
Family
ID=71150459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811508442.1A Active CN111314158B (zh) | 2018-12-11 | 2018-12-11 | 大数据平台监控方法、装置及设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314158B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035312B (zh) * | 2020-07-22 | 2023-05-26 | 大箴(杭州)科技有限公司 | 一种检测Kafka集群中Leader进程的可用状态方法及装置 |
CN112000449B (zh) * | 2020-07-27 | 2023-03-31 | 新华三大数据技术有限公司 | 一种异步任务处理方法及系统 |
CN112749305B (zh) * | 2020-12-31 | 2023-05-16 | 广州风创科技有限公司 | 基于人工智能的监测数据管理方法、系统、设备及介质 |
CN115328724B (zh) * | 2022-07-18 | 2023-04-11 | 华中科技大学同济医学院附属协和医院 | 一种基于大数据平台的监测方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021070A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 服务器集群监测方法及装置 |
CN106257474A (zh) * | 2015-06-16 | 2016-12-28 | 国际商业机器公司 | 空气污染异常定位机制 |
CN106789885A (zh) * | 2016-11-17 | 2017-05-31 | 国家电网公司 | 一种大数据环境下用户异常行为检测分析方法 |
CN106844290A (zh) * | 2015-12-03 | 2017-06-13 | 南京南瑞继保电气有限公司 | 一种基于曲线拟合的时序数据处理方法 |
CN107864063A (zh) * | 2017-12-12 | 2018-03-30 | 北京奇艺世纪科技有限公司 | 一种异常监控方法、装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102464390B1 (ko) * | 2016-10-24 | 2022-11-04 | 삼성에스디에스 주식회사 | 행위 분석 기반 이상 감지 방법 및 장치 |
-
2018
- 2018-12-11 CN CN201811508442.1A patent/CN111314158B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106257474A (zh) * | 2015-06-16 | 2016-12-28 | 国际商业机器公司 | 空气污染异常定位机制 |
CN106844290A (zh) * | 2015-12-03 | 2017-06-13 | 南京南瑞继保电气有限公司 | 一种基于曲线拟合的时序数据处理方法 |
CN106021070A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 服务器集群监测方法及装置 |
CN106789885A (zh) * | 2016-11-17 | 2017-05-31 | 国家电网公司 | 一种大数据环境下用户异常行为检测分析方法 |
CN107864063A (zh) * | 2017-12-12 | 2018-03-30 | 北京奇艺世纪科技有限公司 | 一种异常监控方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于Hadoop平台的监控和行为审计关键技术研究;王珂;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111314158A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314158B (zh) | 大数据平台监控方法、装置及设备、介质 | |
CN110661659B (zh) | 一种告警方法、装置、系统及电子设备 | |
US20170185468A1 (en) | Creating A Correlation Rule Defining A Relationship Between Event Types | |
CN110058977B (zh) | 基于流式处理的监控指标异常检测方法、装置及设备 | |
EP3425524A1 (en) | Cloud platform-based client application data calculation method and device | |
US20110320228A1 (en) | Automated Generation of Markov Chains for Use in Information Technology | |
US20100131952A1 (en) | Assistance In Performing Action Responsive To Detected Event | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
JP2020057416A (ja) | 分散データベースにおけるデータブロックを処理する方法およびデバイス | |
CN111046022A (zh) | 一种基于大数据技术的数据库审计方法 | |
CN109062769B (zh) | It系统性能风险趋势预测的方法、装置和设备 | |
KR20150118963A (ko) | 큐 모니터링 및 시각화 | |
CN113835918A (zh) | 一种服务器故障分析方法及装置 | |
CN111522870B (zh) | 数据库访问方法、中间件和可读存储介质 | |
CN111414355A (zh) | 一种海上风电场数据监测存储系统及方法、装置 | |
CN113220530B (zh) | 数据质量监控方法及平台 | |
CN113472881B (zh) | 在线终端设备的统计方法和装置 | |
CN115858499A (zh) | 一种数据库分区处理方法、装置、计算机设备和存储介质 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
JP2016057658A (ja) | 障害情報管理システムおよび障害情報管理方法 | |
CN115269519A (zh) | 一种日志检测方法、装置及电子设备 | |
US20220035695A1 (en) | Computer unit, computer system and event management method | |
CN112817987A (zh) | 访问分布式存储集群的方法及装置、设备、存储介质 | |
CN112433888A (zh) | 数据处理方法及装置、存储介质和电子设备 | |
CN111274316A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |