CN115567526B - 数据监控方法、装置、设备及介质 - Google Patents

数据监控方法、装置、设备及介质 Download PDF

Info

Publication number
CN115567526B
CN115567526B CN202211150190.6A CN202211150190A CN115567526B CN 115567526 B CN115567526 B CN 115567526B CN 202211150190 A CN202211150190 A CN 202211150190A CN 115567526 B CN115567526 B CN 115567526B
Authority
CN
China
Prior art keywords
monitoring
data
application
monitoring data
metadata
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.)
Active
Application number
CN202211150190.6A
Other languages
English (en)
Other versions
CN115567526A (zh
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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202211150190.6A priority Critical patent/CN115567526B/zh
Publication of CN115567526A publication Critical patent/CN115567526A/zh
Application granted granted Critical
Publication of CN115567526B publication Critical patent/CN115567526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了数据监控方法、装置、设备及介质,其通过接收监控请求;根据监控请求通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;根据元数据得到集群***的应用层面的应用监控数据;根据应用监控数据生成告警信息;通过使采集器部署在计算单元的容器中,简化了***及应用接入的复杂度,直接通过采集器获取应用层面的监控数据,无需对应用端进行改动,对应用端无侵入,相对于在集群外独立部署采集器大大降低了获取监控数据时延,提高数据采集效率。

Description

数据监控方法、装置、设备及介质
技术领域
本申请涉及数据库领域,尤其涉及数据监控方法、装置、设备及介质。
背景技术
目前,对于集群***,需要在集群***的每个应用中单独接入代理采集器,以采集集群***的应用层面的监控数据,这样会使得代理采集器的数量多,则需要对应用端进行修改,且在监控过程中需要对应用端进行侵入式连接,导致无法根据自身需求自定义监控数据、监控流程复杂和集群***的维护成本加大的问题。
发明内容
本申请的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
为此,本申请实施例的一个目的在于提供数据监控方法、装置、设备及介质,能够通过在计算单元的容器中部署的采集器获取集群***的应用层面的监控数据,提高数据采集效率。
为实现上述目的,本申请实施例的第一方面提供了一种数据监控方法,应用于集群***,所述数据监控方法包括:
接收监控请求;
根据所述监控请求,通过采集器获取所述集群***的计算单元的元数据,所述采集器部署在所述计算单元的容器中;
根据所述元数据得到所述集群***的应用层面的应用监控数据;
根据所述应用监控数据生成告警信息。
在一些实施例中,在所述根据所述应用监控数据生成告警信息之前,所述数据监控方法还包括:
根据所述监控请求,获取所述集群***的***层面的***监控数据;
所述根据所述应用监控数据生成告警信息,包括:
根据所述应用监控数据和所述***监控数据生成告警信息。
在一些实施例中,所述集群***包括至少一个节点,所述计算单元在所述节点上运行;
所述获取所述集群***的***层面的***监控数据,包括:
获取所述节点的第一监控数据,所述第一监控数据用于反映所述节点的主机运行情况;
获取所述节点的第二监控数据,所述第二监控数据用于反映所述节点的容器运行情况;
获取所述集群***的容器管理***层面的第三监控数据。
在一些实施例中,所述集群***包括多个集群,所述集群设置有监控数据库,所有的监控数据库与总数据库连接;
在所述根据所述应用监控数据和所述***监控数据生成告警信息之前,所述数据监控方法包括:
根据所述监控数据库所配置的第一数据采集任务,通过所述集群的第一暴露接口获取所述应用监控数据和所述***监控数据;
将所述应用监控数据和所述***监控数据存储于所述监控数据库;
根据所述总数据库所配置的第二数据采集任务,通过所述监控数据库的第二暴露接口获取所述监控数据库中存储的所述应用监控数据和所述***监控数据;
将从所述监控数据库获取的所述应用监控数据和所述***监控数据存储于所述总数据库。
在一些实施例中,所述根据所述应用监控数据和所述***监控数据生成告警信息,包括:
从所述总数据库调用所述应用监控数据和所述***监控数据;
从所述应用监控数据和所述***监控数据确定告警数据;
根据所述告警数据生成所述告警信息。
在一些实施例中,所述根据所述监控请求,通过采集器获取所述集群***的计算单元的元数据,包括:
根据所述监控请求,通过所述采集器调用所述集群***的通信接口来获取所述元数据;
将所述元数据存储于全量列表中。
在一些实施例中,所述元数据包括容器框架应用所对应的计算中心的名称、互联网协议地址和管理扩展端口;
所述根据所述元数据得到所述集群***的应用层面的应用监控数据,包括:
从所述全量列表获取所述计算中心的名称、互联网协议地址和管理扩展端口;
根据所述计算中心的名称、互联网协议地址和管理扩展端口得到所述应用监控数据;
将所述应用监控数据进行格式转换,得到所述应用监控数据的字符串文本,所述字符串文本与监控数据库的数据采集格式相匹配。
为实现上述目的,本申请实施例的第二方面提供了一种数据监控装置,应用于集群***,所述数据监控装置包括:
请求接收单元,用于接收监控请求;
元数据获取单元,用于根据所述监控请求,通过采集器获取所述集群***的计算单元的元数据,所述采集器部署在所述计算单元的容器中;
应用监控数据获取单元,用于根据所述元数据得到所述集群***的应用层面的应用监控数据;
告警生成单元,用于根据所述应用监控数据生成告警信息。
为实现上述目的,本申请实施例的第三方面提供了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如上所述的数据监控方法。
为实现上述目的,本申请实施例的第三方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的数据监控方法。
本申请实施例所公开的数据监控方法、装置、设备及介质,其通过接收监控请求;根据监控请求通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;根据元数据得到集群***的应用层面的应用监控数据;根据应用监控数据生成告警信息;通过使采集器部署在计算单元的容器中,简化了***及应用接入的复杂度,直接通过采集器获取应用层面的监控数据,无需对应用端进行改动,对应用端无侵入,相对于在集群外独立部署采集器大大降低了获取监控数据时延,提高数据采集效率。
附图说明
为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本申请实施例所提供的数据监控方法的步骤图;
图2是本申请实施例所提供的步骤S210的子步骤图;
图3是本申请实施例所提供的步骤S220的子步骤图;
图4是本申请实施例所提供的步骤S230的步骤图;
图5是本申请实施例所提供的步骤S230的子步骤图;
图6是本申请实施例所提供的步骤S241至步骤S244的步骤图;
图7是本申请实施例所提供的步骤S300的子步骤图;
图8是本申请实施例所提供的集群***的示意结构图;
图9是本申请实施例所提供的数据监控装置的结构图;
图10是本申请实施例所提供的电子设备的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先对本申请中涉及的若干名词进行解析:
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP):是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,自然语言处理是一门融语言学、计算机科学、数学于一体的科学。这一领域涉及的自然语言即人们日常使用的语言,所以它与语言学的研究也有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,机器学习(深度学习)通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
集群***(clustered system),是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务***,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序,***资源和数据,并以单一***的模式加以管理。
为了解决相关技术中的问题,本申请实施例的一个目的在于提供数据监控方法、装置、设备及介质,其通过接收监控请求;根据监控请求通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;根据元数据得到集群***的应用层面的应用监控数据;根据应用监控数据生成告警信息;通过使采集器部署在计算单元的容器中,简化了***及应用接入的复杂度,直接通过采集器获取应用层面的监控数据,无需对应用端进行改动,对应用端无侵入,相对于在集群外独立部署采集器大大降低了获取监控数据时延,提高数据采集效率。
下面结合附图,对本申请实施例作进一步阐述。
本申请的实施例提供了一种数据监控方法,应用于集群***。参照图8,集群***包括多个集群,集群包括多个节点,计算单元在节点上运行。
节点node是集群中最小的计算硬件单元,它是集群中单个机器的表示。节点可以是数据中心中的物理机器,也可以是云供应商上的虚拟机。通过设置节点不必担心任何单个机器的独特特性,而是可以简单地将每台机器看作一组可以使用的CPU资源和RAM资源。这样,任何机器都可以替代集群中的任何其他机器。节点汇聚资源,形成更强大的机器。当将程序部署到集群中时,它将智能地处理将工作分配给你的各个节点。如果添加或删除了任何节点,集群将根据需要在工作中进行转换。
容器是在容器管理***上运行的程序。当然也可以将多个程序添加到单个容器中。有许多预先构建的映像可以部署在容器管理***上。容器化允许创建自足式的Linux执行环境。任何程序和它的所有依赖项都可以打包成一个文件。创建一个容器可以通过编程方式完成,从而形成强大的CI和CD管道。
计算单元Pod是容器管理***的基本计算单元。容器管理***通常不直接运行容器,将一个或多个容器封装到计算单元Pod该高级结构中。相同Pod中的任何容器都将共享相同的名称空间和本地网络。容器可以很容易地与其他容器在相同的容器中进行通信,就像它们在同一台机器上同时保持一定程度的隔离。
计算单元Pod通常由一个抽象层来管理,该抽象层被称为部署(Deployment)。部署的主要目的是声明一个Pod应该同时运行多少个副本。当将部署添加到集群中时,它将自动地旋转加速所需的计算单元Pod数量,然后监视它们。如果一个计算单元Pod消失,部署将自动重新创建它。只需声明***的期望状态,部署即可实现自动管理。
参照图1,数据监控方法,包括但不限于以下步骤:
步骤S100,接收监控请求;
步骤S210,根据监控请求,通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;
步骤S220,根据元数据得到集群***的应用层面的应用监控数据;
步骤S300,根据应用监控数据生成告警信息。
对于步骤S100,用户通过操作终端向集群***的后台服务器发送监控请求,集群***的后台服务器接收用户的监控请求。
具体地,本申请中的操作终端可以包括但不限于智能手表、智能手机、电脑、个人数字助理(Personal Digital Assistant,PDA)、智能语音交互设备、智能家电或者车载终端中的任意一种或者多种。
操作终端与服务器之间可以通过无线网络或有线网络建立通信连接,该无线网络或有线网络使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan AreaNetwork,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
对于步骤S210和步骤S220,根据监控请求,通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据,根据元数据得到集群***的应用层面的应用监控数据。
通过将采集器部署在计算单元的容器中,简化了***及应用接入的复杂度,能够直接通过采集器对应用层面的监控数据进行无侵入式采集,无需对应用端进行改动,对应用端无侵入;相对于在集群外独立部署采集器大大降低了获取监控数据时延,提高数据采集效率。
采集器的线程处理利用率高,能满足监控数据的高时效性。
参照图2,具体地,对于步骤S210,根据监控请求,通过采集器获取集群***的计算单元的元数据,包括但不限于以下步骤:
步骤S211,根据监控请求,通过采集器调用集群***的通信接口来获取元数据;
步骤S212,将元数据存储于全量列表中。
具体地,元数据包括容器框架应用所对应的计算中心的名称、互联网协议地址和管理扩展端口。互联网协议地址即为ip地址,管理扩展端口即为jmx端口。
可以理解的是,本实施例给出了元数据包括容器框架应用所对应的计算中心的名称、互联网协议地址和管理扩展端口的例子,但这并不能对本申请实施例中的元数据的类型进行限制。在其他实施例中,元数据可以采用其他类型数据,例如计算中心的性能数据等。
对于步骤S211,采集器通过调用集群的APIserver接口获取当前集群的全量namespace中每个部署的应用所对应的每个计算单元pod的元数据。
对于步骤S212,将计算中心的名称、互联网协议地址和管理扩展端口存储在一个全量列表中,该全量列表具体为一个全量的pod列表。
参照图3,对于步骤S220,根据元数据得到集群***的应用层面的应用监控数据,包括:
步骤S221,从全量列表获取计算中心的名称、互联网协议地址和管理扩展端口;
步骤S222,根据计算中心的名称、互联网协议地址和管理扩展端口得到应用监控数据;
步骤S223,将应用监控数据进行格式转换,得到应用监控数据的字符串文本,字符串文本与监控数据库的数据采集格式相匹配。
对于步骤S221,基于pks API获取全量的pod列表,然后从全量的pod列表读取每个计算单元pod的元数据,即计算中心的名称、互联网协议地址和管理扩展端口。
对于步骤S222,循环遍历每个计算单元pod的互联网协议地址和管理扩展端口,根据计算中心的名称获取该名称对应的计算中心pod的应用监控数据。具体地,应用监控数据为自定义的springboot监控数据。
可以理解的是,如果互联网协议地址为192.168.110.1,管理扩展端口为88,则互联网协议地址和管理扩展端口可以组成192.168.110.1:88。
对于步骤S223,由于在后续步骤中需要将应用监控数据存储在监控数据库中,因此需要将应用监控数据进行格式转换,得到应用监控数据的字符串文本,使得字符串文本与监控数据库的数据采集格式相匹配。
具体地,集群***的应用层面的应用监控数据包括springboot的当前线程繁忙数(currentThreadsBusy)、jvm内存使用值(usedMemory)、堆内存使用值(heapMemory)、进程OldGC耗时(OldGCTime)、数据库连接池使用率(useJdbcPercent)、数据库活跃连接数(ActiveCount)等自定义的监控数据。
可以理解的是,本实施例给出了应用监控数据包括springboot的当前线程繁忙数、jvm内存使用值、堆内存使用值、进程OldGC耗时、数据库连接池使用率、数据库活跃连接数的例子,但这并不能对本申请实施例中的应用监控数据的类型进行限制。在其他实施例中,应用监控数据可以采用其他类型数据,例如数据库繁忙连接数等。
springboot框架能够提供具有控制反转特性的容器,用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Springboot框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Springboot框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Springboot框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Springboot框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Springboot框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,***可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。
springboot框架中具有两个非常重要的策略:开箱即用(Outofbox)和约定优于配置(Convention over configuration)。开箱即用是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置是一种由SpringBoot本身来配置目标结构,由开发人员在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了bug定位的复杂性,减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
参照图4,数据监控方法还包括:
步骤S230,根据监控请求,获取集群***的***层面的***监控数据。
参照图5,对于步骤S230,根据监控请求,获取集群***的***层面的***监控数据,包括但不限于以下步骤:
步骤S231,获取节点的第一监控数据,第一监控数据用于反映节点的主机运行情况;
步骤S232,获取节点的第二监控数据,第二监控数据用于反映节点的容器运行情况;
步骤S233,获取集群***的容器管理***层面的第三监控数据。
对于步骤S231,通过在集群中部署的采集组件,例如node_exporter组件,采集节点的第一监控数据,第一监控数据用于反映节点的主机运行情况。具体地,主机***层面的第一监控数据包括***CPU、内存、磁盘等Linux主机***维度监控数据。
可以理解的是,本实施例给出了节点的第一监控数据包括***CPU、内存、磁盘等Linux主机***维度监控数据的例子,但这并不能对本申请实施例中的第一监控数据的类型进行限制。在其他实施例中,第一监控数据可以采用其他类型数据,例如meminfo数据等。
node_exporter组件是集群的指标数据收集组件。它负责从目标jobs收集数据,并把收集到的数据转换为集群支持的时序数据格式。和传统的指标数据收集组件不同的是,node_exporter组件只负责收集,并不向服务端发送数据,而是等待数据库主动抓取。node_exporter组件通常用于采集节点的运行指标,包括节点的cpu、load、filesystem、meminfo、network等基础监控指标数据。
对于步骤S232,通过在集群中部署的采集组件,例如cAvisor组件,采集节点的第二监控数据,第二监控数据用于反映节点的容器运行情况。具体地,节点的第二监控数据包括node节点上docker容器的***CPU、内存、磁盘等容器***维度监控数据。
可以理解的是,本实施例给出了节点的第二监控数据包括node节点上docker容器的***CPU、内存、磁盘等容器***维度监控数据的例子,但这并不能对本申请实施例中的第二监控数据的类型进行限制。在其他实施例中,第二监控数据可以采用其他类型数据,例如容器当前的内存使用量等。
具体地,cAvisor组件可以监控以下指标:过去10秒容器CPU的平均负载、容器在每个CPU内核上的累积占用时间、CPU累积占用时间、容器中文件***的使用量、容器可以使用的文件***总量、容器累积读取数据的总量、容器累积写入数据的总量、容器的最大内存使用量、容器当前的内存使用量、容器的内存使用量限制、容器网络累积接收数据总量、容器网络累积传输数据总量。
对于步骤S233,通过调用集群的APIserver接口和kube-state-metrics接口获取集群***的容器管理***层面的第三监控数据。具体地,容器管理***层面的第三监控数据包括Deployment、Service、Pod等Kubernetes维度的资源监控指标。
可以理解的是,本实施例给出了容器管理***层面的第三监控数据包括Deployment、Service、Pod等k8s维度的资源监控指标的例子,但这并不能对本申请实施例中的第三监控数据的类型进行限制。在其他实施例中,第三监控数据可以采用其他类型数据。
Deployment用于管理Pod、ReplicaSet,可实现滚动升级和回滚应用、扩容和缩容。
Service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,来自外部的访问请求被负载均衡到后端的各个容器应用上。Service与其后端Pod副本集群之间则是通过Label Selector实现关联。
Pod里是容器,Pod被ReplicaSet管理,ReplicaSet控制pod的数量;ReplicaSet被Deployment管理,Deployment控制pod应用的升级、回滚,当然也能控制pod的数量。Service提供一个统一固定入口,负责将前端请求转发给Pod。Service包括三种类型,分别为:ClusterIP、NodePort和LoadBalancer,其中,ClusterIP提供一个集群内部的虚拟IP以供Pod访问;NodePort在每个Node上打开一个端口以供外部访问;LoadBalancer通过外部的负载均衡器来访问。
Kuberneteskubernetes(简称K8S)是一个轻便的和可扩展的开源容器管理平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。
Kubernetes属于主从分布式架构,主要由Master Node和Worker Node等组成。其中,Master Node作为控制节点,对集群进行调度管理;Master Node由API Server、Scheduler、Cluster State Store和Controller-Manger Server所组成。Worker Node作为真正的工作节点,运行业务应用的容器;Worker Node包含kubelet、kube proxy和Container Runtime。kubectl用于通过命令行与API Server进行交互而对Kubernetes进行操作,实现在集群中进行各种资源的增删改查等操作。Add-on是对Kubernetes核心功能的扩展,例如增加网络和网络策略等能力。repliceation用于伸缩副本数量。endpoint用于管理网络请求。scheduler为调度器。
Kubernetes具有以下的特征:
自动化装箱:在不牺牲可用性的条件下,基于容器对资源的要求和约束自动部署容器。同时,为了提高利用率和节省更多资源,将关键和最佳工作量结合在一起;
自愈能力:当容器失败时,会对容器进行重启;当所部署的Node节点有问题时,会对容器进行重新部署和重新调度;当容器未通过监控检查时,会关闭此容器;直到容器正常运行时,才会对外提供服务;
水平扩容:通过简单的命令、用户界面或基于CPU的使用情况,能够对应用进行扩容和缩容;
服务发现和负载均衡:开发者不需要使用额外的服务发现机制,就能够基于Kubernetes进行服务发现和负载均衡;
自动发布和回滚:Kubernetes能够程序化的发布应用和相关的配置。如果发布有问题,Kubernetes将能够回归发生的变更;
保密和配置管理:在不需要重新构建镜像的情况下,可以部署和更新保密和应用配置;
存储编排:自动挂接存储***,这些存储***可以来自于本地、公共云提供商(例如:GCP和AWS)、网络存储(例如:NFS、iSCSI、Gluster、Ceph、Cinder和Floker等)。
集群***包括多个集群,集群对应地设置有监控数据库且集群与监控数据库一一对应,所有的监控数据库与总数据库连接。参照图8,监控数据库1与集群1对应,监控数据库2与集群2对应,监控数据库1和监控数据库2与总数据库连接。
参照图6,数据监控方法还包括:
步骤S241,根据监控数据库所配置的第一数据采集任务,通过集群的第一暴露接口获取应用监控数据和***监控数据;
步骤S242,将应用监控数据和***监控数据存储于监控数据库;
步骤S243,根据总数据库所配置的第二数据采集任务,通过监控数据库的第二暴露接口获取监控数据库中存储的应用监控数据和***监控数据;
步骤S244,将从监控数据库获取的应用监控数据和***监控数据存储于总数据库。
对于步骤S241,通过集群的golang的http模块启动一个metrics接口,即第一暴露接口将应用监控数据和***监控数据暴露;监控数据库配置一个job,即第一数据采集任务,定时从metrics接口采集应用监控数据和***监控数据。具体地,监控数据库为prometheus数据库下的子数据库,例如prometheus-0数据库、prometheus-1数据库...prometheus-N数据库。
对于步骤S242,将应用监控数据和***监控数据存储于监控数据库。
对于步骤S243,监控数据库设置第二暴露接口将应用监控数据和***监控数据暴露。总数据库为位于集群外的prometheus数据库,prometheus数据库配置一个job,即第二数据采集任务,定时从监控数据库的第二暴露接口采集监控数据库中存储的应用监控数据和***监控数据。
对于步骤S244,将从监控数据库获取的应用监控数据和***监控数据存储于总数据库,则总数据库汇总了所有监控数据库的监控数据。
其中,Prometheus是一套开源的监控&报警&时间序列数据库的组合;Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态。Prometheus从根本上所有的存储都是按时间序列去实现的,相同的指标(metrics)和标签(label)组成一条时间序列,不同的标签表示不同的时间序列。Prometheus能够根据监控对象将监控分为网络监控,存储监控,服务器监控和应用监控等。
参照图7,对于步骤S300,根据应用监控数据和***监控数据生成告警信息,包括:
步骤S310,从总数据库调用应用监控数据和***监控数据;
步骤S320,从应用监控数据和***监控数据确定告警数据;
步骤S330,根据告警数据生成告警信息。
对于步骤S310,响应于监控请求,通过amp监控平台生成对应应用的grafana模板,使PromQL从总数据库查询和调用应用监控数据和***监控数据。其中,grafana是用于可视化大型测量数据的开源程序,能提供强大和优雅的方式去创建、共享、浏览数据。
对于步骤S320,通过amp监控平台调用prometheus全量告警数据接口,将应用监控数据和***监控数据中超过对应的预设阈值的数据作为告警数据。
对于步骤S330,将告警数据进行过滤封装归集处理,并根据告警数据生成对应的告警信息,通过邮件或其他通信方式将告警信息发送至用户的操作终端。
将集群***的多个集群的多种数据汇总至统一的数据库中,将监控数据、告警数据以及图表收集到amp平台并通过可视化形式展示,大大降低了开发人员对多平台的学***台能够使用统一标准模板,实现监控体系的流程标准化。
本申请的实施例还提供了一种数据监控装置,应用于集群***。参照图9,该数据监控装置包括请求接收单元110、元数据获取单元120、应用监控数据获取单元130、告警生成单元140。
其中,请求接收单元110用于接收监控请求;元数据获取单元120用于根据监控请求,通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;应用监控数据获取单元130用于根据元数据得到集群***的应用层面的应用监控数据;告警生成单元140用于根据应用监控数据生成告警信息。
上述数据监控装置通过接收监控请求;根据监控请求通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;根据元数据得到集群***的应用层面的应用监控数据;根据应用监控数据生成告警信息;通过使采集器部署在计算单元的容器中,简化了***及应用接入的复杂度,直接通过采集器获取应用层面的监控数据,无需对应用端进行改动,对应用端无侵入,相对于在集群外独立部署采集器大大降低了获取监控数据时延,提高数据采集效率。
可以理解的是,数据监控方法实施例中的内容均适用于本数据监控装置实施例中,本数据监控装置实施例所具体实现的功能与数据监控方法实施例相同,并且达到的有益效果与数据监控方法实施例所达到的有益效果也相同。
本申请的实施例还提供了一种电子设备。参照图10,所述电子设备包括存储器220、处理器210、存储在存储器220上并可在处理器210上运行的程序以及用于实现处理器210和存储器220之间的连接通信的数据总线230,所述程序被处理器210执行时实现如上的数据监控方法。
上述电子设备通过接收监控请求;根据监控请求通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;根据元数据得到集群***的应用层面的应用监控数据;根据应用监控数据生成告警信息;通过使采集器部署在计算单元的容器中,简化了***及应用接入的复杂度,直接通过采集器获取应用层面的监控数据,无需对应用端进行改动,对应用端无侵入,相对于在集群外独立部署采集器大大降低了获取监控数据时延,提高数据采集效率。
该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
总体而言,对于电子设备的硬件结构,处理器210可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案。
存储器220可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器220可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器220中,并由处理器210来调用执行本申请实施例的数据监控方法。
输入/输出接口用于实现信息输入及输出。
通信接口用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线230在设备的各个组件(例如处理器210、存储器220、输入/输出接口和通信接口)之间传输信息。处理器210、存储器220、输入/输出接口和通信接口通过总线230实现彼此之间在设备内部的通信连接。
本申请的实施例还一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行如上所述的数据监控方法。
上述计算机可读存储介质通过接收监控请求;根据监控请求通过部署在计算单元的容器中的采集器获取集群***的计算单元的元数据;根据元数据得到集群***的应用层面的应用监控数据;根据应用监控数据生成告警信息;通过使采集器部署在计算单元的容器中,简化了***及应用接入的复杂度,直接通过采集器获取应用层面的监控数据,无需对应用端进行改动,对应用端无侵入,相对于在集群外独立部署采集器大大降低了获取监控数据时延,提高数据采集效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于实施例,熟悉本领域的技术人员在不违背本申请精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (8)

