一种Promethues分片模式下集群监控数据缺失的解决方法和装置制造方法及图纸

技术编号:35686143 阅读:18 留言:0更新日期:2022-11-23 14:31
本说明书实施例公开了一种Promethues分片模式下集群监控数据缺失的解决方法,在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件;包括:启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。本发明专利技术方案引用注册发现机制,对于集群中多个Prometheus实例使用hashmod分片模式获取监控指标,保证了Prometheus的高可用性。Prometheus的高可用性。Prometheus的高可用性。

【技术实现步骤摘要】
一种Promethues分片模式下集群监控数据缺失的解决方法和装置


[0001]本说明书涉及计算机软件
,尤其涉及一种Promethues分片模式下集群监控数据缺失的解决方法、装置、电子设备和存储介质。

技术介绍

[0002]Prometheus是Kubernetes集群中首选的监控报警方案。但Prometheus本身并没有提供行之有效的多集群高可用的监控方案,而Thanos就是为了解决此问题的。Thanos Sidecar是Thanos的一种工作模式,负责与Thanos Query通信以及将Prometheus数据传递到对象存储中。在多集群场景下,Prometheus通过deployment或者statefulset部署到每个集群中,并且保持副本数大于2保持高可用。在Prometheus启用hashmod分片的情况下,每个Prometheus只采集部分监控指标,那么导致Prometheus实例对应的Sidecar没有此集群的全量监控指标。由于Thanos Query同时间只能连接一个Sidecar,而一个Sidecar的数据是不完整的,那么通过Thanos Query端查询的指标监控数据出现不完整的,因此,这是需要亟待解决的技术问题。

技术实现思路

[0003]本说明书实施例的目的是针对上述问题,提供一种Promethues分片模式下集群监控数据缺失的解决方法、装置、电子设备和存储介质。
[0004]为解决上述技术问题,本说明书实施例是这样实现的:
[0005]第一方面,提出了一种Promethues分片模式下集群监控数据缺失的解决方法,在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件;包括:
[0006]启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;
[0007]部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;
[0008]当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;
[0009]所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。
[0010]第二方面,提出了一种Promethues分片模式下集群监控数据缺失的解决装置,包括:
[0011]第一模块,用于在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件;
[0012]第二模块:用于启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;
[0013]第三模块,用于部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;
[0014]第四模块,用于当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;
[0015]第五模块,用于所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。
[0016]第三方面,提出了一种电子设备,包括:处理器;以及
[0017]被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
[0018]第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
[0019]本说明书可以达到至少以下技术效果:
[0020]本专利技术方案引用注册发现机制,解决了在多集群场景下Prometheus实例的多个副本但无法使用hashmod对监控指标进行分片,造成监控指标重复采集和采集数据不完整的问题,保证了Prometheus高可用且提高了性能。
附图说明
[0021]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决方法示意图之一。
[0023]图2为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决方法示意图之二。
[0024]图3为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决装置示意图之一。
[0025]图4为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决装置示意图之二。
[0026]图5为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
[0027]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0028]下面通过具体的实例对本说明书所涉及的一种Promethues分片模式下集群监控数据缺失的解决方案进行详述。
[0029]关键术语
[0030]Kubernetes:简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Promethues分片模式下集群监控数据缺失的解决方法,其特征在于,在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件;包括:启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Promethues实例的监控数据。2.根据权利要求1所述的一种Promethues分片模式下集群监控数据缺失的解决方法,其特征在于,为每个所述集群部署至少2个开启hashmod分片模式的所述Promethues实例。3.根据权利要求1所述的一种Promethues分片模式下集群监控数据缺失的解决方法,其特征在于,启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程包括:1个所述Prometheus实例对应于1个所述Sidecar进程。4.根据权利要求1所述的一种Promethues分片模式下集群监控数据缺失的解决方法,其特征在于,还包括当所述Query组件读取完注册于所述Consul组件的全部所述Sidecar进程对应的所述Promethues实例监控数据后,将分片的所述监控数据恢复成完整监控数据。5.一种Promethues分片模式下集群监控数据缺失的解决装置,其特征在于,包括:第一模块,用于在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包...

【专利技术属性】
技术研发人员:王晓亮缪俊
申请(专利权)人:杭州溪塔科技有限公司
类型:发明
国别省市:

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

1