基于OpenTSDB和HBase的监控数据存储方法、计算机装置及存储介质制造方法及图纸

技术编号:37314426 阅读:15 留言:0更新日期:2023-04-21 22:56
本发明专利技术公开了一种基于OpenTSDB和HBase的监控数据存储方法、系统、计算机装置及存储介质,包括当监控数据的数据类型为文本型数据,获取监控数据对应的ID值,根据ID值确定监控数据对应的关键字根据关键字,将监控数据写入HBase数据库,将监控数据的数据类型信息和ID值写入OpenTSDB等步骤。本发明专利技术把属于文本类型的监控数据保存到HBase数据库,无需引入新组件就可以解决OpenTSDB无法保存文本类型数据的问题,从而同时存储数值类型的监控数据和文本类型的监控数据,降低系统的复杂度;通过设置统一的数据处理程序来执行各步骤,对客户端来说,降低了编程的复杂性。本发明专利技术广泛应用于数据处理技术领域。数据处理技术领域。数据处理技术领域。

【技术实现步骤摘要】
基于OpenTSDB和HBase的监控数据存储方法、计算机装置及存储介质


[0001]本专利技术涉及数据处理
,尤其是一种基于OpenTSDB和HBase的监控数据存储方法、系统、计算机装置及存储介质。

技术介绍

[0002]监控数据本质上是一种时序数据,时间序列数据是指是一段时间内某个指标的一系列数值数据点。OpenTSDB是一个时间序列数据库,其通过指标(metric)、标签(tag)以及时间戳(timestamp)来唯一标识一个指标值(value),这些指标数据具有不可变性。OpenTSDB一般通过多个TSD(OpenTSDB的服务进程)实现集群的横向扩展,每个TSD实例都会接收到时间序列数据的写入和读取请求,从而实现监控数据的存储。
[0003]OpenTSDB支持秒级数据采集metrics,支持永久存储,可以做容量规划,并很容易地接入到现有的报警系统里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的metrics并进行存储、索引以及服务,也容易进行web化、图形化等处理,从而使得这些数据更容易让人理解。
[0004]目前OpenTSDB的相关技术只能保存数值类型的监控数据,无法保存由监控系统产生的文本型的监控数据。把数值类型的监控数据和文本类型的监控数据分开写入、查询可以克服OpenTSDB相关技术的缺点,但是这会增加数据处理的复杂性。

技术实现思路