1.一种数据监控方法,其特征在于,应用于集群***,所述数据监控方法包括:
接收监控请求;
根据所述监控请求,通过采集器获取所述集群***的计算单元的元数据,所述采集器部署在所述计算单元的容器中;
根据所述元数据得到所述集群***的应用层面的应用监控数据;
根据所述应用监控数据生成告警信息;
其中,所述元数据包括容器框架应用所对应的计算中心的名称、互联网协议地址和管理扩展端口;
所述根据所述监控请求,通过采集器获取所述集群***的计算单元的元数据,包括:
根据所述监控请求,通过所述采集器调用所述集群***的通信接口来获取所述元数据;
将所述元数据存储于全量列表中;
所述根据所述元数据得到所述集群***的应用层面的应用监控数据,包括:
从所述全量列表获取所述计算中心的名称、互联网协议地址和管理扩展端口;
根据所述计算中心的名称、互联网协议地址和管理扩展端口得到所述应用监控数据;
将所述应用监控数据进行格式转换,得到所述应用监控数据的字符串文本,所述字符串文本与监控数据库的数据采集格式相匹配。
2.根据权利要求1所述的数据监控方法,其特征在于,在所述根据所述应用监控数据生成告警信息之前,所述数据监控方法还包括:
根据所述监控请求,获取所述集群***的***层面的***监控数据;
所述根据所述应用监控数据生成告警信息,包括:
根据所述应用监控数据和所述***监控数据生成告警信息。
3.根据权利要求2所述的数据监控方法,其特征在于,所述集群***包括至少一个节点,所述计算单元在所述节点上运行;
所述获取所述集群***的***层面的***监控数据,包括:
获取所述节点的第一监控数据,所述第一监控数据用于反映所述节点的主机运行情况;
获取所述节点的第二监控数据,所述第二监控数据用于反映所述节点的容器运行情况;
获取所述集群***的容器管理***层面的第三监控数据。
4.根据权利要求2或3所述的数据监控方法,其特征在于,所述集群***包括多个集群,所述集群设置有监控数据库,所有的监控数据库与总数据库连接;
在所述根据所述应用监控数据和所述***监控数据生成告警信息之前,所述数据监控方法包括:
根据所述监控数据库所配置的第一数据采集任务,通过所述集群的第一暴露接口获取所述应用监控数据和所述***监控数据;
将所述应用监控数据和所述***监控数据存储于所述监控数据库;
根据所述总数据库所配置的第二数据采集任务,通过所述监控数据库的第二暴露接口获取所述监控数据库中存储的所述应用监控数据和所述***监控数据;
将从所述监控数据库获取的所述应用监控数据和所述***监控数据存储于所述总数据库。
5.根据权利要求4所述的数据监控方法,其特征在于,所述根据所述应用监控数据和所述***监控数据生成告警信息,包括:
从所述总数据库调用所述应用监控数据和所述***监控数据;
从所述应用监控数据和所述***监控数据确定告警数据;
根据所述告警数据生成所述告警信息。
6.一种数据监控装置,其特征在于,应用于集群***,所述数据监控装置包括:
请求接收单元,用于接收监控请求;
元数据获取单元,用于根据所述监控请求,通过采集器获取所述集群***的计算单元的元数据,所述采集器部署在所述计算单元的容器中;
应用监控数据获取单元,用于根据所述元数据得到所述集群***的应用层面的应用监控数据;
告警生成单元,用于根据所述应用监控数据生成告警信息;
其中,所述元数据包括容器框架应用所对应的计算中心的名称、互联网协议地址和管理扩展端口;
所述根据所述监控请求,通过采集器获取所述集群***的计算单元的元数据,包括:
根据所述监控请求,通过所述采集器调用所述集群***的通信接口来获取所述元数据;
将所述元数据存储于全量列表中;
所述根据所述元数据得到所述集群***的应用层面的应用监控数据,包括:
从所述全量列表获取所述计算中心的名称、互联网协议地址和管理扩展端口;
根据所述计算中心的名称、互联网协议地址和管理扩展端口得到所述应用监控数据;
将所述应用监控数据进行格式转换,得到所述应用监控数据的字符串文本,所述字符串文本与监控数据库的数据采集格式相匹配。
7.一种电子设备,其特征在于,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至5任一项所述的数据监控方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的数据监控方法。
CN202211150190.6A 2022-09-21 2022-09-21 数据监控方法、装置、设备及介质 Active CN115567526B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211150190.6A CN115567526B (zh) 2022-09-21 2022-09-21 数据监控方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211150190.6A CN115567526B (zh) 2022-09-21 2022-09-21 数据监控方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115567526A CN115567526A (zh) 2023-01-03
CN115567526B true CN115567526B (zh) 2024-05-14

