一种基于集群实现远程存储的系统及方法与流程

文档序号:37672327发布日期:2024-04-18 20:45阅读:17来源:国知局
一种基于集群实现远程存储的系统及方法与流程

本发明属于数据处理,具体涉及一种基于clickhouse集群实现prometheus远端存储的系统及方法。


背景技术:

1、随着云原生时代的到来,催生出越来越多的云产品,因为云计算架构的复杂性和动态性使得监控变得尤为关键。为了确保云服务的高可用性、可扩展性和安全性,需要使用先进的监控工具和技术,以便实时监控和管理云服务的各个方面。prometheus是一种开源的监控系统,广泛用于云原生和容器化应用程序的监控和警报,并且prometheus具有丰富的生态体系,包括客户端库、各种exporter、grafana、alertmanager、pushgateway、operator等。

2、prometheus默认仅提供本地存储,面对庞大的云原生监控业务,仅靠本地存储存在诸多问题,例如存储限制问题、查询性能问题、数据冗余问题等。但常见的prometheus远程存储方案又存在远端数据读写性能差、丢数据等问题,而且常见的prometheus远程存储仍然无法解决存储成本高、运维复杂等问题。如何在使用丰富的prometheus生态同时,避免prometheus本地存储带来的各类问题成为云原生监控解决方案的难点之一

3、想要利用好prometheus的生态体系,同时解决扩展难运维复杂、本地存储限制、远程存储丢数据性能差等诸多问题,目前尚未提出较全面且实用的解决方案,目前大多数方案仅解决了本地存储限制问题却又忽略了远程存储成本问题,兼顾了远程存储成本问题,但又存在远程存储读写性能差的问题。


技术实现思路

1、本发明的目的在于提供一种基于集群实现远程存储的系统及方法,旨在解决现有技术中的解决了本地存储限制问题却又忽略了远程存储成本问题,兼顾了远程存储成本问题,但又存在远程存储读写性能差的问题。的问题。

2、为实现上述目的,本发明提供如下技术方案:

3、一种基于集群实现远程存储的系统,包括:clickhouse集群、prometheus集群和远程存储系统,所述clickhouse集群与所述远程存储系统的信号端信号连接,所述prometheus集群用于收集、存储、查询数据,同时所述prometheus集群通过远程存储系统将数据写入clickhouse集群中或读取clickhouse集群中的数据。

4、作为本发明一种优选的方案,所述远程存储系统内设置有sql执行模块、sql拼接模块、sql检测模块、元数据解析和降采样模块。

5、作为本发明一种优选的方案,所述远程存储系统对promtheus中的数据进行读取操作时,按照prometheus远端读规范实现远程读取接口,具体步骤如下:

6、步骤s10、获取prometheus查询query元数据;

7、步骤s11、解析query元数据,获取查询时间范围,标签筛选条件,查询数据;

8、步骤s12、获取降采样查询策略;

9、步骤s13、根据元数据解析结果,拼接对应的clickhouse降采样查询sql;

10、步骤s14、查询sql合法性校验;

11、步骤s15、对远程存储clickhouse集群执行查询sql;

12、步骤s16、获取数据并返回给prometheus。

13、作为本发明一种优选的方案,在所述步骤s15中,对查询sql进行版本标记。

14、作为本发明一种优选的方案,所述远程存储系统对promtheus中的数据进行写入操作时,按照prometheus远端写入规范实现远程写入接口,具体步骤如下:

15、步骤s20、实时监听并获取prometheus新增的时序数据;

16、步骤s21、时序数据缓存并开始最迟写入计时;

17、步骤s22、根据数据拼接clickhouse批量写入sql;

18、步骤s23、批量写入sql合法性校验;

19、步骤s24、对远程存储clickhouse集群执行插入sql。

20、作为本发明一种优选的方案,在所述步骤s24,对插入sql进行版本标记。

21、作为本发明一种优选的方案,还包括prometheus的数据读入到远程存储clickhouse集群的步骤,具体如下:

22、步骤s30、建立连接:远程存储系统与clickhouse集群建立连接;

23、步骤s31、提供服务:远程存储系统为promtheus提供http协议链接地址,用于实时接收来自prometheus的读请求;

24、步骤s32、预设时序数据查询降采样策略规则清单;

25、步骤s33、请求接收:实时监听来自prometheus的读请求元数据,并对元数据进行逻辑标识,用于失败重试;

26、步骤s34、元数据解析:对来自promtheus的读请求元数据进行解析,获取查询时间范围,标签筛选条件;

27、步骤s35、降采样策略匹配:指定降采样数据库表;

28、步骤s36、sql生成:根据读请求元数据解析结果和降采样策略进行clickhouse查询sql生成;

29、步骤s37、sql合法性校验:利用antlr对生成的sql进行合法性校验;

30、步骤s38、sql远端执行:对远程存储clickhouse集群执行查询sql,获取时序数据;

31、步骤s39、数据反馈:返回数据给prometheus。

32、作为本发明一种优选的方案,在所述步骤s35中,通过查询降采样策略和数据查询时间范围条件指定降采样数据库表。

33、作为本发明一种优选的方案,还包括prometheus的数据写入到远程存储clickhouse集群的步骤,具体如下:

34、步骤s40:建立连接:远程存储系统与clickhouse集群建立连接;

35、步骤s41:提供服务:远程存储系统为promtheus提供http协议链接地址,用于实时监听来自prometheus的写请求;

36、步骤s42:拉取监听:实时监听prometheus获取新数据的动作,并接收远端写请求;

37、步骤s43:数据缓存:获取prometheus新增的时序数据并缓存;

38、步骤s44:数据聚合:开启最迟写入计时,汇聚这期间所有新增时序数据;

39、步骤s45:sql生成:根据最后汇聚的全部时序数据生成批量写入sql;

40、步骤s46:sql合法性校验:利用antlr对生成的sql进行合法性校验;

41、步骤s47:sql远端执行:对远程存储clickhouse集群执行批量写入sql;

42、步骤s48:sql打标:获取执行结果,并进行打标。

43、作为本发明一种优选的方案,在所述步骤s48中,对执行sql本身和执行结果进行逻辑打标。

44、本技术的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时实现上述任一项中所述的方法。

45、本技术的又一实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述任一项中所述的方法。

46、与现有技术相比,本发明的有益效果是:

47、本发明通过提出一种基于clickhose集群作为prometheus集群远程存储的架构,同时包含远程存储系统,该系统对接clickhouse集群和prometheus集群,该系统在处理远程数据写入时,会缓存数据和汇聚数据再批量写入远端clickhosue集群存储,通过这种方式可以大大提高写数据性能,在处理远程数据读取时,会采用降采样技术实现数据降精查询,通过这种方式在保证数据查询准确性的同时,大大提升读数据性能;通过这种架构和基于clickhosue的远程存储系统,首先可以解决prometheus本地存储的存储空间限制,其次避免数据冗余存储,降低存储成本,最后该系统通过数据汇聚和降采样技术大幅提升远程存储读写性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1