CN116881084A - 基于prometheus的监控方法、装置、设备及存储介质 - Google Patents

基于prometheus的监控方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116881084A
CN116881084A CN202310967590.4A CN202310967590A CN116881084A CN 116881084 A CN116881084 A CN 116881084A CN 202310967590 A CN202310967590 A CN 202310967590A CN 116881084 A CN116881084 A CN 116881084A
Authority
CN
China
Prior art keywords
promethaus
monitoring
application
instance
target
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
Application number
CN202310967590.4A
Other languages
English (en)
Inventor
郑卫星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN202310967590.4A priority Critical patent/CN116881084A/zh
Publication of CN116881084A publication Critical patent/CN116881084A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Pathology (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及监控技术及数字医疗领域,揭露一种基于prometheus的监控方法,包括:获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用;对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。本发明还提出一种基于prometheus的监控装置、设备以及介质,可用于医疗领域,提高了基于prometheus的在线医疗问诊应用等医疗应用的监控可用性。

Description

基于prometheus的监控方法、装置、设备及存储介质
技术领域
本发明涉及监控技术,可用于医疗健康领域,尤其涉及一种基于prometheus的监控方法、装置、电子设备及存储介质。
背景技术
在医疗科技领域,为了增强医疗应用的安全性,因此,将医疗应用部署在k8s中已将应用容器化,进一步地,如在线医疗问诊应用,为用户提供在线挂号、在线诊疗、在线处方、在线支付、远程会诊等服务,应用的平稳运行对用户的影响较大,为了保证应用的稳定运行,需要对k8s中部署的应用进行监控,通常基于prometheus进行监控。
但是现有的基于prometheus的监控方法,直接利用单个prometheus实例监控医疗应用(如在线医疗问诊应用)的所有应用实例,当该prometheus实例挂掉时,出现监控中断,导致在线医疗问诊应用等医疗应用的监控的可用性较差。
发明内容
本发明提供一种基于prometheus的监控方法、装置、电子设备及存储介质,其主要目的在于提高基于prometheus的在线医疗问诊应用等医疗应用的监控可用性。
获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;
获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;
对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;
利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
可选地,所述对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例,包括:
获取每个所述prometheus实例的地址,得到对应的prometheus实例地址;
基于所述prometheus实例地址向所述prometheus实例发送HTTP请求,以得到所述prometheus实例的响应状态码及响应延迟;
根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例。
可选地,所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
根据所述响应状态码判断所述prometheus实例的响应状态是否正常;
当所述prometheus实例的响应状态正常,判断所述prometheus实例的响应延迟是否小于预设延迟阈值;
当所述prometheus实例的响应延迟小于所述预设延迟阈值,则将该prometheus实例确定为目标prometheus实例。
可选地,所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
将所述响应状态码为预设目标状态码的所述prometheus实例确定为初始prometheus实例;
将小于预设延迟阈值的所述响应延迟确定为目标响应延迟;
将所述目标响应延迟对应的所述初始prometheus实例确定为所述目标prometheus实例。
可选地,所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
将所述响应状态码为预设目标状态码的所述prometheus实例确定为初始prometheus实例;
将所有所述初始prometheus实例按照对应的响应延迟按照从小到大进行排序,得到初始prometheus实例序列;
对所述初始prometheus实例序列中的初始prometheus实例进行排名筛选,得到所述目标prometheus实例。
可选地,所述为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,包括:
将所述目标prometheus实例对应的监控有状态应用确定为初始监控状态应用;
在所有所述初始监控状态应用随机选取预设数量的初始监控状态应用,得到目标监控状态应用;
在每个所述目标监控状态应用对应的所有目标prometheus实例中分别选取一个目标prometheus实例,得到所述应用实例对应的所有监控实例。
为了解决上述问题,本发明还提供一种基于prometheus的监控装置,所述装置包括:
实例筛选模块,用于获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
实例分配模块,用于为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;
分片监控模块,用于利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
可选地,所述为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,包括:
将所述目标prometheus实例对应的监控有状态应用确定为初始监控状态应用;
在所有所述初始监控状态应用随机选取预设数量的初始监控状态应用,得到目标监控状态应用;
在每个所述目标监控状态应用对应的所有目标prometheus实例中分别选取一个目标prometheus实例,得到所述应用实例对应的所有监控实例。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的基于prometheus的监控方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于prometheus的监控方法。
本发明实施例为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。与背景技术相比,本发明实施例基于多个监控实例对同一个应用实例监控,且不同监控实例属于所述监控有状态应用均不相同,因此,当一个监控实例或监控有状态应用中断仍然还有其他监控实例可继续对需要监控的应用实例进行监控,提高了监控的可用性。因此本发明实施例提出的基于prometheus的监控方法、装置、电子设备及可读存储介质提高了基于prometheus的在线医疗问诊应用等医疗应用的监控可用性。
附图说明
图1为本发明一实施例提供的基于prometheus的监控方法的流程示意图;
图2为本发明一实施例提供的基于prometheus的监控装置的模块示意图;
图3为本发明一实施例提供的实现基于prometheus的监控方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种基于prometheus的监控方法。所述基于prometheus的监控方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述基于prometheus的监控方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示的本发明一实施例提供的基于prometheus的监控方法的流程示意图,在本发明实施例中,所述基于prometheus的监控方法包括以下步骤:
S1、获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;
本发明实施例中待监控应用为在所述目标k8s(即Kubernetes)中部署的需要监控的无状态应用,可以为医疗应用,可选地,本发明实施例中所述待监控应用为在线医疗问诊应用,为用户提供在线挂号、在线诊疗、在线处方、在线支付、远程会诊等服务,帮助用户节省时间,降低成本,提高就医效率和质量等。所述应用实例为所述待监控应用部署的所有应用副本,如:所述待监控应用为在线医疗问诊应用A,那么应用实力即为在线医疗问诊应用A部署的所有应用副本,本发明实施例对所述应用实例的数量不作限制。
S2、获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;
本发明实施例中利用prometheus对所述待监控应用进行监控,因此,获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,为了保证prometheus实例的高可用性,以保证一个监控有状态应用无法运行时,仍有另一个监控有状态应用,所述prometheus实例属于的监控有状态应用即为该prometheus实例属于的有状态应用。
本发明实施例中所述监控有状态应用为在所述目标k8s中部署的有状态服务。
S3、对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
本发明实施例中为了进一步筛选可用的prometheus实例,对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例。
详细地,本发明实施例中所述对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例,包括:
获取每个所述prometheus实例的地址,得到对应的prometheus实例地址;
基于所述prometheus实例地址向所述prometheus实例发送HTTP请求,以得到所述prometheus实例的响应状态码及响应延迟;
根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例。
可选地,本发明实施例中所述prometheus实例的地址为所述prometheus实例的网络地址,如http地址,本发明实施例对此不作限制。如:获取所述prometheus实例的http地址,得到该prometheus实例的对应的prometheus实例地址,在向该prometheus实例地址发送HTTP请求,得到该prometheus实例的响应状态码及响应延迟。
进一步地,本发明实施例中所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
根据所述响应状态码判断所述prometheus实例的响应状态是否正常;
当所述prometheus实例的响应状态正常,判断所述prometheus实例的响应延迟是否小于预设延迟阈值;
当所述prometheus实例的响应延迟小于所述预设延迟阈值,则将该prometheus实例确定为目标prometheus实例。
可选地,本发明实施例中当所述响应状态码为200-299时响应状态正常,本发明实施例中所述预设延迟阈值为预设的所述prometheus实例的正常响应时间参数,本发明实施例对此不作限制。
本发明一实施例中所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
将所述响应状态码为预设目标状态码的所述prometheus实例确定为初始prometheus实例;
将小于预设延迟阈值的所述响应延迟确定为目标响应延迟;
将所述目标响应延迟对应的所述初始prometheus实例确定为所述目标prometheus实例。
具体地,本发明实施例中所述预设目标状态码可以为200-299中的某一状态码,可选地,所述预设目标状态码为200。
本发明一实施例中所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
将所述响应状态码为预设目标状态码的所述prometheus实例确定为初始prometheus实例;
将所有所述初始prometheus实例按照对应的响应延迟按照从小到大进行排序,得到初始prometheus实例序列;
对所述初始prometheus实例序列中的初始prometheus实例进行排名筛选,得到所述目标prometheus实例。
详细地,本发明实施例中对所述初始prometheus实例序列中的初始prometheus实例进行排名筛选,得到所述目标prometheus实例,包括:
筛选所述初始prometheus实例序列中预设排名之前的所有初始prometheus实例序列,得到所述目标prometheus实例。
具体地,本发明实施例中所述目标prometheus实例数量大于等于2。
S4、为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例对应的每个监控实例属于的监控有状态应用均不相同;
本发明实施例中为了保证监控的高可用性,利用至少两个prometheus实例监控一个应用实例,当一个prometheus实例无法正常监控时,仍有其他的prometheus实例在对该应用实例进行监控,提高了每个应用实例监控的高可用性。因此,本发明实施例为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例对应的每个监控实例属于的监控有状态应用均不相同。
详细地,本发明实施例中所述为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,包括:
将所述目标prometheus实例对应的监控有状态应用确定为初始监控状态应用;
在所有所述初始监控状态应用随机选取预设数量的初始监控状态应用,得到目标监控状态应用;
在每个所述目标监控状态应用对应的所有目标prometheus实例中分别选取一个目标prometheus实例,得到所述应用实例对应的所有监控实例。
例如:共3个初始监控状态应用,分别为A应用、B应用、C应用,所述预设数量为2,因此,在3个初始监控状态应用中随机选取两个初始监控状态应用,如选取的为A应用、C应用,即A应用、C应用为目标监控状态应用,有一个应用实例为A节点,在每个所述目标监控状态应用对应的所有目标prometheus实例中分别选取一个目标prometheus实例,得到所述应用实例的监控实例,那么A节点共有两个监控实例,一个为A应用对应的监控实例(即在A应用对应的所有目标prometheus实例中随机选取一个目标prometheus实例),另一个为B应用对应的监控实例(即在B应用对应的所有目标prometheus实例中随机选取一个目标prometheus实例)。
具体地,本发明实施例中所述预设数量为大于或等于2的整数。
S5、利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
本发明实施例中利用所述应用实例的所有监控实例对该应用实例进行监控,通过对所有应用实例的监控,从而实现对所述待监控应用的监控。例如:所述待监控应用为在线医疗问诊应用A,利用所述应用实例的所有监控实例对该应用实例进行监控即可实现对在线医疗问诊应用A的监控。
详细地,本发明实施例中所述利用所述应用实例的所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控,包括:
利用所述应用实例对应的每个监控实例收集该应用实例的监控数据,得到所述应用实例对应的每个监控实例的监控数据;
对所述应用实例对应的所有监控实例的监控数据进行汇总去重,得到该应用实例对应的实例监控数据;
将所有所述应用实例对应的实例监控数据进行汇总去重,得到所述待监控应用的应用监控数据;
基于所述应用监控数据,实现对所述待监控应用的监控。
进一步地,本发明实施例中所述利用所述应用实例对应的每个监控实例收集该应用实例的监控数据,得到所述应用实例对应的每个监控实例的监控数据,包括:
利用所述目标k8s中部署的与所述监控实例绑定的config-reloader容器,得到所述监控实例的配置容器;
获取包含所述应用实例的监控目标的配置文件模板及所述监控实例的变量;
启动所述配置文件模板及所述监控实例的变量生成配置文件,并将所述配置文件下发给对应的监控实例,以收集所述应用实例的监控数据。
本发明实施例中所述配置文件模板为用Prometheus提供的配置语言编写的配置文件模板,设置想要搜集的应用实例的监控目标(应用实例提供的一个来暴露监控数据HTTP端点)和标签(如replica、shard等标签用以区分不同的监控实例)。
本发明实施例中所述配置文件模板中只有标签,而没有对应的标签值,因此,利用所述监控实例的变量为所述配置文件模板中的标签赋值,得到配置文件。
进一步地,本发明实施例中所述应用监控数据即为所述待监控应用的监控数据,可利用所述应用监控数据实现对所述待监控应用的监控,例如:所述待监控应用为医疗应用如在线医疗问诊应用,可根据所述监控数据对所述在线医疗问诊应用进行监控告警等操作,可以及时发现在线医疗问诊应用的运行问题,及时解决,进而提高用户的使用体验(如避免用户出现问诊失败、问诊中断的情况),本发明实施例对此不作限制。
如图2所示,是本发明基于prometheus的监控装置的功能模块图。
本发明所述基于prometheus的监控装置100可以安装于电子设备中。根据实现的功能,所述基于prometheus的监控装置可以包括实例筛选模块101、实例分配模块102、分片监控模块103,本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述实例筛选模块101用于获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
所述实例分配模块102用于为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;
所述分片监控模块103用于利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
详细地,本发明实施例中所述基于prometheus的监控装置100中所述的各模块在使用时采用与上述图1中所述的基于prometheus的监控方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图3所示,是本发明实现基于prometheus的监控方法的电子设备的结构示意图。
所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于prometheus的监控程序。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如基于prometheus的监控程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如基于prometheus的监控程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述通信总线12可以是外设部件互连标准(PerIPheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障分类电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
可选地,所述通信接口13可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备中的所述存储器11存储的基于prometheus的监控程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;
获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;
对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;
利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明实施例还可以提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;
获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;
对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;
利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种基于prometheus的监控方法,其特征在于,所述方法包括:
获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;
获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;
对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;
利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
2.如权利要求1所述的基于prometheus的监控方法,其特征在于,所述对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例,包括:
获取每个所述prometheus实例的地址,得到对应的prometheus实例地址;
基于所述prometheus实例地址向所述prometheus实例发送HTTP请求,以得到所述prometheus实例的响应状态码及响应延迟;
根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例。
3.如权利要求2中所述的基于prometheus的监控方法,其特征在于,所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
根据所述响应状态码判断所述prometheus实例的响应状态是否正常;
当所述prometheus实例的响应状态正常,判断所述prometheus实例的响应延迟是否小于预设延迟阈值;
当所述prometheus实例的响应延迟小于所述预设延迟阈值,则将该prometheus实例确定为目标prometheus实例。
4.如权利要求1所述的基于prometheus的监控方法,其特征在于,所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
将所述响应状态码为预设目标状态码的所述prometheus实例确定为初始prometheus实例;
将小于预设延迟阈值的所述响应延迟确定为目标响应延迟;
将所述目标响应延迟对应的所述初始prometheus实例确定为所述目标prometheus实例。
5.如权利要求1所述的基于prometheus的监控方法,其特征在于,所述根据所述响应状态码及所述响应延迟对所有所述prometheus实例进行筛选,得到所述目标prometheus实例,包括:
将所述响应状态码为预设目标状态码的所述prometheus实例确定为初始prometheus实例;
将所有所述初始prometheus实例按照对应的响应延迟按照从小到大进行排序,得到初始prometheus实例序列;
对所述初始prometheus实例序列中的初始prometheus实例进行排名筛选,得到所述目标prometheus实例。
6.如权利要求1至5中任意一项所述的基于prometheus的监控方法,其特征在于,所述为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,包括:
将所述目标prometheus实例对应的监控有状态应用确定为初始监控状态应用;
在所有所述初始监控状态应用随机选取预设数量的初始监控状态应用,得到目标监控状态应用;
在每个所述目标监控状态应用对应的所有目标prometheus实例中分别选取一个目标prometheus实例,得到所述应用实例对应的所有监控实例。
7.一种基于prometheus的监控装置,其特征在于,包括:
实例筛选模块,用于获取目标k8s中的待监控应用及所述待监控应用部署的所有应用实例;获取所述目标k8s中所有的prometheus实例及所述prometheus实例属于的监控有状态应用,其中,所述目标k8s中至少部署了两个所述监控有状态应用;对所有所述prometheus实例进行负载可用性筛选,得到目标prometheus实例;
实例分配模块,用于为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,其中,所述应用实例的每个监控实例属于的监控有状态应用均不相同;
分片监控模块,用于利用所述应用实例对应所有监控实例对该应用实例进行监控,以实现对所述待监控应用的监控。
8.如权利要求7所述的基于prometheus的监控方法,其特征在于,所述为每个所述应用实例分配至少两个目标prometheus实例,得到每个所述应用实例对应的所有监控实例,包括:
将所述目标prometheus实例对应的监控有状态应用确定为初始监控状态应用;
在所有所述初始监控状态应用随机选取预设数量的初始监控状态应用,得到目标监控状态应用;
在每个所述目标监控状态应用对应的所有目标prometheus实例中分别选取一个目标prometheus实例,得到所述应用实例对应的所有监控实例。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一项所述的基于prometheus的监控方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于prometheus的监控方法。
CN202310967590.4A 2023-08-02 2023-08-02 基于prometheus的监控方法、装置、设备及存储介质 Pending CN116881084A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310967590.4A CN116881084A (zh) 2023-08-02 2023-08-02 基于prometheus的监控方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310967590.4A CN116881084A (zh) 2023-08-02 2023-08-02 基于prometheus的监控方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116881084A true CN116881084A (zh) 2023-10-13

Family

ID=88262147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310967590.4A Pending CN116881084A (zh) 2023-08-02 2023-08-02 基于prometheus的监控方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116881084A (zh)

Similar Documents

Publication Publication Date Title
CN112506559B (zh) 基于网关的灰度发布方法、装置、电子设备及存储介质
CN114124968B (zh) 基于行情数据的负载均衡方法、装置、设备及介质
CN113342498A (zh) 并发请求处理方法、装置、服务器及存储介质
CN112948723A (zh) 接口调用方法、装置及相关设备
CN113923218B (zh) 编解码插件分布式部署方法、装置、设备及介质
CN114185502B (zh) 基于产线环境的日志打印方法、装置、设备及介质
CN116881084A (zh) 基于prometheus的监控方法、装置、设备及存储介质
CN114897624A (zh) 保单数据合并方法、装置、设备及存储介质
CN114675976A (zh) 基于kubernetes的GPU共享方法、装置、设备及介质
CN115022171A (zh) 更新接口的优化方法、装置、电子设备及可读存储介质
CN114820132A (zh) 订单派发方法、装置、电子设备及存储介质
CN115934576B (zh) 交易场景下的测试用例生成方法、装置、设备及介质
CN115190016B (zh) 系统通用开关配置方法、装置、设备及存储介质
CN112000945B (zh) 基于人工智能的授权方法、装置、设备及介质
CN112527842B (zh) 系统流程推送方法、装置、电子设备及计算机可读存储介质
CN115174691B (zh) 基于页面请求的大数据加载方法、装置、设备及介质
CN113542387B (zh) 系统发布方法、装置、电子设备及存储介质
CN114598624B (zh) 集群监控方法、装置、电子设备及可读存储介质
CN116455756B (zh) 基于行情推送及查询的带宽均衡方法、设备及介质
CN117632383A (zh) 分布式定时任务调度方法、装置、设备及存储介质
CN115454610A (zh) 实时进度反馈方法、装置、电子设备及计算机可读存储介质
CN116467048A (zh) 任务资源优化方法、装置、设备及存储介质
CN117851506A (zh) 基于git的跨库同步方法、装置、电子设备及存储介质
CN116936049A (zh) 医疗权益核销设计方法、装置、电子设备及介质
CN114510293A (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