Family

ID=84740115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211150190.6A Active CN115567526B (zh) 2022-09-21 2022-09-21 数据监控方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115567526B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395132B (zh) * 2023-12-13 2024-02-20 江西云眼视界科技股份有限公司 一种分布式告警监控方法、***、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050066133A (ko) * 2003-12-26 2005-06-30 한국과학기술정보연구원 클러스터를 위한 프로세스 모니터링 시스템 및 방법
CN112527595A (zh) * 2020-12-02 2021-03-19 平安医疗健康管理股份有限公司 Greenplum集群数据库监控方法、装置和计算机设备
CN112988500A (zh) * 2019-12-17 2021-06-18 上海商汤智能科技有限公司 文件存储***的监控方法及设备、***
WO2021129367A1 (zh) * 2019-12-23 2021-07-01 深圳前海微众银行股份有限公司 一种监控分布式存储***的方法及装置
CN114416200A (zh) * 2022-01-11 2022-04-29 浪潮云信息技术股份公司 声明式云平台监控采集配置动态管理和加载的***及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050066133A (ko) * 2003-12-26 2005-06-30 한국과학기술정보연구원 클러스터를 위한 프로세스 모니터링 시스템 및 방법
CN112988500A (zh) * 2019-12-17 2021-06-18 上海商汤智能科技有限公司 文件存储***的监控方法及设备、***
WO2021129367A1 (zh) * 2019-12-23 2021-07-01 深圳前海微众银行股份有限公司 一种监控分布式存储***的方法及装置
CN112527595A (zh) * 2020-12-02 2021-03-19 平安医疗健康管理股份有限公司 Greenplum集群数据库监控方法、装置和计算机设备
CN114416200A (zh) * 2022-01-11 2022-04-29 浪潮云信息技术股份公司 声明式云平台监控采集配置动态管理和加载的***及方法

