CN113468019A - 基于Hbase的指标监控方法、装置、设备及存储介质 - Google Patents
基于Hbase的指标监控方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113468019A CN113468019A CN202110721484.9A CN202110721484A CN113468019A CN 113468019 A CN113468019 A CN 113468019A CN 202110721484 A CN202110721484 A CN 202110721484A CN 113468019 A CN113468019 A CN 113468019A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- index data
- hbase
- aggregation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及大数据领域,公开了一种基于Hbase的指标监控方法、装置、设备及存储介质。本方法包括:采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种基于Hbase的指标监控方法、装置、设备及存储介质。
背景技术
当数据量比较少的时候,我们可以基于excel的形式来存储,查询,以及计算,使用起来也是得心应手,能帮助我们提高工作效率。然而,随着社会的发展,各行各业所产生的数据量越来越多,传统的excel已经无法满足我们的需求,无论是存储还是查询都会比较麻烦,效率低下,难以维护,并且在安全方面也无法得到保障。这个时候我们就需要借用数据库来管理我们的数据。例如应用范围很广的关系型数据库mysql,可以满足我们对数据的有效存储,方便共享以及安全控制等需求。
随着互联网行业的发展,我们要处理的数据量已经达到了TB甚至PB级别。这个时候mysql使用起来也不再那么高效了。基于分布式的概念,我们就想到了分布式的Nosql数据库,比如hbase等。Hbase在存储TB甚至PB级别数据的同时,也能够提供相对来说很快的访问速度。为了提高我们hbase集群的稳定性和健壮性,因此,对hbase集群的关键指标进行监控就成了本领域技术人员需要解决的技术问题。
发明内容
本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,解决了hbase集群稳定性差的技术问题。
本发明第一方面提供了一种基于Hbase的指标监控方法,包括:通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据;根据用户需求构建基于Flink构架的计算模型,通过所述计算模型计算与所述实时指标数据对应的离线指标数据;通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;对所述多条数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测。
可选地,在本发明第一方面的第一种实现方式中,在所述通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据之前,包括:解析服务器发出的针对phoenix客户端的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;当所述信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项。
可选地,在本发明第一方面的第二种实现方式中,在所述通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据之前,还包括:在系统的存储介质中建立Kafka消息队列的存储结构和相应的存储空间。
可选地,在本发明第一方面的第三种实现方式中,所述通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据包括:对各所述时间序列指标数据中的各个指标数据进行数据清洗,获得多个有效指标数据;在预置聚合规则库中读取与多个所述有效指标数据匹配的预设聚合规则,按照所述预设聚合规则中的聚合维度,构建各所述有效指标数据对应的聚合模型以及所述聚合模型中的用于聚合计算的聚合键;对各所述聚合模型对应的有效指标数据按照聚合键进行数据分区,并对数据分区后的具有相同聚合键的所述有效指标数据进行聚合计算,得到聚合指标数据,其中,所述聚合指标数据为实时指标数据。
可选地,在本发明第一方面的第四种实现方式中,所述对各所述时间序列指标数据中的各个指标数据进行数据清洗,获得多个有效指标数据包括:将各所述时间序列指标数据中的各个指标数据转换为标准指标数据;根据预设的白名单和黑名单,对各所述标准指标数据进行数据清洗,获得多个有效指标数据。
可选地,在本发明第一方面的第五种实现方式中,所述通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流包括:对Kafka中服务器日志数据进行解析、组装、转换,得到标准报文格式的服务器日志数据;对所述标准报文格式的目标服务器日志数据进行数据预处理,得到目标服务器日志数据,其中,所述数据预处理包括修正错误数据和补全数据、数据转化和数据去噪;根据不同数据类别对所述目标服务器日志数据进行划分,得到多条数据流,其中,每条数据流代表一种类型的数据。
可选地,在本发明第一方面的第六种实现方式中,所述构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测包括:构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库;对所述关键指标数据进行数据标准化处理,并将标准化处理后的所述关键指标数据存储到ClickHouse数据库的关键绩效指标表中;根据配置的监控指标要素查找所述关键绩效指标表中的所述关键指标数据,将查找到的所述关键指标数据进行标准化展示;根据所述关键指标数据,对Hbase集群进行实时监测。
本发明第二方面提供了一种基于Hbase的指标监控装置,包括:写入模块,用于通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;第一聚合模块,用于通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据;计算模块,用于根据用户需求构建基于Flink构架的计算模型,通过所述计算模型计算与所述实时指标数据对应的离线指标数据;数据预处理模块,用于通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;第二聚合模块,用于对所述多条数据流进行聚合整理,得到关键指标数据;监测模块,用于构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测。
可选地,在本发明第二方面的第一种实现方式中,所述基于Hbase的指标监控装置还包括:解析模块,用于解析服务器发出的针对phoenix客户端的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;获取模块,用于当所述信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项。
可选地,在本发明第二方面的第二种实现方式中,所述基于Hbase的指标监控装置还包括:建立模块,用于在系统的存储介质中建立Kafka消息队列的存储结构和相应的存储空间。
可选地,在本发明第二方面的第三种实现方式中,所述第一聚合模块包括:数据清洗单元,用于对各所述时间序列指标数据中的各个指标数据进行数据清洗,获得多个有效指标数据;构建单元,用于在预置聚合规则库中读取与多个所述有效指标数据匹配的预设聚合规则,按照所述预设聚合规则中的聚合维度,构建各所述有效指标数据对应的聚合模型以及所述聚合模型中的用于聚合计算的聚合键;聚合单元,用于对各所述聚合模型对应的有效指标数据按照聚合键进行数据分区,并对数据分区后的具有相同聚合键的所述有效指标数据进行聚合计算,得到聚合指标数据,其中,所述聚合指标数据为实时指标数据。
可选地,在本发明第二方面的第四种实现方式中,所述数据清洗单元具体用于:将各所述时间序列指标数据中的各个指标数据转换为标准指标数据;根据预设的白名单和黑名单,对各所述标准指标数据进行数据清洗,获得多个有效指标数据。
可选地,在本发明第二方面的第五种实现方式中,所述数据预处理模块具体还用于:对Kafka中服务器日志数据进行解析、组装、转换,得到标准报文格式的服务器日志数据;对所述标准报文格式的目标服务器日志数据进行数据预处理,得到目标服务器日志数据,其中,所述数据预处理包括修正错误数据和补全数据、数据转化和数据去噪;根据不同数据类别对所述目标服务器日志数据进行划分,得到多条数据流,其中,每条数据流代表一种类型的数据。
可选地,在本发明第二方面的第六种实现方式中,所述监测模块具体用于:构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库;对所述关键指标数据进行数据标准化处理,并将标准化处理后的所述关键指标数据存储到ClickHouse数据库的关键绩效指标表中;根据配置的监控指标要素查找所述关键绩效指标表中的所述关键指标数据,将查找到的所述关键指标数据进行标准化展示;根据所述关键指标数据,对Hbase集群进行实时监测。
本发明第三方面提供了一种基于Hbase的指标监控设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于Hbase的指标监控设备执行上述的基于Hbase的指标监控方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于Hbase的指标监控方法。
本发明提供的技术方案中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
附图说明
图1为本发明基于Hbase的指标监控方法的第一个实施例示意图;
图2为本发明基于Hbase的指标监控方法的第二个实施例示意图;
图3为本发明基于Hbase的指标监控方法的第三个实施例示意图;
图4为本发明基于Hbase的指标监控方法的第四个实施例示意图;
图5为本发明基于Hbase的指标监控方法的第五个实施例示意图;
图6为本发明基于Hbase的指标监控装置的第一个实施例示意图;
图7为本发明基于Hbase的指标监控装置的第二个实施例示意图;
图8为本发明基于Hbase的指标监控设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于Hbase的指标监控方法、装置、设备及存储介质,本发明的技术方案中,首先采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于Hbase的指标监控方法的第一个实施例包括:
101、通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
本实施例中,通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据。其中,HBase是一个分布式的、面向列的开源数据库,HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。
102、通过对应预设聚合规则对各个时间序列指标数据进行聚合处理,得到实时指标数据;
本实施例中,通过对应预设聚合规则对各个时间序列指标数据进行聚合处理,得到实时指标数据。其中,Flink计算引擎用于将从kafka中接收到的单机指标数据按照预先配置的聚合规则进行聚合出应用和部署池级别的聚合指标。聚合规则可以根据实际需要进行灵活定义,聚合规则用于对指标数据按预设维度进行聚合计算,聚合计算例如sum、avg、max、min这四类数值统计操作。具体地,Flink计算引擎可以结合MapReduce计算框架对各个时间序列指标数据按照对应的预设聚合规则进行聚合处理。
其中,MapReduce计算框架包括Mapper阶段和Reduce阶段。Mapper阶段包括:Parse、Filtering以及FlatMap,分别用于入口数据处理、数据清洗以及读取聚合规则构造聚合模型以产生聚合键。Reduce阶段包括KeyBy操作完成数据分区、聚合计算操作以及聚合结果输出,聚合结果可以输出至下游,下游可以是任意能够持久化落地或者能够有能力接受数据的任何服务,例如redis、HDFS、kafka、Flume等。
103、根据用户需求构建基于Flink构架的计算模型,通过计算模型计算与实时指标数据对应的离线指标数据;
本实施例中,根据用户需求构建基于Flink构架的计算模型,通过计算模型计算与实时指标数据对应的离线指标数据。其中,用户需求具体包括与用户需求匹配的业务数据和业务数据对应的数据格式。例如用户需求是对一段时间内商品的评论数进行告警,则业务数据则为单位时间内各商品的评论数,数据格式则可以是商品名称及其对应的评论数量。
本实施例中,关键指标数据具体包括实时指标数据的同比或环比。进一步的,为了提高计算模型计算结果的全面性和准确性,作为优选的实施例,计算模型计算与实时指标数据对应的各关键指标数据,其中关键指数数据包括实时指标数据的同比、环比以及群体稳定性指数(Population Stability Index,PSI)等。
104、通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
本实施例中,通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据。Flink消费Kafka数据,解析请求服务日志数据,过滤空数据、异常数据、错误数据等。Kafka中数据格式不同,SDK上报数据具有标准报文格式,而日志文本数据需要经过解析、组装、转换成标准报文格式。上述的标准报文可做进一步的数据处理。根据不同Event(用户行为事件)类型对数据流进行划分,一部分进入实时计算模块进行实时计算;另一部分接入分布式文件存储系统,为用户行为数据的离线计算模块的离线计算提供数据支撑。
105、对多条数据流进行聚合整理,得到关键指标数据;
本实施例中,对多条数据流进行聚合整理,得到关键指标数据。本步骤中涉及两种类型指标的计算:实时指标和离线指标;实时模块计算用户浏览量、访客数、在线用户数等指标,通过FlinkDatastream(数据流)对KafkaDataSource(数据源)数据进行转换、过滤、去重,整合成多维数据元组,构建HDFS DataSink(数据注入模块)输出数据处理结果。离线模块加载分布式文件系统数据到Hive,按业务类型划分数据库,并设置日期分区。根据业务分析需求的复杂程度,构建源数据层ODS、数据主题层DW、数据集市层DM,并做定时(小时/天)批量调度。将上述指标计算结果迁移到实时数据库,提供用户行为分析结果的实时查询功能;
优选的,上述离线数据仓库的定时批量调度,具体包括:有关用户群体行为的指标计算采用小时批量,同时可以满足数据分析的时效性要求;涉及到业务类型维度划分的用户行为分析指标,该部分指标计算采用T+1批量。
106、构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。
本实施例中,构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。使用flink可以高效的处理我们的实时指标,基于2的分钟粒度聚合的指标,我们采用flink消费kafka数据,对数据进行分析,整合,并将结果存储在clickhouse。结合flink和clickhouse的特性,我们可以高效的处理并展示数据,实时的检测集群运行状况,在异常出现的第一时间进行解决,以避免产生更大的隐患。
本实施例中,对于一些业务相关的指标,比如查询频次,同一查询不同时间点的执行效率等,不能够感知到这些相应的变化,而我们基于metrics(指标)级别的指标监控,不但可以关注到服务器层面的硬件资源使用情况,还可以从业务维度去分析解决问题,往往有的时候遇到的问题单纯从技术角度分析不是那么方便,换个角度从业务方面着手反而会有很不错的效果。那么在基于硬件层面的监控基础上,再加上业务层面的分析以及监控指标的展现,就会大大提高我们的工作效率,同时也提高问题排查的准确率,更高效的维护hbase集群的高效运行。
本发明实施例中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
请参阅图2,本发明实施例中基于Hbase的指标监控方法的第二个实施例包括:
201、在系统的存储介质中建立Kafka消息队列的存储结构和相应的存储空间;
本实施例中,在系统的存储介质中建立Kafka消息队列的存储结构和相应的存储空间。其中,的Kafka消息队列的存储结构为在存储介质上设置的一种消息队列结构,可以将数据放入该消息队列的存储空间,并传输到另外一个输出接口中去。
本实施例中,Kafka是指由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
202、解析服务器发出的针对phoenix客户端的埋点数据获取请求,获取埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算埋点配置文件的信息摘要值;
本实施例中,解析服务器发出的针对phoenix客户端的埋点数据获取请求,获取埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算埋点配置文件的信息摘要值。其中,解析服务器发出的针对目标应用程序的埋点数据获取请求,获取埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算埋点配置文件的信息摘要值。埋点配置文件的信息摘要值为其MD5值,通过比对计算得到的信息摘要值与标准信息摘要值是否一致,可确保埋点配置文件的安全性(未被篡改)、完整性。
本实施例中,埋点配置文件以JSON列表形式存储每个待埋点控件信息,待埋点控件信息包括待埋点控件标识、控件事件及待上报指标项,其中,待埋点控件标识包括控件所属页面的页面类别标识、视图层级路径标识、控件类别标识及控件位置索引标识,因通常情况下应用程序中相同控件数量较多,通过为控件配置唯一标识符,可快速、准确确定出待埋点控件。
203、当信息摘要值与标准信息摘要值一致时,获取埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项;
本实施例中,当信息摘要值与标准信息摘要值一致时,获取埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项。其中,在获取埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项之前,方法还包括:获取预先存储在本地的埋点配置文件的第一版本号及埋点数据获取请求携带的埋点配置文件的第二版本号,若第二版本号低于或等于第一版本号,则删除第二版本号的埋点配置文件,将第一版本号的埋点配置文件作为待处理埋点配置文件。
本实施例中,埋点配置文件以JSON列表形式存储每个待埋点控件信息,待埋点控件信息包括待埋点控件标识、控件事件及待上报指标项,其中,待埋点控件标识包括控件所属页面的页面类别标识、视图层级路径标识、控件类别标识及控件位置索引标识,因通常情况下应用程序中相同控件数量较多,通过为控件配置唯一标识符,可快速、准确确定出待埋点控件。
204、通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
205、通过对应预设聚合规则对各个时间序列指标数据进行聚合处理,得到实时指标数据;
206、根据用户需求构建基于Flink构架的计算模型,通过计算模型计算与实时指标数据对应的离线指标数据;
207、通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
208、对多条数据流进行聚合整理,得到关键指标数据;
209、构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时监测。
本实施例中步骤204-209与第一实施例中的步骤101-106类似,此处不再赘述。
本发明实施例中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
请参阅图3,本发明实施例中基于Hbase的指标监控方法的第三个实施例包括:
301、通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
302、将各时间序列指标数据中的各个指标数据转换为标准指标数据;
本实施例中,将各时间序列指标数据中的各个指标数据转换为标准指标数据。具体地,对各时间序列指标数据中的各个指标数据转换为标准指标数据,根据预设的白名单和黑名单,对各标准指标数据进行过滤,获得多个有效指标数据。
其中,Parse阶段可以对从Kafka接收到的json类型的各个指标数据转换为标准指标数据,标准指标数据的数据类型可以是根据实际需要进行设定,此处不作具体限定。Filtering阶段可以基于预先配置的白名单和黑名单,对各标准指标数据进行过滤处理。比如,白名单可以预先配置为:只接受指定namespace下的数据、只接受指定metric name的数据、以及只接受某些app name的数据;黑名单可以预先配置为:Bynamespace屏蔽、Bymetric name屏蔽、以及By app name屏蔽,其中,在黑白名单中,namespace是必填的字段。其中,白名单配置示例如下:
#namespace|metricName|appName,namespace是必填项
whitelist=app|*|osp-cart,app|*|osp-checkout
其中,黑名单配置示例如下:
#namespace|metricName|appName,namespace是必填项
blacklist=platform|*|*,app|qps_redis|*。
303、根据预设的白名单和黑名单,对各标准指标数据进行数据清洗,获得多个有效指标数据;
本实施例中,根据预设的白名单和黑名单,对各标准指标数据进行数据清洗,获得多个有效指标数据。具体地,获取各标准指标数据的哈希值,对各标准指标数据的哈希值在白名单对应的哈希表进行匹配,对匹配成功的标准指标数据的哈希值在黑名单对应的哈希表中进行过滤,得到多个有效指标数据。
具体地,对每个标准指标数据,按预设顺序查询哈希表,如果查询有结果,则直接返回,不再做后续查询,否则继续查询。
本实施例中,对各时间序列指标数据中的各个指标数据进行清洗过滤过程中,优先应用白名单,只有通过白名单的指标数据,才会进入黑名单过滤。而黑名单的目的是为了过滤一些通过了白名单宽入口的指标数据,但又需要特殊屏蔽的指标。例如白名单里配置whitelist=app|*|*,意味着namespace是app的指标将全部通过,如果需要单独屏蔽mapi-cart域的指标,那么可以通过设置blacklist=app|*|mapi-cart来完成屏蔽,如此过滤方式能够有效提高指标数据的过滤效率。
304、在预置聚合规则库中读取与多个有效指标数据匹配的预设聚合规则,按照预设聚合规则中的聚合维度,构建各有效指标数据对应的聚合模型以及聚合模型中的用于聚合计算的聚合键;
本实施例中,在预置聚合规则库中读取与多个有效指标数据匹配的预设聚合规则,按照预设聚合规则中的聚合维度,构建各有效指标数据对应的聚合模型以及聚合模型中的用于聚合计算的聚合键。其中,FlatMap阶段可以具有各有效指标数据的指标标签(tag)对各有效指标数据匹配出对应的预设聚合规则,通过匹配出的预设聚合规则将一个输入指标对象输出成一个或若干个指标对象,以便后续的聚合运算。
具体来说,FlatMap实质是一个创建Aggregation Model的过程,该过程主要完成读取Agg聚合规则,将入口的metrics数据,转换成MetricsAggregation数据模型,为下一阶段的keyBy操作做准备。
在实际应用中,聚合规则需要足够灵活,除了上面支持by app,以及by app+pool的聚合外,还能支持任意指标的聚合需求。例如针对购物车增加数的业务指标,可以在聚合规则中进行by地域、By渠道、By移动设备等不同维度的聚合设定。其中,构建聚合模型中的用于聚合计算的聚合键,可以包括:通过聚合模型根据预设聚合规则的规则ID和聚合键的键值对按照聚合键的字母排序进行拼接出聚合键。
305、对各聚合模型对应的有效指标数据按照聚合键进行数据分区,并对数据分区后的具有相同聚合键的有效指标数据进行聚合计算,得到聚合指标数据,其中,聚合指标数据为实时指标数据;
本实施例中,对各聚合模型对应的有效指标数据按照聚合键进行数据分区,并对数据分区后的具有相同聚合键的有效指标数据进行聚合计算,得到实时指标数据。其中,相同聚合键的指标将被分为一组进行聚合计算,聚合计算包括sum、avg、max、min这四类数值统计操作。sum:累加多个实例的指标,例如app级别qps,app级别5xx;avg:求平均值,例如app级别平均响应时间、app级别heap平均使用率等;max:统计一个计算窗口内,多个实例中的最大的这个实例的值;min:统计一个计算窗口内,多个实例中的最小的这个实例的值。
具体地,上述步骤中对数据分区后的具有相同聚合键的有效指标数据进行聚合计算,得到聚合指标数据,该过程可以包括:在预设时间窗口内对具有相同聚合键的有效指标数据进行去重,对去重后的有效指标数据进行聚合计算,得到实时的聚合指标数据。
本实施例中,由于应用服务通常包含多个实例,部署在多个机器上,每个实例生成独立的指标,例如svr_count、svr_latency、svr_count_5xx等,而各种指标生成和上报的时间是不确定的,因此可能会由于延迟到达的指标,导致在将多个实例的指标进行聚合过程中指标存在重复,因此需要对重复的指标进行过滤或去重。而Flink计算引擎针对所有指标都在同一个窗口内计算,窗口计算时间是相同的,如果窗口过小,则延迟的指标比如无法再次计算告警,如果启用延迟重新计算,则大量重复告警不可避免。因此针对秒级指标,可以在指标聚合引擎内首先进行第一次聚合,聚合等待时间设置为10秒,秒级绝大部分指标的延迟将不会超过10秒,超过10秒的则延迟计算。指标聚合完成后,写入到指定的Kafka,告警引擎消费秒级指标,由于存在指标重复,并且多规则组合告警时需要对多条指标序列同步消费。因此增加一个预设时间窗口(例如5秒),将相同指标在该预设时间窗口内进行去重,对去重后的指标数据在同一计算窗口内进行聚合计算,得到聚合指标数据可进行告警。
对于秒级聚合的指标,计算窗口时间可以定义为1s(redis端还会做一次兜底聚合);对于分钟级的聚合指标,考虑到每个实例上报数据的时间的离散化,可以将计算窗口时间定义为1分钟。例如有3个实例,上报的时间分别为18:00:01、18:00:32、18:00:59,它们都属于18:00~18:01这个窗口的聚合数据。
306、根据用户需求构建基于Flink构架的计算模型,通过计算模型计算与实时指标数据对应的离线指标数据;
307、通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
308、对多条数据流进行聚合整理,得到关键指标数据;
309、构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时监测。
本实施例中步骤301、306-309与第一实施例中的步骤101、103-106类似,此处不再赘述。
本发明实施例中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
请参阅图4,本发明实施例中基于Hbase的指标监控方法的第四个实施例包括:
401、通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
402、通过对应预设聚合规则对各个时间序列指标数据进行聚合处理,得到实时指标数据;
403、根据用户需求构建基于Flink构架的计算模型,通过计算模型计算与实时指标数据对应的离线指标数据;
404、对Kafka中服务器日志数据进行解析、组装、转换,得到标准报文格式的服务器日志数据;
本实施例中,对Kafka中服务器日志数据进行解析、组装、转换,得到标准报文格式。其中,Kafka中的消息是以主题(Topic)为基本单位进行组织的,各个主题之间相互独立。在这里主题只是一个逻辑上的抽象概念,而在实际数据文件的存储中,Kafka中的消息存储在物理上是以一个或多个分区(Partition)构成,每个分区对应本地磁盘上的一个文件夹,每个文件夹内包含了日志索引文件(“.index”和“.timeindex”)和日志数据文件(“.log”)两部分。分区数量可以在创建主题时指定,也可以在创建Topic后进行修改。
在Kafka中,每个Log对象又可以划分为多个LogSegment文件,每个LogSegment文件包括一个日志数据文件和两个索引文件(偏移量索引文件和消息时间戳索引文件)。其中,每个LogSegment中的日志数据文件大小均相等(该日志数据文件的大小可以通过在Kafka Broker的config/server.properties配置文件的中的“log.segment.bytes”进行设置,默认为1G大小(1073741824字节),在顺序写入消息时如果超出该设定的阈值,将会创建一组新的日志数据和索引文件)。
Kafka将日志文件封装成一个FileMessageSet对象,将偏移量索引文件和消息时间戳索引文件分别封装成OffsetIndex和TimerIndex对象。Log和LogSegment均为逻辑概念,Log是对副本在Broker上存储文件的抽象,而LogSegment是对副本存储下每个日志分段的抽象,日志与索引文件才与磁盘上的物理存储相对应。
405、对标准报文格式的目标服务器日志数据进行数据预处理,得到目标服务器日志数据;
本实施例中,Flink消费Kafka数据,解析请求服务日志数据,过滤空数据、异常数据、错误数据等。Kafka中数据格式不同,SDK上报数据具有标准报文格式,而日志文本数据需要经过解析、组装、转换成标准报文格式。上述的标准报文可做进一步的数据处理。根据不同Event(用户行为事件)类型对数据流进行划分,一部分进入实时计算模块进行实时计算;另一部分接入分布式文件存储系统,为用户行为数据的离线计算模块的离线计算提供数据支撑。
406、根据不同数据类别对目标服务器日志数据进行划分,得到多条数据流,其中,每条数据流代表一种类型的数据;
本实施例中,根据不同数据类别对数据流进行划分,得到多条数据流。其中,根据不同事件类别对数据流进行划分,得到多条数据流,每条数据流代表一种类型的数据;根据业务需求和指标计算的类型,把多条数据流进行划分,比如实时点击量、实时浏览量等指标只涉及到简单基础累加运算,点击或者浏览的数据流可以接入到实时计算模块进行实时计算;对于周期内统计计算的指标,如平均访问时长、平均在线时长等指标需要涉及到周期内数据的汇总计算,则访问或者在线的数据流可以接入到离线计算模块进行离线计算。
407、对多条数据流进行聚合整理,得到关键指标数据;
408、构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时监测。
本实施例中步骤401-403、407-408与第一实施例中的步骤101-103、105-106类似,此处不再赘述。
本发明实施例中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
请参阅图5,本发明实施例中基于Hbase的指标监控方法的第五个实施例包括:
501、通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
502、通过对应预设聚合规则对各个时间序列指标数据进行聚合处理,得到实时指标数据;
503、根据用户需求构建基于Flink构架的计算模型,通过计算模型计算与实时指标数据对应的离线指标数据;
504、通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
505、对多条数据流进行聚合整理,得到关键指标数据;
506、构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库;
本实施例中,构建ClickHouse数据库,将所述关键指标数据迁移到ClickHouse数据库。本步骤中涉及两种类型指标的计算:实时指标和离线指标;实时模块计算用户浏览量、访客数、在线用户数等指标,通过FlinkDatastream(数据流)对KafkaDataSource(数据源)数据进行转换、过滤、去重,整合成多维数据元组,构建HDFS DataSink(数据注入模块)输出数据处理结果。
离线模块加载分布式文件系统数据到Hive,按业务类型划分数据库,并设置日期分区。根据业务分析需求的复杂程度,构建源数据层ODS、数据主题层DW、数据集市层DM,并做定时(小时/天)批量调度。将上述指标计算结果迁移到实时数据库,提供用户行为分析结果的实时查询功能。
507、对关键指标数据进行数据标准化处理,并将标准化处理后的关键指标数据存储到ClickHouse数据库的关键绩效指标表中;
本实施例中,对关键指标数据进行数据标准化处理,并将标准化处理后的关键指标数据存储到ClickHouse数据库的关键绩效指标表中。其中,先对关键指标数据,也就是指业务数据1、业务数据2、业务数据3……或者业务数据n。例如:关键指标数据为业务数据1,则需要对业务数据1进行数据标准化处理。假设需要监控某超市的商品销售状况时,则业务数据1可以包括:超市某种商品的价格、物品的指标代码、时间、具体的价格等。对这些数据进行数据标准化处理。
其中,数据标准化处理是将关键指标数据处理成key-value键值对数据。也就是将超市某种商品的价格、物品的指标代码、时间、具体的价格等都抽象成key-value的标准键值对。抽象成key-value的标准键值对可以方便下次对相同的数据采用相同的键值对,这样大大提高了系统的开发效率,以及提高了系统的适应性。
508、根据配置的监控指标要素查找关键绩效指标表中的关键指标数据,将查找到的关键指标数据进行标准化展示;
本实施例中,根据配置的监控指标要素查找关键绩效指标表中的关键指标数据,将查找到的关键指标数据进行标准化展示。其中,将查找到的关键指标数据进行标准化展示,即是将查找到的关键指标数据前端可视化。采用前端可视化可以实现实时、按分钟、按小时、按月查看数据,实现运维监控指标化,提前对业务数据的洪峰进行识别和规划。
本实施例中,关键绩效指标(Key Performance Indicator,KPI)表,即关键绩效指标表,其定义是指通过对组织内部流程的输入端、输出端的关键参数进行设置、取样、计算、分析,衡量流程绩效的一种目标式量化管理指标。将标准化处理后的关键指标数据指标数据存储到KPI表,是方便了系统对关键指标数据的设置、取样、计算和分析,使得能够及时地监控、查询关键指标数据等。
509、根据关键指标数据,对Hbase集群进行实时监测。
本实施例中,根据关键指标数据,对Hbase集群进行实时监测。其中,基于指标级别的指标监控,不但可以关注到服务器层面的硬件资源使用情况,还可以从业务维度去分析解决问题,往往有的时候遇到的问题单纯从技术角度分析不是那么方便,换个角度从业务方面着手反而会有很不错的效果。那么在基于硬件层面的监控基础上,再加上业务层面的分析以及监控指标的展现,就会大大提高我们的工作效率,同时也提高问题排查的准确率,更高效的维护hbase集群的高效运行。
本实施例中步骤501-504、509与第一实施例中的101-104、106类似,此处不再赘述。
在本发明实施例中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
上面对本发明实施例中基于Hbase的指标监控方法进行了描述,下面对本发明实施例中基于Hbase的指标监控装置进行描述,请参阅图6,本发明实施例中基于Hbase的指标监控装置的第一个实施例包括:
写入模块601,用于通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
第一聚合模块602,用于通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据;
计算模块603,用于根据用户需求构建基于Flink构架的计算模型,通过所述计算模型计算与所述实时指标数据对应的离线指标数据;
数据预处理模块604,用于通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
第二聚合模块605,用于对所述多条数据流进行聚合整理,得到关键指标数据;
监测模块606,用于构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测。
本发明实施例中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
请参阅图7,本发明实施例中基于Hbase的指标监控装置的第二个实施例,该基于Hbase的指标监控装置具体包括:
写入模块601,用于通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
第一聚合模块602,用于通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据;
计算模块603,用于根据用户需求构建基于Flink构架的计算模型,通过所述计算模型计算与所述实时指标数据对应的离线指标数据;
数据预处理模块604,用于通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
第二聚合模块605,用于对所述多条数据流进行聚合整理,得到关键指标数据;
监测模块606,用于构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测。
本实施例中,所述基于Hbase的指标监控装置还包括:
解析模块607,用于解析服务器发出的针对phoenix客户端的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;
获取模块608,用于当所述信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项。
本实施例中,所述基于Hbase的指标监控装置还包括:
建立模块609,用于在系统的存储介质中建立Kafka消息队列的存储结构和相应的存储空间。
本实施例中,所述第一聚合模块602包括:
数据清洗单元6021,用于对各所述时间序列指标数据中的各个指标数据进行数据清洗,获得多个有效指标数据;
构建单元6022,用于在预置聚合规则库中读取与多个所述有效指标数据匹配的预设聚合规则,按照所述预设聚合规则中的聚合维度,构建各所述有效指标数据对应的聚合模型以及所述聚合模型中的用于聚合计算的聚合键;
聚合单元6023,用于对各所述聚合模型对应的有效指标数据按照聚合键进行数据分区,并对数据分区后的具有相同聚合键的所述有效指标数据进行聚合计算,得到聚合指标数据,其中,所述聚合指标数据为实时指标数据。
本实施例中,所述数据清洗单元6021具体用于:
将各所述时间序列指标数据中的各个指标数据转换为标准指标数据;
根据预设的白名单和黑名单,对各所述标准指标数据进行数据清洗,获得多个有效指标数据。
本实施例中,所述数据预处理模块604具体还用于:
对Kafka中服务器日志数据进行解析、组装、转换,得到标准报文格式的服务器日志数据;
对所述标准报文格式的目标服务器日志数据进行数据预处理,得到目标服务器日志数据,其中,所述数据预处理包括修正错误数据和补全数据、数据转化和数据去噪;
根据不同数据类别对所述目标服务器日志数据进行划分,得到多条数据流,其中,每条数据流代表一种类型的数据。
本实施例中,所述监测模块606具体用于:构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库;
对所述关键指标数据进行数据标准化处理,并将标准化处理后的所述关键指标数据存储到ClickHouse数据库的关键绩效指标表中;
根据配置的监控指标要素查找所述关键绩效指标表中的所述关键指标数据,将查找到的所述关键指标数据进行标准化展示;
根据所述关键指标数据,对Hbase集群进行实时监测。
本发明实施例中,通过采集时间序列指标数据,并将时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;通过预设聚合规则对时间序列指标数据进行聚合处理,得到实时指标数据;通过根据用户需求构建的基于Flink构架的计算模型计算与实时指标数据对应的离线指标数据;通过Flink消费Kafka数据,并对Kafka数据进行数据预处理,得到多条数据流;对数据流进行聚合整理,得到关键指标数据;构建ClickHouse数据库,将关键指标数据迁移到ClickHouse数据库,根据关键指标数据对Hbase集群进行实时检测。本发明基于metrics级别的指标监控对hbase集群的关键指标进行监控,提高hbase集群的稳定性和健壮性。
上面图6和图7从模块化功能实体的角度对本发明实施例中的基于Hbase的指标监控装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于Hbase的指标监控设备进行详细描述。
图8是本发明实施例提供的一种基于Hbase的指标监控设备的结构示意图,该基于Hbase的指标监控设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于Hbase的指标监控设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在基于Hbase的指标监控设备800上执行存储介质830中的一系列指令操作,以实现上述各方法实施例提供的基于Hbase的指标监控方法的步骤。
基于Hbase的指标监控设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的基于Hbase的指标监控设备结构并不构成对本申请提供的基于Hbase的指标监控设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述基于Hbase的指标监控方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于Hbase的指标监控方法,其特征在于,所述基于Hbase的指标监控方法包括:
通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据;
根据用户需求构建基于Flink构架的计算模型,通过所述计算模型计算与所述实时指标数据对应的离线指标数据;
通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
对所述多条数据流进行聚合整理,得到关键指标数据;
构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测。
2.根据权利要求1所述的基于Hbase的指标监控方法,其特征在于,在所述通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据之前,包括:
解析服务器发出的针对phoenix客户端的埋点数据获取请求,获取所述埋点数据获取请求携带的埋点配置文件及其标准信息摘要值,计算所述埋点配置文件的信息摘要值;
当所述信息摘要值与所述标准信息摘要值一致时,获取所述埋点配置文件中的待埋点控件标识、待埋点控件对应的控件事件及待上报指标项。
3.根据权利要求1所述的基于Hbase的指标监控方法,其特征在于,在所述通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据之前,还包括:
在系统的存储介质中建立Kafka消息队列的存储结构和相应的存储空间。
4.根据权利要求1所述的基于Hbase的指标监控方法,其特征在于,所述通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据包括:
对各所述时间序列指标数据中的各个指标数据进行数据清洗,获得多个有效指标数据;
在预置聚合规则库中读取与多个所述有效指标数据匹配的预设聚合规则,按照所述预设聚合规则中的聚合维度,构建各所述有效指标数据对应的聚合模型以及所述聚合模型中的用于聚合计算的聚合键;
对各所述聚合模型对应的有效指标数据按照聚合键进行数据分区,并对数据分区后的具有相同聚合键的所述有效指标数据进行聚合计算,得到聚合指标数据,其中,所述聚合指标数据为实时指标数据。
5.根据权利要求4所述的基于Hbase的指标监控方法,其特征在于,所述对各所述时间序列指标数据中的各个指标数据进行数据清洗,获得多个有效指标数据包括:
将各所述时间序列指标数据中的各个指标数据转换为标准指标数据;
根据预设的白名单和黑名单,对各所述标准指标数据进行数据清洗,获得多个有效指标数据。
6.根据权利要求3所述的基于Hbase的指标监控方法,其特征在于,所述通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流包括:
对Kafka中服务器日志数据进行解析、组装、转换,得到标准报文格式的服务器日志数据;
对所述标准报文格式的目标服务器日志数据进行数据预处理,得到目标服务器日志数据,其中,所述数据预处理包括修正错误数据和补全数据、数据转化和数据去噪;
根据不同数据类别对所述目标服务器日志数据进行划分,得到多条数据流,其中,每条数据流代表一种类型的数据。
7.根据权利要求2所述的基于Hbase的指标监控方法,其特征在于,所述构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测包括:
构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库;
对所述关键指标数据进行数据标准化处理,并将标准化处理后的所述关键指标数据存储到ClickHouse数据库的关键绩效指标表中;
根据配置的监控指标要素查找所述关键绩效指标表中的所述关键指标数据,将查找到的所述关键指标数据进行标准化展示;
根据所述关键指标数据,对Hbase集群进行实时监测。
8.一种基于Hbase的指标监控装置,其特征在于,所述基于Hbase的指标监控装置包括:
写入模块,用于通过预设埋点数据从预置Hbase数据库中采集时间序列指标数据,并将所述时间序列指标数据写入Kafka消息队列的存储结构中,得到Kafka数据;
第一聚合模块,用于通过对应预设聚合规则对各个所述时间序列指标数据进行聚合处理,得到实时指标数据;
计算模块,用于根据用户需求构建基于Flink构架的计算模型,通过所述计算模型计算与所述实时指标数据对应的离线指标数据;
数据预处理模块,用于通过Flink消费所述Kafka数据,并对所述Kafka数据进行数据预处理,得到多条数据流,其中,每条数据流代表一种类别的数据;
第二聚合模块,用于对所述多条数据流进行聚合整理,得到关键指标数据;
监测模块,用于构建ClickHouse数据库,将所述关键指标数据迁移到所述ClickHouse数据库,根据所述关键指标数据对Hbase集群进行实时监测。
9.一种基于Hbase的指标监控设备,其特征在于,所述基于Hbase的指标监控设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于Hbase的指标监控设备执行如权利要求1-7中任一项所述的基于Hbase的指标监控方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于Hbase的指标监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721484.9A CN113468019A (zh) | 2021-06-28 | 2021-06-28 | 基于Hbase的指标监控方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110721484.9A CN113468019A (zh) | 2021-06-28 | 2021-06-28 | 基于Hbase的指标监控方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113468019A true CN113468019A (zh) | 2021-10-01 |
Family
ID=77873369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110721484.9A Pending CN113468019A (zh) | 2021-06-28 | 2021-06-28 | 基于Hbase的指标监控方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468019A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168405A (zh) * | 2021-11-17 | 2022-03-11 | 深圳市梦网科技发展有限公司 | 一种数据监控方法、装置、终端设备及存储介质 |
CN114979186A (zh) * | 2022-05-16 | 2022-08-30 | 浪潮云信息技术股份公司 | 基于Flink组件的流量链接分析方法及系统 |
CN114996300A (zh) * | 2022-05-20 | 2022-09-02 | 上海浦东发展银行股份有限公司 | 一种银行信用卡中心实时大数据可视化分析方法 |
CN115033457A (zh) * | 2022-06-22 | 2022-09-09 | 浙江大学 | 一种可监控预警的多源数据实时采集方法及系统 |
CN116629805A (zh) * | 2023-06-07 | 2023-08-22 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197181A (zh) * | 2017-12-25 | 2018-06-22 | 广州亦云信息技术股份有限公司 | 一种时序数据的压缩存储方法、电子设备及存储介质 |
CN108809701A (zh) * | 2018-05-23 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种数据中心智慧数据平台及其实现方法 |
CN110858341A (zh) * | 2018-08-22 | 2020-03-03 | 中国移动通信集团重庆有限公司 | 基于分布式存储系统的指标监控方法、装置、设备和介质 |
CN112000636A (zh) * | 2020-08-31 | 2020-11-27 | 民生科技有限责任公司 | 基于Flink流式处理的用户行为统计分析方法 |
CN112416728A (zh) * | 2020-11-23 | 2021-02-26 | 平安普惠企业管理有限公司 | 埋点数据获取方法、装置、客户端设备及可读存储介质 |
CN112749056A (zh) * | 2020-12-30 | 2021-05-04 | 广州品唯软件有限公司 | 应用服务指标监控方法、装置、计算机设备和存储介质 |
-
2021
- 2021-06-28 CN CN202110721484.9A patent/CN113468019A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197181A (zh) * | 2017-12-25 | 2018-06-22 | 广州亦云信息技术股份有限公司 | 一种时序数据的压缩存储方法、电子设备及存储介质 |
CN108809701A (zh) * | 2018-05-23 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种数据中心智慧数据平台及其实现方法 |
CN110858341A (zh) * | 2018-08-22 | 2020-03-03 | 中国移动通信集团重庆有限公司 | 基于分布式存储系统的指标监控方法、装置、设备和介质 |
CN112000636A (zh) * | 2020-08-31 | 2020-11-27 | 民生科技有限责任公司 | 基于Flink流式处理的用户行为统计分析方法 |
CN112416728A (zh) * | 2020-11-23 | 2021-02-26 | 平安普惠企业管理有限公司 | 埋点数据获取方法、装置、客户端设备及可读存储介质 |
CN112749056A (zh) * | 2020-12-30 | 2021-05-04 | 广州品唯软件有限公司 | 应用服务指标监控方法、装置、计算机设备和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168405A (zh) * | 2021-11-17 | 2022-03-11 | 深圳市梦网科技发展有限公司 | 一种数据监控方法、装置、终端设备及存储介质 |
CN114979186A (zh) * | 2022-05-16 | 2022-08-30 | 浪潮云信息技术股份公司 | 基于Flink组件的流量链接分析方法及系统 |
CN114996300A (zh) * | 2022-05-20 | 2022-09-02 | 上海浦东发展银行股份有限公司 | 一种银行信用卡中心实时大数据可视化分析方法 |
CN115033457A (zh) * | 2022-06-22 | 2022-09-09 | 浙江大学 | 一种可监控预警的多源数据实时采集方法及系统 |
CN115033457B (zh) * | 2022-06-22 | 2023-08-25 | 浙江大学 | 一种可监控预警的多源数据实时采集方法及系统 |
CN116629805A (zh) * | 2023-06-07 | 2023-08-22 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN116629805B (zh) * | 2023-06-07 | 2023-12-01 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
CN117892727B (zh) * | 2024-03-14 | 2024-05-17 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684352B (zh) | 数据分析系统、方法、存储介质及电子设备 | |
CN113468019A (zh) | 基于Hbase的指标监控方法、装置、设备及存储介质 | |
CN111526060B (zh) | 业务日志的处理方法及系统 | |
CN108628929B (zh) | 用于智能存档和分析的方法和装置 | |
US20200301945A1 (en) | System for data management in a large scale data repository | |
CN111984499B (zh) | 一种大数据集群的故障检测方法和装置 | |
Bailis et al. | Macrobase: Prioritizing attention in fast data | |
US9832280B2 (en) | User profile configuring method and device | |
US20180373781A1 (en) | Data handling methods and system for data lakes | |
Gupta et al. | Cloud computing and big data analytics: what is new from databases perspective? | |
US11409645B1 (en) | Intermittent failure metrics in technological processes | |
US20170154057A1 (en) | Efficient consolidation of high-volume metrics | |
Allam | An Exploratory Survey of Hadoop Log Analysis Tools | |
Karumuri et al. | Towards observability data management at scale | |
US11323463B2 (en) | Generating data structures representing relationships among entities of a high-scale network infrastructure | |
US20150032743A1 (en) | Analyzing files using big data tools | |
KR20150118963A (ko) | 큐 모니터링 및 시각화 | |
CN111858274B (zh) | 一种大数据评分系统稳定性监控方法 | |
Qi et al. | A cloud-based triage log analysis and recovery framework | |
CN112182025A (zh) | 日志分析方法、装置、设备与计算机可读存储介质 | |
US9727666B2 (en) | Data store query | |
Subha et al. | Apache Spark based analysis on word count application in Big Data | |
Bailis et al. | Macrobase: Analytic monitoring for the internet of things | |
US20230073627A1 (en) | Analytics database and monitoring system for structuring and storing data streams | |
Sanaboyina | Performance evaluation of time series databases based on energy consumption |
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 |