CN111061586A - 一种容器云平台异常检测方法、系统及电子设备 - Google Patents

一种容器云平台异常检测方法、系统及电子设备 Download PDF

Info

Publication number
CN111061586A
CN111061586A CN201911233197.2A CN201911233197A CN111061586A CN 111061586 A CN111061586 A CN 111061586A CN 201911233197 A CN201911233197 A CN 201911233197A CN 111061586 A CN111061586 A CN 111061586A
Authority
CN
China
Prior art keywords
real
similarity
weight
time
structure chart
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.)
Granted
Application number
CN201911233197.2A
Other languages
English (en)
Other versions
CN111061586B (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201911233197.2A priority Critical patent/CN111061586B/zh
Publication of CN111061586A publication Critical patent/CN111061586A/zh
Application granted granted Critical
Publication of CN111061586B publication Critical patent/CN111061586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种容器云平台异常检测方法、系统及电子设备。包括:步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,执行步骤c;否则,返回应用集群结构异常信息;步骤c:判断所述应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度是否大于设定的相似度阈值,如果不大于设定的相似度阈值,将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。本申请提高了结构异常检测的实时性,并提高功能异常定位的速度和准确性。

Description

一种容器云平台异常检测方法、系统及电子设备
技术领域
本申请属于云计算技术领域,特别涉及一种容器云平台异常检测方法、系统及电子设备。
背景技术
云计算作为一种新型服务提供方式,获得了产业界和学术界的青睐。云计算的关键技术就是虚拟化技术,通过将各类资源进行虚拟化,云计算服务提供商能够很便捷的将各类资源进行定制交付给用户使用,众多应用也逐渐开始迁移到云计算集群内。传统的虚拟化技术包括KVM,Xen等。但是传统的虚拟化技术由于过于笨重,对于应用集群内某个组件进行创建,修改以及迁移操作都十分的复杂,因此云计算服务提供商需要更加轻量级的虚拟化技术。
容器技术是一种轻量级的操作系统级的虚拟化技术。随着容器技术的日益成熟,基于容器技术的云服务平台(以下简称容器云)已经开始逐步的取代传统的基于虚拟机的云服务平台。相较于传统的虚拟化技术对于硬件层的虚拟化,容器的虚拟化停留在操作系统层,使其无论是创建、修改还是迁移都十分的便捷,同时虚拟化造成的开销也显著降低。由于容器具有轻量化的特点,容器的部署更加便捷。大量应用程序利用容器隔离应用程序内的不同服务,由于容器的这些特点,用户能够方便快捷的对应用内的不同种类的服务进行更新与维护,创建与销毁。这造成了容器云内部结构复杂,变化迅速。其次容器的隔离性差,而同一台物理主机上运行多个容器,容器间容易产生强烈的干扰。一旦容器云内部某个容器发生异常,异常将迅速传播到整个集群,进而影响到不同的微服务。
基于容器技术的云服务平台通常由数量众多的物理机组成,每台物理机上通常运行上百个容器。由于容器部署在运行状态下的操作系统上,因而物理机的故障也会引起部署在其上的容器发生异常。现有的异常检测定位方案利用性能指标数据进行异常检测与定位,带来极大的存储和传输开销。同时需要构造正常的波动模型,而由于容器云复杂的内部环境,对于波动频繁且复杂的容器云平台来说严重缺乏实时动态分析,因此,需要提供一种能够对通过容器建立的结构复杂的应用微服务集群进行快速异常定位的方法。
发明内容
本申请提供了一种容器云平台异常检测方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种容器云平台异常检测方法,包括以下步骤:
步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;
步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,执行步骤c;否则,返回应用集群结构异常信息;
步骤c:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则返回步骤b继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤d;
步骤d:将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
本申请实施例采取的技术方案还包括:在所述步骤a中,所述构造应用集群的实时带权结构图具体包括:收集应用集群内部各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息,根据所述各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息构造应用集群的实时带权结构图。
本申请实施例采取的技术方案还包括:在所述步骤a中,所述应用集群的实时带权结构图的构造方式具体包括:
步骤a1:采集应用服务组件请求调用网卡的信息,当服务组件调用网卡时,记录服务组件请求的目的IP地址,将目的IP与源IP记录下来;
步骤a2:记录目的IP(dIP)和源IP(sIP)信息,并根据host信息分别将目的IP与源IP转化为目的主机名和源主机名,即将服务组件的名称,分别记为dName,sName;
步骤a3:将目的IP与源IP表示的服务组件作为顶点加入到实时带权结构图中,构造结构图边权键值对<(sName:dName):{latency:0,CPU:0,mem:0,disk:0,net:0}>,表示两个服务组件的节点连接正常,其中{latency:0,CPU:0,mem:0,disk:0,net:0}表示边的权值,latency表示服务组件之间的响应时间,CPU表示该服务组件在采样周期内的CPU平均利用率,mem表示内存的平均利用率,disk表示平均磁盘读写速率,net表示平均网络IO速率;
步骤a4:记录该服务组件与其请求的服务组件之间的服务响应时间,将响应时间作为该服务组件与其请求的服务组件的权值,替换掉实时带权结构图边权键值对中权值的latency信息,利用dockerAPI采集服务组件的资源使用信息,替换掉键值对中权值的CPU,mem,disk,net信息;
步骤a5:将实时带权结构图边权键值对返回给主节点。
本申请实施例采取的技术方案还包括:在所述步骤b中,所述判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似具体包括:
步骤b1:将每个服务组件提供的边权键值对中的边信息(sName:dName)提取出来;
步骤b2:按照源主机名sName对边信息进行排序;
步骤b3:将边信息的排序结果与初始带权结构图中的边信息序列进行比较,逐一判断是否存在源主机和目的主机不对应,如果存在,返回集群出现结构异常以及与初始带权结构图不同的边的信息;否则,返回集群结构正常的信息。
本申请实施例采取的技术方案还包括:在所述步骤c中,所述判断所述权值相似度是否大于设定的相似度阈值具体包括:
步骤c1:将每个服务组件提供的边权键值对中的权值信息ω={latency:0,CPU:0,mem:0,disk:0,net:0}提取出来;
步骤b2:计算当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度,计算公式为:
Figure BDA0002303627130000051
上述公式中,G1,G2分别表示当前时刻的实时带权结构图和上一个采样点的带权结构图,
Figure BDA0002303627130000052
e表示G1和G2的并集中的边,ω1,ω2表示边e分别在G1和G2中的权值;
步骤b3:判断当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度是否大于设定的相似度阈值,如果上一个采样点为初始时刻,或者Sim(G1,G2)大于设定的相似度阈值,返回权值正常信息;如果Sim(G1,G2)小于设定的相似度阈值,则返回应用集群结构图权值异常,并返回diff值小于阈值的边。
本申请实施例采取的另一技术方案为:一种容器云平台异常检测系统,包括:
初始化模块:用于输入应用集群的初始带权结构图;
结构图构建模块:用于构造应用集群的实时带权结构图;
图结构相似判断模块:用于判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,通过权值相似度判断模块判断实时带权结构图的权值相似度;否则,返回应用集群结构异常信息;
权值相似度判断模块:用于计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则通过所述图结构相似判断模块继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则通过异常标记模块标记异常组件;
异常标记模块:用于将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
本申请实施例采取的技术方案还包括:所述结构图构建模块构造应用集群的实时带权结构图具体包括:收集应用集群内部各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息,根据所述各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息构造应用集群的实时带权结构图。
本申请实施例采取的技术方案还包括:所述结构图构建模块构建应用集群的实时带权结构图具体包括:
采集应用服务组件请求调用网卡的信息,当服务组件调用网卡时,记录服务组件请求的目的IP地址,将目的IP与源IP记录下来;
记录目的IP(dIP)和源IP(sIP)信息,并根据host信息分别将目的IP与源IP转化为目的主机名和源主机名,即将服务组件的名称,分别记为dName,sName;
将目的IP与源IP表示的服务组件作为顶点加入到实时带权结构图中,构造结构图边权键值对<(sName:dName):{latency:0,CPU:0,mem:0,disk:0,net:0}>,表示两个服务组件的节点连接正常,其中{latency:0,CPU:0,mem:0,disk:0,net:0}表示边的权值,latency表示服务组件之间的响应时间,CPU表示该服务组件在采样周期内的CPU平均利用率,mem表示内存的平均利用率,disk表示平均磁盘读写速率,net表示平均网络IO速率;
记录该服务组件与其请求的服务组件之间的服务响应时间,将响应时间作为该服务组件与其请求的服务组件的权值,替换掉实时带权结构图边权键值对中权值的latency信息,利用dockerAPI采集服务组件的资源使用信息,替换掉键值对中权值的CPU,mem,disk,net信息后,将实时带权结构图边权键值对返回给主节点。
本申请实施例采取的技术方案还包括:所述图结构相似判断模块判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似具体包括:
将每个服务组件提供的边权键值对中的边信息(sName:dName)提取出来;按照源主机名sName对边信息进行排序;
将边信息的排序结果与初始带权结构图中的边信息序列进行比较,逐一判断是否存在源主机和目的主机不对应,如果存在,返回集群出现结构异常以及与初始带权结构图不同的边的信息;否则,返回集群结构正常的信息。
本申请实施例采取的技术方案还包括:所述权值相似度判断模块判断所述权值相似度是否大于设定的相似度阈值具体包括:将每个服务组件提供的边权键值对中的权值信息ω={latency:0,CPU:0,mem:0,disk:0,net:0}提取出来;计算当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度,计算公式为:
Figure BDA0002303627130000081
上述公式中,G1,G2分别表示当前时刻的实时带权结构图和上一个采样点的带权结构图,
Figure BDA0002303627130000082
e表示G1和G2的并集中的边,ω1,ω2表示边e分别在G1和G2中的权值;
判断当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度是否大于设定的相似度阈值,如果上一个采样点为初始时刻,或者Sim(G1,G2)大于设定的相似度阈值,返回权值正常信息;如果Sim(G1,G2)小于设定的相似度阈值,则返回应用集群结构图权值异常,并返回diff值小于阈值的边。
本申请实施例采取的又一技术方案为:一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的容器云平台异常检测方法的以下操作:
步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;
步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,执行步骤c;否则,返回应用集群结构异常信息;
步骤c:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则返回步骤b继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤d;
步骤d:将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的容器云平台异常检测方法、系统及电子设备利用应用集群的实时带权结构图的结构相似性判断集群结构异常,减少相似度计算次数,提高了结构异常检测的实时性。利用应用集群实时结构图的权值相似性判断集群功能是否异常,提高功能异常定位的速度。本申请采用请求响应时间进行异常状态判断,降低了数据采集的开销,提高了异常状态判断的实时性。同时考虑到组件之间,物理机与组件之间的干扰,分别从应用集群结构和应用集群功能两个角度对异常进行定位,提高了异常定位的准确性。
附图说明
图1是本申请实施例的容器云平台异常检测方法的流程图;
图2为构造应用集群实时带权结构图的过程示意图;
图3为判断应用集群的带权结构图是否结构相似的过程示意图;
图4为判断应用集群的实时带权结构图是否权值相似的过程示意图;
图5是本申请实施例的容器云平台异常检测系统的结构示意图;
图6是本申请实施例提供的容器云平台异常检测方法的硬件设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
请参阅图1,是本申请实施例的容器云平台异常检测方法的流程图。本申请实施例的容器云平台异常检测方法包括以下步骤:
步骤100:输入应用集群的初始带权结构图,并初始化初始带权结构图的权值;
步骤100中,应用集群的初始带权结构图的结构与权值由应用程序的部署者提供。
步骤200:收集应用集群内部各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息,构造应用集群的实时带权结构图;
步骤200中,实时带权结构图反映的是应用程序在运行过程中的状态。构造应用集群实时带权结构图的过程如图2所示,应用集群的所有服务组件并发执行以下过程,最终构造出应用集群的实时带权结构图;
步骤201:利用perf监控工具采集应用服务组件请求调用网卡的信息,当服务组件调用网卡时,记录服务组件请求的目的IP地址,将目的IP与源IP记录下来;
上述步骤中,本申请利用perf监控工具监控服务组件对网卡的调用请求,可以降低组件结构图构造开销。
步骤202:利用perf监控工具采集网卡返回给应用服务组件上层的信息,记录目的IP(dIP)和源IP(sIP)信息,并根据host信息分别将目的IP与源IP转化为目的主机名和源主机名,即将服务组件的名称,分别记为dName,sName;
步骤203:将目的IP与源IP表示的服务组件作为顶点加入到实时带权结构图中,构造结构图边权键值对<(sName:dName):{latency:0,CPU:0,mem:0,disk:0,net:0}>,表示两个服务组件的节点连接正常,其中{latency:0,CPU:0,mem:0,disk:0,net:0}表示边的权值,主要包括五个部分组成,其中latency表示服务组件之间的响应时间,CPU表示该服务组件在采样周期内的CPU平均利用率,mem表示内存的平均利用率,disk表示平均磁盘读写速率,net表示平均网络IO速率。
步骤204:利用tcprstat记录该服务组件与其请求的服务组件之间的服务响应时间,将响应时间作为该服务组件与其请求的服务组件的权值,替换掉实时带权结构图边权键值对中权值的latency信息,利用dockerAPI采集服务组件的资源使用信息,替换掉键值对中CPU,mem,disk,net信息。
步骤205:将实时带权结构图边权键值对返回给主节点。
上述步骤中,本申请利用tcprstat与dockerAPI采集服务组件的资源使用信息,提高应用集群实时结构图权值相似性判断的准确度。并使用键值对的形式存储应用组件的响应时间与资源使用率,提高了异常检测系统的可扩展性。
步骤300:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,继续执行步骤400;否则,进执行步骤600;
步骤300中,判断应用集群的带权结构图是否结构相似的过程如图3所示,其具体包括以下步骤:
步骤301:将每个服务组件提供的边权键值对中的边信息(sName:dName)提取出来;
步骤302:按照源主机名sName对边信息进行排序;
步骤303:将边信息的排序结果与初始带权结构图中的边信息序列进行比较,逐一判断是否有源主机和目的主机不对应,当发现有不对应的时候,返回集群出现结构异常以及与初始带权结构图不同的边的信息;否则,返回集群结构正常的信息。
上述中,本申请根据应用集群的结构图的特点,按照源主机名对结构图的边进行排序,逐一对比初始结构图,显著降低组件结构图相似性判断开销。利用应用集群的实时带权结构图的结构相似性判断集群功能异常,减少相似度计算次数,提高了异常检测的实时性。
步骤400:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断权值相似度是否大于设定的相似度阈值,如果是,则返回步骤300继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤500;
步骤400中,判断应用集群的实时带权结构图是否权值相似的过程如图4所示,其具体包括以下步骤:
步骤401:将每个服务组件提供的边权键值对中的权值信息ω={latency:0,CPU:0,mem:0,disk:0,net:0}提取出来;
步骤402:计算当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度,并判断当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度是否大于设定的相似度阈值,如果上一个采样点为初始时刻,或者Sim(G1,G2)大于设定的相似度阈值,执行步骤403;如果Sim(G1,G2)小于设定的相似度阈值,执行步骤404;
步骤402中,相似度计算方法为:
Figure BDA0002303627130000131
公式(1)中,G1,G2分别表示当前时刻的实时带权结构图和上一个采样点的带权结构图,
Figure BDA0002303627130000132
e表示G1和G2的并集中的边,ω1,ω2表示边e分别在G1和G2中的权值。
步骤403:返回权值正常信息;
步骤404:返回应用集群结构图权值异常,并返回diff值小于阈值的边。
步骤500:标记异常组件;将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行标记后,向集群管理者返回标记过的实时带权结构图;
步骤500中,本申请利用应用集群的实时带权结构图的权值相似性判断集群功能是否异常,提高功能异常定位的速度。
步骤600:返回应用集群结构异常信息。
请参阅图5,是本申请实施例的容器云平台异常检测系统的结构示意图。本申请实施例的容器云平台异常检测系统包括初始化模块、结构图构建模块、图结构相似判断模块、权值相似度判断模块、异常标记模块。
初始化模块:用于输入应用集群的初始带权结构图,并初始化初始带权结构图的权值;其中,应用集群的初始带权结构图的结构与权值由应用程序的部署者提供。
结构图构建模块:用于收集应用集群内部各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息,构造应用集群的实时带权结构图;其中,实时带权结构图反映的是应用程序在运行过程中的状态,其构建过程包括:
1、利用perf监控工具采集应用服务组件请求调用网卡的信息,当服务组件调用网卡时,记录服务组件请求的目的IP地址,将目的IP与源IP记录下来;
2、利用perf监控工具采集网卡返回给应用服务组件上层的信息,记录目的IP(dIP)和源IP(sIP)信息,并根据host信息分别将目的IP与源IP转化为目的主机名和源主机名,即将服务组件的名称,分别记为dName,sName;
3、将目的IP与源IP表示的服务组件作为顶点加入到实时带权结构图中,构造结构图边权键值对<(sName:dName):{latency:0,CPU:0,mem:0,disk:0,net:0}>,表示两个服务组件的节点连接正常,其中{latency:0,CPU:0,mem:0,disk:0,net:0}表示边的权值,主要包括五个部分组成,其中latency表示服务组件之间的响应时间,CPU表示该服务组件在采样周期内的CPU平均利用率,mem表示内存的平均利用率,disk表示平均磁盘读写速率,net表示平均网络IO速率。
4、利用tcprstat记录该服务组件与其请求的服务组件之间的服务响应时间,将响应时间作为该服务组件与其请求的服务组件的权值,替换掉实时带权结构图边权键值对中权值的latency信息,利用dockerAPI采集服务组件的资源使用信息,替换掉键值对中CPU,mem,disk,net信息。
5、将实时带权结构图边权键值对返回给主节点。
图结构相似判断模块:用于判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常;否则,返回应用集群结构异常信息;其中,判断应用集群的带权结构图是否结构相似的过程包括:
1、将每个服务组件提供的边权键值对中的边信息(sName:dName)提取出来;
2、按照源主机名sName对边信息进行排序;
3、将边信息的排序结果与初始带权结构图中的边信息序列进行比较,逐一判断是否有源主机和目的主机不对应,当发现有不对应的时候,返回集群出现结构异常以及与初始带权结构图不同的边的信息;否则,返回集群结构正常的信息。
权值相似度判断模块:用于计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断权值相似度是否大于设定的相似度阈值,如果是,则通过图结构相似判断模块继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则通过异常标记模块标记异常组件;其中,判断应用集群的实时带权结构图是否权值相似的过程包括:
1、将每个服务组件提供的边权键值对中的权值信息ω={latency:0,CPU:0,mem:0,disk:0,net:0}提取出来;
2、计算当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度,并判断当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度是否大于设定的相似度阈值,如果上一个采样点为初始时刻,或者Sim(G1,G2)大于设定的相似度阈值,则返回权值正常信息;如果Sim(G1,G2)小于设定的相似度阈值,则返回应用集群结构图权值异常,并返回diff值小于阈值的边。
上述中,相似度计算方法为:
Figure BDA0002303627130000161
公式(1)中,G1,G2分别表示当前时刻的实时带权结构图和上一个采样点的带权结构图,
Figure BDA0002303627130000162
e表示G1和G2的并集中的边,ω1,ω2表示边e分别在G1和G2中的权值。
异常标记模块:用于将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行标记后,向集群管理者返回标记过的实时带权结构图;其中,本申请利用应用集群的实时带权结构图的权值相似性判断集群功能是否异常,提高功能异常定位的速度。
图6是本申请实施例提供的容器云平台异常检测方法的硬件设备结构示意图。如图6所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。
处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:
步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;
步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,执行步骤c;否则,返回应用集群结构异常信息;
步骤c:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则返回步骤b继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤d;
步骤d:将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。
本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:
步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;
步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,执行步骤c;否则,返回应用集群结构异常信息;
步骤c:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则返回步骤b继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤d;
步骤d:将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:
步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;
步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,执行步骤c;否则,返回应用集群结构异常信息;
步骤c:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则返回步骤b继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤d;
步骤d:将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
本申请实施例的容器云平台异常检测方法、系统及电子设备利用应用集群的实时带权结构图的结构相似性判断集群结构异常,减少相似度计算次数,提高了结构异常检测的实时性。利用应用集群实时结构图的权值相似性判断集群功能是否异常,提高功能异常定位的速度。本申请采用请求响应时间进行异常状态判断,降低了数据采集的开销,提高了异常状态判断的实时性。同时考虑到组件之间,物理机与组件之间的干扰,分别从应用集群结构和应用集群功能两个角度对异常进行定位,提高了异常定位的准确性。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种容器云平台异常检测方法,其特征在于,包括以下步骤:
步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;
步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,执行步骤c;否则,返回应用集群结构异常信息;
步骤c:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则返回步骤b继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤d;
步骤d:将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
2.根据权利要求1所述的容器云平台异常检测方法,其特征在于,在所述步骤a中,所述构造应用集群的实时带权结构图具体包括:收集应用集群内部各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息,根据所述各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息构造应用集群的实时带权结构图。
3.根据权利要求1或2所述的容器云平台异常检测方法,其特征在于,在所述步骤a中,所述应用集群的实时带权结构图的构造方式具体包括:
步骤a1:采集应用服务组件请求调用网卡的信息,当服务组件调用网卡时,记录服务组件请求的目的IP地址,将目的IP与源IP记录下来;
步骤a2:记录目的IP(dIP)和源IP(sIP)信息,并根据host信息分别将目的IP与源IP转化为目的主机名和源主机名,即将服务组件的名称,分别记为dName,sName;
步骤a3:将目的IP与源IP表示的服务组件作为顶点加入到实时带权结构图中,构造结构图边权键值对<(sName:dName):{latency:0,CPU:0,mem:0,disk:0,net:0}>,表示两个服务组件的节点连接正常,其中{latency:0,CPU:0,mem:0,disk:0,net:0}表示边的权值,latency表示服务组件之间的响应时间,CPU表示该服务组件在采样周期内的CPU平均利用率,mem表示内存的平均利用率,disk表示平均磁盘读写速率,net表示平均网络IO速率;
步骤a4:记录该服务组件与其请求的服务组件之间的服务响应时间,将响应时间作为该服务组件与其请求的服务组件的权值,替换掉实时带权结构图边权键值对中权值的latency信息,利用dockerAPI采集服务组件的资源使用信息,替换掉键值对中权值的CPU,mem,disk,net信息;
步骤a5:将实时带权结构图边权键值对返回给主节点。
4.根据权利要求3所述的容器云平台异常检测方法,其特征在于,在所述步骤b中,所述判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似具体包括:
步骤b1:将每个服务组件提供的边权键值对中的边信息(sName:dName)提取出来;
步骤b2:按照源主机名sName对边信息进行排序;
步骤b3:将边信息的排序结果与初始带权结构图中的边信息序列进行比较,逐一判断是否存在源主机和目的主机不对应,如果存在,返回集群出现结构异常以及与初始带权结构图不同的边的信息;否则,返回集群结构正常的信息。
5.根据权利要求4所述的容器云平台异常检测方法,其特征在于,在所述步骤c中,所述判断所述权值相似度是否大于设定的相似度阈值具体包括:
步骤c1:将每个服务组件提供的边权键值对中的权值信息ω={latency:0,CPU:0,mem:0,disk:0,net:0}提取出来;
步骤b2:计算当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度,计算公式为:
Figure FDA0002303627120000031
上述公式中,G1,G2分别表示当前时刻的实时带权结构图和上一个采样点的带权结构图,
Figure FDA0002303627120000032
e表示G1和G2的并集中的边,ω1,ω2表示边e分别在G1和G2中的权值;
步骤b3:判断当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度是否大于设定的相似度阈值,如果上一个采样点为初始时刻,或者Sim(G1,G2)大于设定的相似度阈值,返回权值正常信息;如果Sim(G1,G2)小于设定的相似度阈值,则返回应用集群结构图权值异常,并返回diff值小于阈值的边。
6.一种容器云平台异常检测系统,其特征在于,包括:
初始化模块:用于输入应用集群的初始带权结构图;
结构图构建模块:用于构造应用集群的实时带权结构图;
图结构相似判断模块:用于判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,通过权值相似度判断模块判断实时带权结构图的权值相似度;否则,返回应用集群结构异常信息;
权值相似度判断模块:用于计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则通过所述图结构相似判断模块继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则通过异常标记模块标记异常组件;
异常标记模块:用于将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
7.根据权利要求6所述的容器云平台异常检测系统,其特征在于,所述结构图构建模块构造应用集群的实时带权结构图具体包括:收集应用集群内部各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息,根据所述各服务器组件之间的调用信息、响应时间以及应用组件的资源使用信息构造应用集群的实时带权结构图。
8.根据权利要求6或7所述的容器云平台异常检测系统,其特征在于,所述结构图构建模块构建应用集群的实时带权结构图具体包括:
采集应用服务组件请求调用网卡的信息,当服务组件调用网卡时,记录服务组件请求的目的IP地址,将目的IP与源IP记录下来;
记录目的IP(dIP)和源IP(sIP)信息,并根据host信息分别将目的IP与源IP转化为目的主机名和源主机名,即将服务组件的名称,分别记为dName,sName;
将目的IP与源IP表示的服务组件作为顶点加入到实时带权结构图中,构造结构图边权键值对<(sName:dName):{latency:0,CPU:0,mem:0,disk:0,net:0}>,表示两个服务组件的节点连接正常,其中{latency:0,CPU:0,mem:0,disk:0,net:0}表示边的权值,latency表示服务组件之间的响应时间,CPU表示该服务组件在采样周期内的CPU平均利用率,mem表示内存的平均利用率,disk表示平均磁盘读写速率,net表示平均网络IO速率;
记录该服务组件与其请求的服务组件之间的服务响应时间,将响应时间作为该服务组件与其请求的服务组件的权值,替换掉实时带权结构图边权键值对中权值的latency信息,利用dockerAPI采集服务组件的资源使用信息,替换掉键值对中权值的CPU,mem,disk,net信息后,将实时带权结构图边权键值对返回给主节点。
9.根据权利要求8所述的容器云平台异常检测系统,其特征在于,所述图结构相似判断模块判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似具体包括:
将每个服务组件提供的边权键值对中的边信息(sName:dName)提取出来;按照源主机名sName对边信息进行排序;
将边信息的排序结果与初始带权结构图中的边信息序列进行比较,逐一判断是否存在源主机和目的主机不对应,如果存在,返回集群出现结构异常以及与初始带权结构图不同的边的信息;否则,返回集群结构正常的信息。
10.根据权利要求9所述的容器云平台异常检测系统,其特征在于,所述权值相似度判断模块判断所述权值相似度是否大于设定的相似度阈值具体包括:将每个服务组件提供的边权键值对中的权值信息ω={latency:0,CPU:0,mem:0,disk:0,net:0}提取出来;计算当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度,计算公式为:
Figure FDA0002303627120000061
上述公式中,G1,G2分别表示当前时刻的实时带权结构图和上一个采样点的带权结构图,
Figure FDA0002303627120000062
e表示G1和G2的并集中的边,ω1,ω2表示边e分别在G1和G2中的权值;
判断当前时刻的实时带权结构图与上一个采样点的带权结构图的相似度是否大于设定的相似度阈值,如果上一个采样点为初始时刻,或者Sim(G1,G2)大于设定的相似度阈值,返回权值正常信息;如果Sim(G1,G2)小于设定的相似度阈值,则返回应用集群结构图权值异常,并返回diff值小于阈值的边。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述1至5任一项所述的容器云平台异常检测方法的以下操作:
步骤a:输入应用集群的初始带权结构图,并构造应用集群的实时带权结构图;
步骤b:判断应用集群的实时带权结构图与初始带权结构图的图结构是否相似,如果相似,则认为应用集群结构正常,执行步骤c;否则,返回应用集群结构异常信息;
步骤c:计算应用集群当前时刻的实时带权结构图与上一个采样点的带权结构图的权值相似度,并判断所述权值相似度是否大于设定的相似度阈值,如果是,则返回步骤b继续判断当前时刻的实时带权结构图与初始带权结构图的图结构是否相似;否则执行步骤d;
步骤d:将权值相似度小于相似度阈值的边筛选出来,并在当前时刻的实时带权结构图中进行异常组件标记后,向集群管理者返回标记过的实时带权结构图。
CN201911233197.2A 2019-12-05 2019-12-05 一种容器云平台异常检测方法、系统及电子设备 Active CN111061586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911233197.2A CN111061586B (zh) 2019-12-05 2019-12-05 一种容器云平台异常检测方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911233197.2A CN111061586B (zh) 2019-12-05 2019-12-05 一种容器云平台异常检测方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN111061586A true CN111061586A (zh) 2020-04-24
CN111061586B CN111061586B (zh) 2023-09-19

Family

ID=70299690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911233197.2A Active CN111061586B (zh) 2019-12-05 2019-12-05 一种容器云平台异常检测方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN111061586B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201219365D0 (en) * 2012-10-26 2012-12-12 Ibm Method for determining system topology graph changes in a distributed computing system
CN103888304A (zh) * 2012-12-19 2014-06-25 华为技术有限公司 一种多节点应用的异常检测方法及相关装置
CN103902988A (zh) * 2014-04-21 2014-07-02 梁爽 一种基于Modular积图与最大团的草图形状匹配方法
CN105469376A (zh) * 2014-08-12 2016-04-06 腾讯科技(深圳)有限公司 确定图片相似度的方法和装置
CN106385343A (zh) * 2016-09-05 2017-02-08 Tcl集团股份有限公司 一种分布式系统下监控客户端的方法及装置、分布式系统
CN109214456A (zh) * 2018-09-06 2019-01-15 深圳先进技术研究院 一种网络异常检测方法、系统及电子设备
CN109586999A (zh) * 2018-11-12 2019-04-05 深圳先进技术研究院 一种容器云平台状态监控预警系统、方法及电子设备
CN109800052A (zh) * 2018-12-15 2019-05-24 深圳先进技术研究院 应用于分布式容器云平台的异常检测与定位方法及装置
CN109840533A (zh) * 2017-11-28 2019-06-04 中国移动通信集团浙江有限公司 一种应用拓扑图识别方法及装置
CN110290012A (zh) * 2019-07-03 2019-09-27 浪潮云信息技术有限公司 RabbitMQ集群故障的检测恢复系统及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201219365D0 (en) * 2012-10-26 2012-12-12 Ibm Method for determining system topology graph changes in a distributed computing system
CN103888304A (zh) * 2012-12-19 2014-06-25 华为技术有限公司 一种多节点应用的异常检测方法及相关装置
CN103902988A (zh) * 2014-04-21 2014-07-02 梁爽 一种基于Modular积图与最大团的草图形状匹配方法
CN105469376A (zh) * 2014-08-12 2016-04-06 腾讯科技(深圳)有限公司 确定图片相似度的方法和装置
CN106385343A (zh) * 2016-09-05 2017-02-08 Tcl集团股份有限公司 一种分布式系统下监控客户端的方法及装置、分布式系统
CN109840533A (zh) * 2017-11-28 2019-06-04 中国移动通信集团浙江有限公司 一种应用拓扑图识别方法及装置
CN109214456A (zh) * 2018-09-06 2019-01-15 深圳先进技术研究院 一种网络异常检测方法、系统及电子设备
CN109586999A (zh) * 2018-11-12 2019-04-05 深圳先进技术研究院 一种容器云平台状态监控预警系统、方法及电子设备
CN109800052A (zh) * 2018-12-15 2019-05-24 深圳先进技术研究院 应用于分布式容器云平台的异常检测与定位方法及装置
CN110290012A (zh) * 2019-07-03 2019-09-27 浪潮云信息技术有限公司 RabbitMQ集群故障的检测恢复系统及方法

Also Published As

Publication number Publication date
CN111061586B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
US10693711B1 (en) Real-time event correlation in information networks
US10599506B2 (en) Methods and systems for identifying action for responding to anomaly in cloud computing system
US10284623B2 (en) Optimized browser rendering service
US9098578B2 (en) Interactive search monitoring in a virtual machine environment
US20190361690A1 (en) Extensions for deployment patterns
US10834183B2 (en) Managing idle and active servers in cloud data centers
US11106562B2 (en) System and method for detecting anomalies based on feature signature of task workflows
Patel et al. Machine learning based statistical prediction model for improving performance of live virtual machine migration
Caglar et al. Intelligent, performance interference-aware resource management for iot cloud backends
EP2634699B1 (en) Application monitoring
US10944778B1 (en) Method and system for implementing risk based cyber security
WO2020119627A1 (zh) 应用于分布式容器云平台的异常检测与定位方法及装置
US20160112285A1 (en) Apparatus and method for detecting abnormal connection
US11334461B2 (en) Distributed application resource determination based on performance metrics
CN111061586B (zh) 一种容器云平台异常检测方法、系统及电子设备
CN115080397A (zh) 系统可靠性测试方法、装置、设备和存储介质
US11467947B2 (en) Automated mocking of computer system deployments
CN112306639B (zh) 一种虚拟桌面的测试方法及装置
WO2021109048A1 (zh) 一种容器云平台异常检测方法、系统及电子设备
US11196766B2 (en) Detecting denial of service attacks in serverless computing
Guo et al. Learning-based characterizing and modeling performance bottlenecks of big data workloads
US11050768B1 (en) Detecting compute resource anomalies in a group of computing resources
US11968086B1 (en) Isolated environment provisioning in service mesh-based microservices systems
US20230308466A1 (en) Workflow penetration testing
US20230099510A1 (en) Network topology monitoring

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