Also Published As

Publication number Publication date
CN115567526A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
CN108809972B (zh) 基于开源生态***的物联网综合实验及应用开发平台
US11816492B2 (en) Third party integration of plugins and widgets
CN112035228B (zh) 一种资源调度方法及装置
US9363195B2 (en) Configuring cloud resources
US8812627B2 (en) System and method for installation and management of cloud-independent multi-tenant applications
US11042387B2 (en) Deploying cross-platform applications on mobile devices with native and web components
CN110851237B (zh) 一种面向国产平台的容器跨异构集群重构方法
CN112698921B (zh) 一种逻辑代码运行方法、装置、计算机设备和存储介质
US20080016516A1 (en) Systems and methods for using application services
CN102576354A (zh) 支持不同部署架构的可扩展框架
CN112085217B (zh) 部署人工智能服务的方法、装置、设备及计算机介质
Otte et al. Efficient and deterministic application deployment in component-based enterprise distributed real-time and embedded systems
CN115567526B (zh) 数据监控方法、装置、设备及介质
Althar et al. Building intelligent integrated development environment for IoT in the context of statistical modeling for software source code
Xiao et al. RETRACTED ARTICLE: Cloud platform wireless sensor network detection system based on data sharing
Großmann et al. SensIoT: an extensible and general Internet of Things monitoring framework
CN111602115A (zh) 基于本体的应用程序开发的模型驱动方法
Zhou et al. Semantic-based discovery method for high-performance computing resources in cyber-physical systems
Cai et al. Deployment and verification of machine learning tool-chain based on kubernetes distributed clusters: This paper is submitted for possible publication in the special issue on high performance distributed computing
Plale et al. Data provenance for preservation of digital geoscience data
Ngu et al. An IoT edge computing framework using cordova accessor host
Tran et al. A kernel-based approach to developing adaptable and reusable sensor retrieval systems for the web of things
CN112288133A (zh) 一种算法服务处理方法和装置
Brown Reactive Applications with Akka. NET
Liangxian et al. The application of semantics web in digital library knowledge management

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
GR01 Patent grant
GR01 Patent grant