[0005]针对目前的OpenTSDB相关技术中,只能保存数值类型的监控数据而无法保存文本型的监控数据的技术问题,本专利技术的目的在于提供一种基于OpenTSDB和HBase的监控数据存储方法、系统、计算机装置及存储介质。
[0006]一方面,本专利技术实施例包括一种基于OpenTSDB和HBase的监控数据存储系统,包括:
[0007]获取监控数据;
[0008]当所述监控数据的数据类型为文本型数据,获取所述监控数据对应的ID值,根据所述ID值,确定所述监控数据对应的关键字,根据所述关键字,将所述监控数据写入HBase数据库,将所述监控数据的数据类型信息和所述ID值写入OpenTSDB。
[0009]进一步地,所述基于OpenTSDB和HBase的监控数据存储方法还包括:
[0010]当所述监控数据属于数值型数据,将所述监控数据的数据类型信息和所述监控数据的数值写入所述OpenTSDB。
[0011]进一步地,所述获取所述监控数据对应的ID值,包括:
[0012]使用雪花算法根据所述监控数据进行处理,生成一个全局唯一的长整型数值;
[0013]以所述长整型数值作为所述ID值。
[0014]进一步地,所述确定所述监控数据对应的关键字,包括:
[0015]取所述ID值中位于最后的若干个字符;
[0016]对取出的所述若干个字符进行翻转;
[0017]以翻转后的所述若干个字符作为所述ID值整体的前缀,组成一个字符串;
[0018]以所述字符串作为所述关键字。
[0019]进一步地,所述基于OpenTSDB和HBase的监控数据存储方法,还包括:
[0020]在所述HBase数据库中建立pm_text表;
[0021]通过所述pm_text表,设置所述HBase数据库的若干个预分区;各所述预分区分别有各自对应的特定前缀的所述关键字,所述预分区用于存储相应所述关键字对应的所述监控数据。
[0022]进一步地,所述取所述ID值中位于最后的若干个字符,包括:
[0023]根据所述HBase数据库中所述预分区的数量,确定所述字符的数量;所述若干个字符形成的组合数量大于所述预分区的数量。
[0024]进一步地,所述基于OpenTSDB和HBase的监控数据存储方法,还包括:
[0025]获取查询请求;
[0026]根据所述查询请求,创建查询请求对象;
[0027]将所述查询请求对象发送请求到OpenTSDB;
[0028]获取所述OpenTSDB响应于所述查询请求对象返回的所述监控数据或者所述ID值;
[0029]当所述OpenTSDB返回所述ID值,根据所述ID值,确定所述监控数据对应的关键字,根据所述关键字,从所述HBase数据库查询得到所述监控数据。
[0030]进一步地,所述基于OpenTSDB和HBase的监控数据存储方法,还包括:
[0031]设置请求对象的delete字段设置为true,请求OpenTSDB的/api/query;
[0032]或者
[0033]查询所述OpenTSDB获取所述关键字;
[0034]根据所述关键字,删除所述HBase数据库中相应的所述监控数据;
[0035]请求所述OpenTSDB的/api/query删除所述OpenTSDB中保留的所述关键字。
[0036]另一方面,本专利技术实施例还包括一种计算机装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例中的基于OpenTSDB和HBase的监控数据存储方法。
[0037]另一方面,本专利技术实施例还包括一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行实施例中的基于OpenTSDB和HBase的监控数据存储方法。
[0038]本专利技术的有益效果是:实施例中的基于OpenTSDB和HBase的监控数据存储方法,把属于文本类型的监控数据保存到HBase数据库,OpenTSDB直接保存属于数值类型的监控数据,无需引入新组件就可以解决OpenTSDB无法保存文本类型数据的问题,从而同时存储数值类型的监控数据和文本类型的监控数据,降低系统的复杂度;通过设置统一的数据处理程序来执行各步骤,对客户端来说,无论是数值类型的监控数据还是文本类型的监控数据,都可以用通过相同的编程接口保存或者查询数据,降低了编程的复杂性。
附图说明
[0039]图1为实施例中基于OpenTSDB和HBase的监控数据存储方法的步骤图;
[0040]图2为实施例中能够应用基于OpenTSDB和HBase的监控数据存储方法的系统示意图;
[0041]图3为实施例中pm_text表的region信息示意图;
[0042]图4为实施例中监控数据的写入过程的示意图;
[0043]图5为实施例中监控数据的查询过程的示意图;
[0044]图6为实施例中查询文本类型监控数据关键字rowkey的流程示意图;
[0045]图7为实施例中根据关键字rowkey加载文本类型监控数据的流程示意图;
[0046]图8为实施例中监控数据的删除过程的示意图。
具体实施方式
[0047]本实施例中,参照图1,基于OpenTSDB和HBase的监控数据存储方法包括以下步骤:
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OpenTSDB和HBase的监控数据存储方法,其特征在于,所述基于OpenTSDB和HBase的监控数据存储方法包括:获取监控数据;当所述监控数据的数据类型为文本型数据,获取所述监控数据对应的ID值,根据所述ID值,确定所述监控数据对应的关键字,根据所述关键字,将所述监控数据写入HBase数据库,将所述监控数据的数据类型信息和所述ID值写入OpenTSDB。2.根据权利要求1所述的基于OpenTSDB和HBase的监控数据存储方法,其特征在于,所述基于OpenTSDB和HBase的监控数据存储方法还包括:当所述监控数据属于数值型数据,将所述监控数据的数据类型信息和所述监控数据的数值写入所述OpenTSDB。3.根据权利要求1所述的基于OpenTSDB和HBase的监控数据存储方法,其特征在于,所述获取所述监控数据对应的ID值,包括:使用雪花算法根据所述监控数据进行处理,生成一个全局唯一的长整型数值;以所述长整型数值作为所述ID值。4.根据权利要求3所述的基于OpenTSDB和HBase的监控数据存储方法,其特征在于,所述确定所述监控数据对应的关键字,包括:取所述ID值中位于最后的若干个字符;对取出的所述若干个字符进行翻转;以翻转后的所述若干个字符作为所述ID值整体的前缀,组成一个字符串;以所述字符串作为所述关键字。5.根据权利要求4所述的基于OpenTSDB和HBase的监控数据存储方法,其特征在于,所述基于OpenTSDB和HBase的监控数据存储方法,还包括:在所述HBase数据库中建立pm_text表;通过所述pm_text表,设置所述HBase数据库的若干个预分区;各所述预分区分别有各自对应的特定前缀的所述关键字,所述预分区用于存储相应所述关键字对应的所述监控数据。6.根据权利要求5所述的基于OpenTSDB和HBase的监控数据存储方法,其特征在于,所述取所述ID...

【专利技术属性】
技术研发人员:邓舒耀
申请(专利权)人:广州市申迪计算机系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1