CN115373757A - 一种Promethues分片模式下集群监控数据缺失的解决方法和装置 - Google Patents
一种Promethues分片模式下集群监控数据缺失的解决方法和装置 Download PDFInfo
- Publication number
- CN115373757A CN115373757A CN202210923588.2A CN202210923588A CN115373757A CN 115373757 A CN115373757 A CN 115373757A CN 202210923588 A CN202210923588 A CN 202210923588A CN 115373757 A CN115373757 A CN 115373757A
- Authority
- CN
- China
- Prior art keywords
- sidecar
- promethues
- prometheus
- component
- instance
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书实施例公开了一种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的高可用性。
Description
技术领域
本说明书涉及计算机软件技术领域,尤其涉及一种Promethues分片模式下集群监控数据缺失的解决方法、装置、电子设备和存储介质。
背景技术
Prometheus是Kubernetes集群中首选的监控报警方案。但Prometheus本身并没有提供行之有效的多集群高可用的监控方案,而Thanos就是为了解决此问题的。ThanosSidecar是Thanos的一种工作模式,负责与Thanos Query通信以及将Prometheus数据传递到对象存储中。在多集群场景下,Prometheus通过deployment或者statefulset部署到每个集群中,并且保持副本数大于2保持高可用。在Prometheus启用hashmod分片的情况下,每个Prometheus只采集部分监控指标,那么导致Prometheus实例对应的Sidecar没有此集群的全量监控指标。由于Thanos Query同时间只能连接一个Sidecar,而一个Sidecar的数据是不完整的,那么通过Thanos Query端查询的指标监控数据出现不完整的,因此,这是需要亟待解决的技术问题。
发明内容
本说明书实施例的目的是针对上述问题,提供一种Promethues分片模式下集群监控数据缺失的解决方法、装置、电子设备和存储介质。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种Promethues分片模式下集群监控数据缺失的解决方法,在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件;包括:
启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;
部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;
当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;
所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。
第二方面,提出了一种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高可用且提高了性能。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决方法示意图之一。
图2为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决方法示意图之二。
图3为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决装置示意图之一。
图4为本说明书实施例提供的Promethues分片模式下集群监控数据缺失的解决装置示意图之二。
图5为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
下面通过具体的实例对本说明书所涉及的一种Promethues分片模式下集群监控数据缺失的解决方案进行详述。
关键术语
Kubernetes:简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理。
Prometheus:是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在k8s容器管理系统中,通常会搭配Prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。Prometheus实时存储事件。这些事件可以是与您的应用程序相关的任何事件,例如内存消耗、网络利用率或单个传入请求。基本数据单位是“度量”。每个指标都分配了一个名称,也可以引用它和一组标签。标签是任意键值数据对,可用于过滤数据库中的指标。Prometheus中的数据使用PromQL进行查询,PromQL是一种内置查询语言,可让您使用各种运算符和函数来选择、解析和格式化指标。由于Prometheus使用时间序列存储,因此,支持基于时间的范围和持续时间选择,可以轻松处理在特定时间段内添加的表面数据。
Thanos:是一组可以组成具有长期存储功能的高可用性Prometheus设置的组件。其主要目标是简化操作,保留Prometheus的可靠性,包括:Metric sources、Stores和Queriers。其中:Metric Sources数据源是生成或收集度量标准数据的组件的非常通用的定义,Source将群集中的此数据通告给潜在客户。可以通过众所周知的gRPC服务检索度量数据,Thanos提供了两个充当数据源的组件:Prometheus边车(Sidecar)和(Rule)规则节点。Store的API允许通过一组标签匹配器和时间范围来查找数据,它返回在块数据中找到的压缩样本块。它纯粹是一种数据检索API,不提供复杂的查询执行。Queriers查询器是无状态和水平可伸缩的实例,它们在集群中公开的Store API之上实现PromQL。查询者参与群集以便能够弹性地发现所有数据源和存储节点。返回的规则节点可以发现查询节点以评估记录和警报规则。基于存储节点和源节点的元数据,它们尝试最小化请求扇出以获取特定查询的数据。
Consul:是用于实现分布式系统的注册服务发现与配置的开源工具。与其他分布式服务注册与发现的方案,Consul的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。使用起来也较为简单。Consul使用Go语言编写,因此具有天然可移植性;安装包仅包含一个可执行文件,方便部署,与Docker等轻量级容器可无缝配合。
实施例一
本发明的关注点是如何解决在多集群场景下Prometheus实例的多个副本但无法使用hashmod对监控指标进行分片,造成监控指标重复采集和采集数据不完整的问题。通过注册发现机制来解决此问题。引入consul或其他等服务发现的中间件,Sidecar启动后将自身的通信地址注册到consul上,Query通过发现consul上的地址来实现与每一个Sidecar通信。由于原方案Prometheus无法使用hashmod对监控任务进行分片,所以每个promethus实例会采集所有监控指标,从而Sidecar端会有全量的监控指标数据。Sidecar通过负载均衡的方式暴露出去,即使Thanos Query同时只能连接集群中的一个Sidecar也没有问题,因为每个Sidecar端的数据是全量的。然而这种方式造成监控指标重复采集,多个Prometheus实例只是保证了高可用,无法保证高性能,并且造成了部分计算资源浪费。当集群规模庞大时,多个Prometheus实例无法分担大量的监控指标,也会造成Prometheus相应缓慢、甚至进程退出。
本发明技术方案中集群的多个Prometheus实例开启了hashmod,多个实例会均分大量的监控指标,不会有大量的重复指标。这样既保证了Prometheus高可用、也兼顾了其高性能。Prometheus实例与Sidecar一起运行,当Sidecar启动时会将自身的通信地址注册到consul上,Thanos Query在启动时会从consul读取所有Sidecar的通信地址,Thanos Query会直接去连接这些地址,那么也就实现了Thanos Query能够连接到所有的Sidecar。即使每个Sidecar的数据不是全量的,但由于Thanos Query连接了所有的Sidecar,那么ThanosQuery端的数据也是全量的。因此,如图1所示,本发明实施例的一种Promethues分片模式下集群监控数据缺失的解决方法,包括:
步骤101:在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件。
可选地,为每个所述集群部署至少2个开启hashmod分片模式的所述Promethues实例。之所以要配置至少2个Promethues,就是因为考虑到Prometheus在进行k8s指标数据监控时,要根据其配置数量均分大量的指标监控数据。
步骤102:启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程。
可选地,启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程包括:1个所述Prometheus实例对应于1个所述Sidecar进程。具体地,由于Sidecar是与Prometheus部署在一起的一个组件,Sidecar获取Prometheus的数据供Query查询,同时也将历史数据存储至对象存储;Sidecar通过实现Prometheus的Remote Read功能,实现能够接收Prometheus的指标数据,同时定时会将数据同步到对象存储。通常,集成至Prometheus的Sidecar时,一般Prometheus与Sidecar在一个pod内。
步骤103:部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址。
步骤104:当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址。
步骤105:所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Promethues实例的监控数据。
本实施例提出一种Promethues分片模式下集群监控数据缺失的解决方法的另一种实现方案如图2所示,还包括:
步骤106:当所述Query组件读取完注册于所述Consul组件的全部所述Sidecar进程对应的所述Prometheus实例监控数据后,将分片的所述监控数据恢复成完整监控数据。
实施例二
图3为本说明书的一个实施例提供的一种Promethues分片模式下集群监控数据缺失的解决装置300的结构示意图。请参考图3,在一种实施方式中Promethues分片模式下集群监控数据缺失的解决装置300,包括:
第一模块301,用于在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件。
第二模块302:用于启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程。
第三模块303,用于部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址。
第四模块304,用于当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址。
第五模块305,用于所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。
本实施例提出一种Promethues分片模式下集群监控数据缺失的解决装置的另一种实现方案,如图4所示,还包括:
第六模块306,用于当所述Query组件读取完注册于所述Consul组件的全部所述Sidecar进程对应的所述Prometheus实例监控数据后,将分片的所述监控数据恢复成完整监控数据。
应理解,本说明书实施例的一种Promethues分片模式下集群监控数据缺失的解决装置还可执行图1至图2中Promethues分片模式下集群监控数据缺失的解决装置(或设备)执行的方法,并实现Promethues分片模式下集群监控数据缺失的解决装置(或设备)在图1至图2所示实例的功能,在此不再赘述。
实施例三
图5是本说明书的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件;包括:
启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;
部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;
当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;
所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。
上述如本说明书图1至图2所示实施例揭示的一种Promethues分片模式下集群监控数据缺失的解决方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
实施例四
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1至图2所示实施例的方法,并具体用于执行以下方法:
在集群中部署开启hashmod分片模式的Promethues实例以及用于提升Promethues分布式应用性能的Thanos,所述Thanos包括Sidecar进程和Query组件;包括:
启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;
部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;
当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;
所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
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包括Sidecar进程和Query组件;
第二模块:用于启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程;
第三模块,用于部署用于实现分布式系统服务发现与配置功能的Consul组件,并向所述Consul组件注册所述Sidecar进程通信地址;
第四模块,用于当所述Query组件启动时,自动向所述Consul组件读取所有注册的所述Sidecar进程通信地址;
第五模块,用于所述Query组件根据所述Sidecar进程通信地址与相应所述Sidecar进程建立通信后,读取对应于所述Sidecar进程的所述Prometheus实例的监控数据。
6.根据权利要求5所述的一种Promethues分片模式下集群监控数据缺失的解决装置,其特征在于,所述第一模块为每个所述集群部署至少2个开启hashmod分片模式的所述Promethues实例。
7.根据权利要求5所述的一种Promethues分片模式下集群监控数据缺失的解决装置,其特征在于,所述第二模块启动所述Prometheus实例及与所述Prometheus实例对应的所述Sidecar进程包括:1个所述Prometheus实例对应于1个所述Sidecar进程。
8.根据权利要求5所述的一种Promethues分片模式下集群监控数据缺失的解决装置,其特征在于,还包括第六模块,用于当所述Query组件读取完注册于所述Consul组件的全部所述Sidecar进程对应的所述Prometheus实例监控数据后,将分片的所述监控数据恢复成完整监控数据。
9.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923588.2A CN115373757A (zh) | 2022-08-02 | 2022-08-02 | 一种Promethues分片模式下集群监控数据缺失的解决方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210923588.2A CN115373757A (zh) | 2022-08-02 | 2022-08-02 | 一种Promethues分片模式下集群监控数据缺失的解决方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115373757A true CN115373757A (zh) | 2022-11-22 |
Family
ID=84064474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210923588.2A Pending CN115373757A (zh) | 2022-08-02 | 2022-08-02 | 一种Promethues分片模式下集群监控数据缺失的解决方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373757A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904879A (zh) * | 2023-01-06 | 2023-04-04 | 天津卓朗昆仑云软件技术有限公司 | 用于Prometheus集群的实例分配系统、方法及设备 |
-
2022
- 2022-08-02 CN CN202210923588.2A patent/CN115373757A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904879A (zh) * | 2023-01-06 | 2023-04-04 | 天津卓朗昆仑云软件技术有限公司 | 用于Prometheus集群的实例分配系统、方法及设备 |
CN115904879B (zh) * | 2023-01-06 | 2023-06-06 | 天津卓朗昆仑云软件技术有限公司 | 用于Prometheus集群的实例分配系统、方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691716B2 (en) | Dynamic partitioning techniques for data streams | |
CA2929777C (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
CA2930101C (en) | Partition-based data stream processing framework | |
US9276959B2 (en) | Client-configurable security options for data streams | |
US9858322B2 (en) | Data stream ingestion and persistence techniques | |
US10338958B1 (en) | Stream adapter for batch-oriented processing frameworks | |
CN110149364A (zh) | 基于数据服务平台提供微服务的方法、装置、存储介质 | |
US11550641B2 (en) | Extending the kubernetes API in-process | |
CN113448837B (zh) | 开发及测试环境部署方法、系统、电子设备及介质 | |
US11991094B2 (en) | Metadata driven static determination of controller availability | |
CN113961312A (zh) | 目标服务的部署方法、装置和电子设备 | |
CN112968960A (zh) | 一种基于开源组件的微服务架构 | |
US10303678B2 (en) | Application resiliency management using a database driver | |
CN109445937B (zh) | 一种组件化编程及无缝执行方法 | |
CN115373757A (zh) | 一种Promethues分片模式下集群监控数据缺失的解决方法和装置 | |
US20210349946A1 (en) | Method and system for identifying, managing, and monitoring data dependencies | |
CN115237889A (zh) | 数据库切换方法及装置、存储介质、计算机设备 | |
CN115328608A (zh) | 一种Kubernetes容器垂直伸缩调节方法和装置 | |
US20220035726A1 (en) | Client driven multi-site consistency for object storage | |
CN113050983A (zh) | 中间件的设计方法、系统、电子设备及可读存储介质 | |
CN113342806A (zh) | 大数据处理方法、装置、存储介质及处理器 | |
CN117349035B (zh) | 工作负载的调度方法、装置、设备及存储介质 | |
US11768704B2 (en) | Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling | |
CN113760836A (zh) | 一种宽表计算方法和装置 | |
CN115550382A (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 |