CN116802614A - 监测大型云计算系统的健康状态 - Google Patents

监测大型云计算系统的健康状态 Download PDF

Info

Publication number
CN116802614A
CN116802614A CN202280011471.5A CN202280011471A CN116802614A CN 116802614 A CN116802614 A CN 116802614A CN 202280011471 A CN202280011471 A CN 202280011471A CN 116802614 A CN116802614 A CN 116802614A
Authority
CN
China
Prior art keywords
computer
program instructions
value
computing system
computing
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
CN202280011471.5A
Other languages
English (en)
Inventor
S·斯特伯灵
T·泰西
J·穆勒
G·比尔达尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116802614A publication Critical patent/CN116802614A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42033Kind of servo controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling

Abstract

公开了一种用于监测计算系统的健康状态的方法、计算机程序产品和系统。所述方法包括一个或多个处理器在计算系统的多个工作节点的每一个中部署相应的监测预测代理。该方法还包括通过相应监测预测代理对于多个工作节点中的每一个,通过将相应工作节点的性能度量数据值的时间相关函数与上阈值和下阈值进行比较,来确定单个二进制健康状态值。所述方法还包括从所述多个工作节点中的每一个接收所述二进制健康状态值以及相应的身份信息。该方法还包括通过向计数布隆过滤器的散列函数馈送所接收的相应身份信息来生成指示计算系统的健康状态的数据集。

Description

监测大型云计算系统的健康状态
背景技术
本发明总体上涉及计算机系统分析领域,并且更具体地涉及监测计算系统的健康状态。
监测IT(信息技术)基础设施部件一直具有独立的IT纪律。借助它的帮助,可以有效地、远程地和连续地管理企业以及云计算环境的IT景观的组件。此外,可能较早地检测到潜在瓶颈,以便防止IT基础设施的各个组件的意外停机时间。
监测即服务(MaaS)是作为服务(XaaS)的任何事物下的许多云计算传递模型之一。监测即服务是促进在云计算环境内部署用于不同服务和应用的监测功能的框架。MaaS的最常见应用是IT组件的在线状态监测,其连续地跟踪应用、网络、系统、示例或可部署在云计算环境内的任何元件的某些状态。一对产品当前上市,随时间且在不同方面下从IT组件收集大量状态数据。通常,这些状态数据在中心位置被收集并在多个不同方面下被分析。在这样的复杂状态跟踪系统中涉及的开销以及所需的数据分析伴随数据的复杂性可变得显著,并且(a)对于观察到的基础设施部件和(b)对于从大量收集的数据中提取一些含义所需的中央分析服务而言存在附加负担。
并且这出于至少一个良好原因:云计算系统中的中断通常具有直接客户影响:通常,服务基于事件在短时间段(秒或分钟)内不可用。事件可以是任何事件,例如网络中断和相邻服务(例如,数据库、消息传送系统等)的不可用性。
发明内容
本发明的方面公开一种用于监测计算系统的健康状态的方法、计算机程序产品和系统。所述方法包括一个或多个处理器在计算系统的多个工作节点的每个中部署相应的监测预测代理。所述方法还包括一个或多个处理器通过相应的监测预测代理为多个工作节点中的每一个确定单个二进制健康状态值。确定相应的单个二进制健康状态值的方法还包括一个或多个处理器将相应的工作节点的性能度量数据值的时间相关函数与预定义的可配置上阈值和可配置下阈值进行比较。所述方法还包括一个或多个处理器从所述多个工作节点中的每一个接收所述二进制健康状态值以及相应的身份信息。所述方法还包括一个或多个处理器通过将所接收的多个工作节点中的每一个的身份信息馈送到计数布隆过滤器的散列函数来生成指示计算系统的健康状态的数据集。
附图说明
应注意,参考不同的主题描述本发明的实施方式。具体地,参照方法类型权利要求描述一些实施例,而参照装置类型权利要求描述其他实施例。然而,本领域的技术人员将从以上和以下描述中得出,否则除非另外指出,除了属于一种类型的主题的特征的任何组合之外,涉及不同主题的特征之间(具体地,方法类型权利要求的特征与装置类型权利要求的特征之间)的任何组合也被认为是在本文档内公开的。
以上定义的方面和本发明的另外的方面从下面将要描述的实施例的示例中是显而易见的,并且参考实施例的示例来解释,但是本发明不限于此。将仅通过示例并参考以下附图描述本发明的优选实施例。
图1示出了根据本发明实施例的用于监测包括多个工作节点的计算系统的健康状态的创造性计算机实现的方法的实施例的框图。
图2示出了根据本发明的实施例的具有支持所提出的概念的部件的架构的实施例的框图。
图3描绘了根据本发明的实施例的计数布隆过滤器的实施例的框图。
图4描绘了根据本发明的实施例的监测预测代理的功能的方面的实施例。
图5描绘了根据本发明的实施例的总体方法的实施例的更接近实现的版本的流程图。
图6描绘根据本发明的实施例的所提议的概念的预测方面的更接近实现的实施例的流程图。
图7描绘了根据本发明的实施例的创造性计算基础设施监测系统的实施例的框图。
图8描绘了根据本发明的实施例的包括图7的计算基础设施监测系统的至少部分的计算系统的实施例。
图9描绘了根据本发明的实施例的云计算基础设施的实施例。
具体实施方式
在本说明书的上下文中,可以使用以下惯例、术语和/或表达。
术语“健康状态”或健康状态值可表示数字指示值,其表示复杂系统(如工作节点或计算系统或多个计算系统的多个工作节点)运行良好。在各种实施方式中,术语“健康状况”或健康状况值可表示“故障在前”或“所有系统平稳运行”的状态。
术语“计算系统”可表示硬件计算系统、其多个、集群、云计算中心和/或一个或多个虚拟机或计算容器(例如,Docker容器)。计算系统还可以是网络或存储系统或相当的系统。而且,根据本发明的各个实施例,其他外围单元可以被描述为在所提出的概念的上下文中的计算系统。
术语“工作节点”可表示虚拟或物理计算系统或其一部分。工作节点可适于执行程序代码。因此,虚拟机或无状态计算容器也可表示为工作节点。工作节点可部署在大型云计算中心中,诸如在10,000或100,000或甚至更大的范围内。
术语“监测预测代理”可表示具有确定工作节点的二进制健康状态值的能力的工作节点内的函数。在示例性实施方式中,“监测预测代理”可表示工作节点的内存使用。
术语“单个二进制健康状况值”可表示逻辑“0”或逻辑“1”。在示例性实施方式中,逻辑“0”可表示“未检测到问题”,并且逻辑“1”可表示相应工作节点中“可能存在潜在问题”。
例如,术语“时间相关函数”在本文中可表示使用例如可消耗存储器的给定设定点和实际确定的存储器使用量的PID(比例-积分-微分)过滤器,由此还可反映短期历史存储器消耗值。因此,内存消耗也可以通过工作节点的其他资源的一个示例来实现。
术语”性能度量数据值”可表示真实数字数据值,并且能够表示具有更多计算过程的计算系统的特定资源消耗。一个示例可以是消耗的存储器相比于可用总存储器的百分比。其他性能度量数据值可以涉及网络使用量或处理器使用量或计算机功率使用量。
术语“上阈值”可以表示数值(例如,百分比值),该数值可以在初始化时间上传到监测预测代理,性能度量数据的值可以与该数值进行比较。因此,两个百分比值可以相互比较。如果性能度量数据值可超过上阈值,那么可生成逻辑“1”作为相应工作节点的二进制健康状态值。如果与上阈值相比较,术语“下阈值”可表示相应的阈值。
术语“健康管理代理”可表示中央控制器或系统,其在CBF(计数布隆过滤器)的位置中控制本发明的各个方面,用于确定多个工作节点的健康状态。通常,但不是必须地,健康监测代理可远程部署到工作节点,并且也可以是MaaS解决方案的一部分。
例如,术语“身份信息”可表示地址标签和对应的网络(例如,工作节点)。然而,网络地址的部分也可以用作身份信息。例如,虚拟机部分的完整地址、相关硬件系统地址、集群地址或区域地址。
术语“散列函数”可表示可用于将任意大小的数据(例如,地址数据)映射到固定大小值的任何函数。由散列函数返回的值(例如,指向数据阵列的索引字段的索引指针)被称为散列值、散列码、摘要或简单地称为散列。
术语“计数布隆过滤器”(CBF)可表示布隆过滤器的一般化数据结构,其可用以测试给定元素的计数数目在给定元素序列时是否小于给定阈值。作为布隆过滤器的广义形式,假肯定匹配是可能的,但假否定不是-换言之,查询返回“可能大于或等于阈值”或“明确地小于阈值”。这里,散列函数将传入数据(例如,地址数据)映射到作为布隆过滤器数据集或数据阵列的一部分的计数器。
术语“数据集”可表示阵列中的字段的阵列(例如,整数值),其中逻辑“1”值根据接收的二进制健康状况值增加或减少。
术语“时间序列”可表示可比较数据结构的数据值被持久存储以生成供进一步分析的时间相关的数据集。
在此上下文中,术语‘云计算’可被解释为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池进行方便的、按需的网络访问的模型,所述可配置计算资源能够以最小的管理努力或服务提供商交互来快速供应和释放。远程多租户计算环境可被实现为云计算数据中心。云模型促进可用性并且由至少五个基本特征、三个服务模型和四个部署模型组成。
云计算的基本特征包括:
(i)按需自助服务。消费者可以单方面地在需要时自动提供计算能力,诸如服务器时间和网络存储,而不需要与每个服务提供者的人交互。
(ii)广泛的网络接入。能力可通过网络获得并且通过促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
(iii)资源池:供应商的计算资源被合并以使用具有不同物理和虚拟资源的多租户模型来服务于多个消费者,根据消费者需求动态地分配和重新分配。存在位置独立性的感觉,因为客户通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。资源的示例包括存储、处理、存储器、网络带宽和虚拟机。
(iv)快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
(v)测量服务。云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监测、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
云计算使用的服务模型包括:
(i)云软件即服务(SaaS)。提供给消费者的能力是使用提供者在云基础设施上运行的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
(ii)云平台即服务(PaaS)。提供给消费者的能力是将使用由提供者支持的编程语言和工具创建的消费者创建或获取的应用部署到云基础结构上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用以及可能的托管环境配置的应用具有控制。
(iii)云基础设施即服务(IaaS)。提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述任意软件可以包括操作系统和应用程序。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
用于云计算的部署模型包括:
(i)私有云。云基础架构只由一个组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
(ii)社区云。云基础架构由几个组织共享,并支持共享关注(例如,任务、安全要求、政策和合规考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
(iii)公共云。云基础架构可用于普通公众或大型工业集团,并由出售云服务的组织拥有。
(iv)混合云。云基础设施是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
可以注意到,云软件通过面向服务以专注于状态性(具有例外)、低耦合、模块性和语义互操作性来充分利用云范例。这特别适用于部署在云计算中心中的计算系统上或中的工作节点。
所提出的用于监测包括多个工作节点的计算系统的健康状况的计算机实现方法可提供多个优点、贡献和技术效果。
本发明的实施例认识到,虽然恢复或高可用性系统通常在企业级IT基础设施中就位,但是用户可能经历单个微服务或多个微服务的中断。从云提供者的观点来看,这是必要的,以便尽可能且以尽可能少的努力防止这样的中断。然而,对于这个目标,当前可用的监测服务和系统可能太复杂并且可能代表现有IT基础设施及其运营商的实际负担。具体地,在必须监测10,000或者甚至100,000项服务的环境中,本发明的实施例认识到将需要更复杂、易于处理和高度自动化的MaaS技术。
与传统的监测系统和系统管理系统相比,本发明的实施例可进行操作以将工作节点的健康状态降低至单个二进制健康状态值(基本上为“0”或“1”),从而需要尽可能少的信息并且不产生开销。如以上所讨论的,传统的监测系统收集计算系统的各种各样的生命功率计值或潜在地还从运行的服务中收集。因此,关于在工作节点以及分析系统上或中所需的存储器消耗、关于将所有这些参数值从工作节点传输至中心分析系统所需的带宽以及中心分析系统上所需的计算能力,所涉及的开销可以被减少至一比特的裸最小值。因此,通过将工作节点健康状态限制到一个重要的数据点,可避免由传统监测系统每秒收集一百甚至一千或更多个数据点。数据点或该性能度量数据值可以是特定工作节点(例如,计算机系统)、虚拟机、管理程序或程序执行容器等的存储器消耗。
因此,本发明的实施例可操作用于大幅减少数据量,由此可使每个工作节点纤薄且重量轻。而且,可以显著减少计算和反应时间。因而,所提出的概念可以尤其适用于具有正在硬件计算平台上执行的数万个服务的大型和非常大型的云计算系统。
此外,与一个工作节点相关联的监测预测代理可不仅将所选择的性能度量数据值(例如,存储器消耗)与固定上限进行比较,而且可确定在(短)历史时间内的存储器消耗,并且以其单个二进制健康状态值反映工作节点的存储器消耗的发展。
然后,与上阈值和下阈值的比较(两者都是可配置的)不仅针对上危险存储器消耗值进行检查,而且针对可疑的下阈值进行检查,该可疑的下阈值可以指示对于所观测的服务来说某些事情可能是错误的,因为例如所指示的存储器对于授权的进程软件及其缓冲器和高速缓存来说可能仍然较小。所以,即使在这种情况下,过低的存储器消耗也可能是工作节点中相应服务的小功能的指示。
计数布隆过滤器(CBF)的使用还可表示在用于监测计算系统的健康状态的所提出的方法的上下文中的有趣概念。CBF的中心概念是过滤器数据阵列中的数据与相应源(即,工作节点)的解耦。因此,监测服务操作者可能能够告知所观察的服务中的哪一个特定的服务可能具有问题,但是服务操作者能够说一组工作节点可能超过某个阈值或者可能表示可能是异常的计算功率消耗趋势。所以,从安全和数据隐私的角度来看,所提议的概念也可以获得高标记,因为没有捕获任何详细的数据。
此外,本发明的各个实施例可通过不仅将事件添加到工作节点的特定识别符,而且如果未从工作节点报告问题,那么减少过滤器数据阵列中的计数器来扩展CBF的概念。另外,通过跨越所有过滤器阵列单元内容建立总和(例如,通过跨越所有CBF单元建立总和且除以高速缓存函数的数目),还可获得关于可能出故障(例如,归因于过载)的计算节点的指示。
此外,除了工作节点本身的ID以外,工作节点的指示符还可包括群集或区域的ID信息。因此,群集和区域的健康状态也可独立于工作节点本身的健康状态被监测。
因此,尽管本发明的实施例可运行以通过网络传输仅一位的健康状态信息,但是本发明的实施例可提供预测云计算系统中未被规划且可呈现危险设置的计算机系统、群集和整个区域的情况的优点。因而,本发明的实施例可以将工作负载从一个计算系统转移到另一计算系统、从一个区域转移到另一区域或从一个群集转移到另一群集。任务可以由相关系统管理工具执行。因此,本发明的实施例可以很好地集成在轻量但强大的MaaS解决方案中,以用于监测甚至非常大的具有10,000或甚至100,000工作节点的计算设备。
在下文中,将更详细地描述可应用于该方法以及相关系统的附加实施例。
根据示例实施例,性能度量数据值可涉及或为相应工作节点的存储器使用量,其可表示指示工作节点如何执行其任务的特性性能度量值。给定上边界和下边界,工作节点的健康状态可由这种单个二进制值表征。特别地,因为监测预测代理还可访问最近的存储器使用量(例如,以时间序列形式),所以可使得代理还能够预测在不久的将来预期的存储器使用量的发展。该函数可由PID(比例、积分、微分)过滤器执行,该结果也可与预定义的上阈值和下阈值进行比较。因此,过低的存储器使用量可能以与过高的存储器使用量相同的方式指示工作节点内的潜在问题。因此,根据高级实施例,通过时间相关函数确定单个二进制健康状态值可包括使用PID过滤器作为用于确定预测的存储器使用量的监测预测代理的一部分。
进一步,代替存储器使用量,本发明的各个实施例可利用其他参数值,诸如所使用的网络带宽、所需的总存储容量、I/O(输入/输出)速率、CPU使用量、内部总线使用和/或其他相应的百分比值。
根据该方法的另一实施例,数据集可存储为预定义长度(例如,具有预定义时间段的长度)的阵列(例如,作为整数值),其中身份信息的一部分可用作散列函数的输入。因此,散列函数的输出值可以是用于对阵列中的数据字段进行寻址的索引值,并且如果所接收的相应的单个二进制健康状态值是逻辑“1”,则可以增加数据集的所寻址的数据字段中的每一个的相应值(例如,增加1)。其他增量值也是可能的。
作为结果,并且根据另一个实施例,如果所接收的相应单个二进制健康状态值是逻辑“0”,则本发明的实施例可以操作以减小数据集的所寻址的数据字段中的每一个的相应值(例如,减小一)。由此,计数布隆过滤器可以达到其完全潜力。
另外,可以提及的是,身份信息的该部分可以涉及相应的硬件节点、或计算节点机架、或节点或机架集群、或区域。另外,完整身份信息(即,完整网络地址)也可用作相应散列函数的输入。
根据一个有利实施例,阵列中的数据字段的值的总和指示计算系统的健康状态。为此,可合计所有区域字段的所有值。附加方面还可以提供在预定义时间间隔之后重置数据区域字段。因此,可以定期执行归一化为“零”,以适应包括多个工作节点的整个系统的变化的一般条件。
此外,在各个初始化之后,每个工作节点可在初始化时间之后不久发送“1”并且在工作量的计算过程增加并运行之后发送逻辑“0”。来自工作节点的通信可操作以重置数据阵列中的相应字段,其可用作工作节点中相应计算进程(一个或多个)的成功初始化的指示符。
根据示例实施例,所述方法还可包括将健康状态值(例如,CBF的状态)存储在持久性存储装置中,从而产生计算系统加载历史数据。健康状态的存储(例如,CBF的值的副本)可以定期存储,或者如果健康状态值的一个或多个预定义的阈值可以是超限或差额,则可以允许对健康状态管理系统进行微调。
根据另一示例实施例,该方法还可以包括基于将来特定时间点的计算系统负载历史数据确定(例如,使用趋势计算引擎预测)例外的计算系统负载值。系统负载的这种集合和保护值(例如,可表示工作节点的较大集合的状态)可帮助操作者或随后工作量控制系统确定预谨慎动作以预测系统过载。
因此,并且根据另一示例实施例,该方法还可以包括,当例外的计算系统负载值超过预定义的计算系统负载值时,发起推荐的校正基础设施或工作负载管理动作。这种推荐的校正基础设施或工作负载管理动作可包括将计算系统的工作节点的一部分重新部署在另一个不那么繁忙的硬件节点上。此外,可以指示可能尤其取决于给定使用情况的其他校正动作。
根据所述方法的另一个实施例,可从由物理计算节点、多个物理节点、虚拟机、多个虚拟机、计算容器(例如,Docker容器)、多个计算容器、计算进程和多个计算进程组成的组中选择工作节点。此外,所提议的概念还可以支持待监测的其他对象。
根据附加实施例,该方法还可以包括在监测预测代理的启动期间接收可配置上阈值和可配置下阈值。在一些实施例中,仅工作节点或其组中的各单个工作节点可接收上阈值和下阈值。因此,不要求所有工作节点的值相同。
在下文中,将给出附图的详细描述。附图中的所有指令是示意性的。首先,给出了用于监测包括多个工作节点的计算系统的健康状况的本发明的计算机实现的方法的实施方式的框图。此后,将描述用于监测包括多个工作节点的计算系统的健康状态的计算基础设施监测系统的其他实施例以及实施例。
图1描绘了根据本发明的实施例的用于监测计算系统的健康状况的计算机实现的方法100的优选实施例的框图,所述计算系统通常被设置为云计算中心的元件。在不同实施例中,计算系统包括多个工作节点,所述工作节点可以是物理或逻辑单元、虚拟机、计算容器或硬件系统等。出于解释的目的,在图1中描述的方法100可以在图2中示出的系统(例如,利用架构200的一个或多个部件)、图4(例如,利用监测预测代理的功能的方面的实施例400)、图7(例如,利用本发明的计算基础设施监测系统700的实施例的方框图的一个或多个部件)和图8(例如,利用计算系统800)中描绘的一个或多个图和系统中实现。在示例实施例中,架构200的一个或多个组件(诸如健康管理代理214)可以执行方法100的处理步骤。或者,方法100的执行不限于此实现方式。
在步骤102中,方法100包括在多个工作节点中的每一个中部署相应的监测预测代理。在步骤104中,方法100包括由相应的监测预测代理为多个工作节点中的每一个通过相应工作节点的至少一种性能度量数据值(例如,每个工作节点的存储器使用量的百分比)的时间相关函数确定(例如,通过查询或计算)单个二进制健康状态值(例如,“0”用于“OK”并且“1”用于“某物可能是错误的”)。在步骤106中,方法100将对应结果与预定义的可配置上阈值和可配置下阈值进行比较。
接下来,在步骤108中,方法100包括在可远离工作节点的健康管理代理处从多个工作节点中的每一个(通常,定期地)接收二进制健康状态值以及相应的身份信息(例如,工作节点、集群、区域等的ID)。然后在步骤110中,方法100包括在健康管理代理处将所接收的多个工作节点中的每一个的身份信息馈送到计数布隆过滤器的散列函数,从而生成指示计算系统的健康状态的数据集。数据集可被组织为整数值的阵列。
图2描绘了根据本发明的实施例的支持所提出的概念的组件的架构200的实施例的框图。多个工作节点(即,工作节点202、工作节点204至工作节点n206)中的每一个包括相应的相关监测预测代理(即,监测预测代理208、监测预测代理210和监测预测代理212)。各个组件之间的箭头可以示出组件之间的共同时机路径。首先,可对中央系统管理系统或MaaS解决方案中的工作节点202、204到206远程执行的管理代理214初始化工作节点并且将“初始化监测”动作发送到相应的工作节点。每个初始化工作节点在每个工作节点之间可以不同的“默认加载”规范中接收。具体地,健康管理代理可将上阈值和下阈值发送至相应的工作节点。
此外,在健康管理代理214中初始化CBF(计数布隆过滤器)。然后,工作节点使用对应的监测预测代理确定二进制健康状态值,特别是逻辑“0”(意味着“OK”),或逻辑“1”(意味着“可能存在问题”)如何。该确定可以定期地和/或循环地或基于事件地完成。如上所述(并且也在图1的上下文中),所接收的工作节点202、204至206的二进制健康状态值更新CBF。另外,CBF的数据阵列的规则快照可存储在健康状态存储装置218处以产生计算系统的健康值的历史。
趋势计算代理216读取CBF值和快照以确定多个工作节点的二进制健康状态值的预测趋势,并且从计算系统(即,工作节点)的趋势推荐校正动作导出。健康管理代理214然后可以通知系统管理系统以实施校正动作。例如,健康管理代理214可将工作负载的部分(即,工作节点的一部分)移动到另一硬件环境,或者将完整的多个工作节点移动到更强大的硬件支持系统(例如,在另一区域中)。其他选项是在计算系统中使更多存储器可用或向计算系统添加附加资源(例如,通过附加资源的软件启用)。代替使用系统管理系统实现校正动作,健康管理代理214还可以通过直接指示工作节点来直接实现校正动作。
图3描绘了计数布隆过滤器300的实施例的框图。在所描绘的示例中,h1和h2将表示两个不同的散列函数。在不同实施例中,从工作节点WN1 304、WN2 306和WN3 308接收逻辑“1”。完整地址(即,标识符或标识符信息)被用作散列函数h1和h2的输入。在另一实施例中,可部署经精细调谐的散列函数集合。精细调谐的散列函数生成的索引值可限于数据阵列302的长度。
如可以看到的,从左边寻址用于WN1 304的标识符的第二数据字段,这导致数据阵列302的数据字段中的逻辑“1”。对于工作节点WN2 306的标识符信息,这同样适用于数据阵列302的第四和六个数据字段。在数据阵列302的第七字段(右边的第二数据字段)中,数据字段存储“2”。这是因为由工作节点WN1304的标识符信息的散列函数h2生成的索引值以及由工作节点WN3 308的标识符信息的散列函数h2生成的索引值指向数据阵列302的相同数据字段或索引。
数据阵列302中的数据字段还可被标记为散列函数为其生成索引值的类别。通常,如果接收逻辑“1”以及相应的标识符信息(例如,相应的工作节点的地址的一部分(或全部)),则数据阵列302的数据字段的值被增加。此外,如果接收到逻辑“0”,则数据阵列302的数据字段上的计数器减小。在示例实现中,数据阵列302中的数据字段的数量远大于这里示出的八个字段。此外,应用于每个接收的标识符信息的散列函数的数量也可以大得多。
如果数据阵列302用“全零”初始化(或循环复位),则本发明的实施例可以产生比接收逻辑“1”更多的逻辑“0”的负值f。如果人们希望在数据阵列302的数据字段中仅具有正的计数器值,则各个计数器的初始化值应该具有正的起始值(例如,512或1000或类似值)。
在另一实施例350中,将状态报告到CBF中的节点以有序且受控的方式分配到数据阵列352中的选定桶,其可允许取决于类别(例如预期实际负载、群集成员资格、安全约束等)对节点进行分组。如果可以由运营商执行的假设或约束改变,则可以在任何时间调整分配。这样的实施例可以允许针对工作节点的不同特性使用一个单个CBF。或者,也可将单独的CBF用于这些不同特性,这可允许工作节点的计算负荷的甚至更细粒度的分析。在这里,工作节点WN1 353、WN2 354可以涉及工作节点的相同桶/特性。仅象征性地示出用于数据阵列352中的相应数据字段的逻辑“1”。WN3 356创建其自己的类别,而WN4 358和WN5360创建用于相应工作节点的其他特征的另一个类别。
如果对数据集中的所有值求和(例如,数据阵列302为六个,数据集/数据阵列352为六个),那么给出托管工作节点的计算系统的健康状态的指示。具体地,在CBF的数据集352的情况下,可以仅合计所选的数据字段集,以便仅分析由阵列/数据集中的字段表示的特定特性。
图4象征性地描绘了监测预测代理的运行的方面的实施例400。设定点(SP)值402以及所测量的时间相关存储器消耗MC(t)404被用作加法器408的输入。PID过滤器的比例分量P、积分分量I和微分分量D确定由加法器410相加以输出校正和预测的存储器消耗值406的特定值。
校正的存储器消耗值406以时间相关的方式在图412中示出。上阈值线416和下阈值线414之间的值产生相应工作节点的二进制健康状态值的逻辑“0”,其中过高的校正的存储器消耗值406(高于上阈值线416)或过低的校正的存储器消耗值406(低于下阈值线414)产生逻辑“1”作为相应工作节点的二进制健康状态值。
图5描绘了根据本发明的实施例的作为总体方法的实施例500的示例实现例的流程图。出于解释的目的,图5中描述的实施例500可以在图2中示出的系统(例如,利用架构200的一个或多个组件)、图4(例如,利用监测预测代理的功能的方面的实施例400)、图7(例如,利用本发明的计算基础设施监测系统700的实施例的框图的一个或多个组件)和图8(例如,利用计算系统800)中描述的一个或多个图和系统中实现。在示例实施例中,架构200的一个或多个部件(诸如健康管理代理214)可以执行实施例500的处理步骤。在另一示例实施例中,创造性计算基础设施监测系统700的实施例的框图的一个或多个部件可以执行实施例500的处理步骤。可替代地,实施例500的执行不限于该实现方式。
首先,在步骤502中,实施例500初始化监测代理。要注意的是,所示的流程图还涉及用于所提出的概念的所涉及的部件的上述架构(比较图2)。接下来,在步骤504中,实施例500包括发送“初始化监测”动作,该动作由健康管理代理产生,其中实施例500还可以初始化CBF(在步骤506中)。
在下一循环步骤(步骤508)中,实施例500利用监测预测代理将健康状态值推送到网络(例如,推送到健康管理代理)。然后,继而,实施例500包括(在步骤510中)接收健康状态值。由此,在步骤512中,实施例500更新CBF。此外,CBF的状态也可以有规律地、基于事件和/或可选地被重置来存储。
然后,在步骤514中,实施例500包括读取CBF状态和趋势快照并添加新的趋势快照(在步骤516中)。读取是确定(在步骤518中)对计算系统的全部或一部分工作节点的校正动作并且还推荐(在步骤520中)对另一系统管理系统(未示出)的校正动作的基础。在一个实施例中,实施例500还包括使得健康监测代理能够匿名地改变(在步骤522中)基础设施领域并且潜在地将工作负载(即,工作节点)从一个系统移动到另一个系统。
图6描绘了根据本发明的实施例的所提出的概念的预测方面的实施例的示例实现方式的流程图600。为了说明的目的,在图6中描述的流程图600可以在图2中示出的系统(例如,利用架构200的一个或多个部件)、图4(例如,利用监测预测代理的功能的方面的实施例400)、图7(例如,利用本发明的计算基础设施监测系统700的实施方式的框图的一个或多个部件)和图8(例如,利用计算系统800)中描述的一个或多个图和系统中实现。在示例实施例中,架构200的一个或多个部件(诸如健康管理代理214)可以执行流程图600的处理步骤。在另一示例实施例中,创造性计算基础设施监测系统700的实施例的框图的一个或多个部件可以执行流程图600的处理步骤。可替代地,流程图600的执行不限于该实现方式。
在所描绘的示例中,流程图600开始于(在步骤602中)由趋势计算代理(比较图2)读取所选时间帧的最近CBF数据集和趋势快照。然后(在步骤604中),趋势计算代理计算报告濒危状态的代理数量的增加或减少的速度,即在趋势快照中值>=大于或等于“1”。
在步骤606中,流程图600包括利用趋势计算代理来将最新CBS数据集中大于或等于“1”的值的数量与针对系统定义的关注和危险阈值进行比较。如果本发明的实施例确定超过危险阈值,则在步骤608中,流程图600利用趋势计算代理来向健康管理代理发送基础设施部署动作。相反,在关注区中,如果所计算的速度增加,则流程图600利用趋势计算代理来向健康管理代理发送工作负载移位消息(在步骤610中)。低于关注阈值,如果所计算的速度减小,则流程图600利用趋势计算代理来向健康管理系统发送基础设施停用消息(在步骤612中)。
图7描绘了根据本发明的实施例的创造性计算基础设施监测系统700的实施例的框图。系统700用于监测包括多个工作节点的计算系统的健康状态。系统700至少包括通信地耦接至处理器702的存储器704,其中,存储器存储程序代码部分,当被加载到处理器702并且由处理器702执行时,程序代码部分使处理器702能够在健康管理代理处(具体地,通过作为健康管理系统的一部分的接收器706)从多个工作节点中的每一个接收二进制健康状态值以及相应的身份信息。本发明的实施例可进行操作以通过部署在多个工作节点中的每一个中的相应监测预测代理,通过相应工作节点的性能度量数据值的时间相关函数,为多个工作节点中的每一个确定单个二进制健康状态值(例如,利用相应健康状态值生成器708),将结果与专用于每个工作节点的预定义的可配置上阈值和可配置下阈值进行比较(例如,通过比较单元710)。此外,还使处理器702能够在健康管理代理处将接收到的多个工作节点中的每一个的身份信息馈送到计数布隆过滤器的散列函数(可替代地,使用散列馈送模块,诸如馈送单元712),从而生成指示计算系统(未示出)的健康状态的数据集。
应当注意,接收器706和馈送单元712可以是相应的健康管理代理系统的一部分,而健康状态值生成器708和比较单元710可以是工作节点(未示出)中的一个的一部分。不同模块和单元——具体地处理器702、存储器704、接收器706、健康状态值生成器708、比较单元710、以及馈送单元712电互连以用于交换电信号和/或数据。互连可以使用系统内部总线系统714或者可替代地使用网络连接来实现。
在转到图8之前,应注意示出云计算基础设施的实施方式的图9,其中,可有利地实现所提出的概念。
在转到图8之前,将描述图9,图9描绘了其中可部署本发明构思的至少一部分的云计算环境900。示出了由云计算环境提供的一组功能抽象层。应提前理解,图9所示的组件、层和功能仅是说明性的,本发明的实施例不限于此。如所描绘的,提供以下层和相应的功能:硬件和软件层902包括硬件和软件组件。硬件组件的示例包括:大型机904;服务器906;基于RISC(精简指令集计算机)架构的服务器908;刀片服务器910;存储设备912;网络和网络组件914。在一些实施例中,软件组件包括网络应用服务器软件916和/或数据库软件918。
虚拟化层920提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器922;虚拟存储装置924;虚拟网络926,包括虚拟专用网络;虚拟应用和操作系统928;以及虚拟客户端930。在一个示例中,管理层932可以提供以下描述的功能。资源供应934提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价936提供成本跟踪,因为资源在云计算环境内被利用,并且为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户938为消费者和系统管理员提供对云计算环境的访问。服务水平管理940提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行942为云计算资源提供预安排和采购,根据该SLA预期该云计算资源的未来要求。
工作负载层944提供可利用云计算环境的功能性的示例。可以从该层提供的工作负载和功能的示例包括:地图和导航946;软件开发和生命周期管理948;虚拟教室教育递送950;数据分析处理952;事务处理954;以及象征性地计算基础设施监测系统956(比较图7、700)。
本发明的实施例可与实际上任何类型的计算机一起实现,而不管平台适于存储和/或执行程序代码。图8作为示例描述了适合于执行与所提出的方法(例如,作为工作节点的一部分)相关的程序代码、健康监测代理和/或趋势计算代理的计算系统800。
计算系统800仅是合适的计算机系统的一个示例,并且不旨在对本文所描述的本发明的实施例的使用范围或功能提出任何限制,无论计算机系统800是否能够实现和/或执行上文阐述的任何功能。在计算机系统800中,存在可与许多其他通用或专用计算系统环境或配置一起操作的组件。适于与计算机系统/服务器800一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。计算机系统/服务器800可以在由计算机系统800执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器800可在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于本地和远程计算机系统存储介质(包括存储器存储设备)中。
如图所示,计算机系统/服务器800以通用计算设备的形式示出。计算机系统/服务器800的组件可以包括但不限于一个或多个处理器或处理单元802、系统存储器804、以及将包括系统存储器804的不同系统组件耦合到处理单元802的总线806。总线806表示若干类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及外围组件互连(PCI)总线。计算机系统/服务器800通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器800访问的任何可用介质,并且其包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器804可包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)808和/或高速缓存存储器810。计算机系统/服务器800还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅通过示例的方式,存储系统812可被设置为从不可移动、非易失性磁介质(未示出,并且通常称为‘硬盘驱动器’)读取和写入。虽然未示出,但是可提供用于从可移动、非易失性磁盘(例如,‘软盘’)读取和向其写入,以及用于从诸如CD-ROM、DVD-ROM或其他光学介质等可移动、非易失性光盘读取或向其写入。在这样的情况下,每一个可以通过一个或多个数据介质接口连接到总线806。如下文将进一步描绘和描述的,存储器804可包括具有被配置来执行本发明的实施例的功能的一组(例如,至少一个)程序模块的至少一个程序产品。
具有一组(至少一个)程序模块816的程序/实用程序以及操作系统、一个或多个应用程序、其他程序模块和程序数据可以通过示例而非限制的方式存储在存储器804中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一个或它们的一些组合可以包括网络环境的实现方式。程序模块816通常执行本发明的实施例的功能和/或方法,如本文所描述的。
计算机系统/服务器800还可以与一个或多个外部设备818通信,外部设备818诸如键盘、定点设备、显示器820等;使用户能够与计算系统/服务器800交互的一个或多个设备;和/或使计算机系统/服务器800能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这样的通信可经由输入/输出(I/O)接口814发生。此外,计算机系统/服务器800可经由网络适配器822与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网)的一个或多个网络通信。如所描绘的,网络适配器822可以经由总线806与计算机系统/服务器800的其他组件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统/服务器800结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器和数据归档存储系统等。
此外,用于监测包括多个工作节点的计算系统的健康状态的计算基础设施监测系统700可附接至总线806。这个附接可以被象征性地理解。
在此描述的程序是基于应用来识别的,对于该应用,在本发明的具体实施例中实施它们。然而,应当理解,本文中的任何特定程序术语仅为了方便而使用,并且因此本发明不应局限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(一个或多个介质)。
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的一个或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不背离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。在此所使用的术语被选择来最好地解释实施例的原理、实际应用、或优于市场中所发现的技术的技术改进、或使得本领域普通技术人员能够理解在此所公开的实施例。
本文中使用的术语仅用于描述具体实施方式的目的,而并非旨在限制本发明。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件执行所述功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本发明的描述,但并不旨在是详尽的或限于所公开形式的本发明。在不背离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述这些实施例以便最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够理解本发明的具有不同修改的不同实施例,如适合于所预期的特定用途。

Claims (20)

1.一种计算机实现方法,包括:
由一个或多个计算机处理器将相应的监测预测代理部署在计算系统的多个工作节点中的每一个中;
由一个或多个计算机处理器通过相应的监测预测代理为多个工作节点中的每一个确定单个二进制健康状态值,其中确定相应的单个二进制健康状态值还包括:
由一个或多个计算机处理器将所述相应的工作节点的性能度量数据值的时间相关函数与预定义的可配置上阈值和可配置下阈值进行比较;
由一个或多个计算机处理器从所述多个工作节点中的每一个接收所述二进制健康状态值以及相应的身份信息;以及
由一个或多个计算机处理器通过将所接收的所述多个工作节点中的每一个的身份信息馈送到计数布隆过滤器的散列函数来生成指示所述计算系统的健康状态的数据集。
2.根据权利要求1所述的方法,其中,所述性能度量数据值对应于所述相应的工作节点的存储器使用量。
3.根据权利要求2所述的方法,其中,确定所述单个二进制健康状态值还包括:
由一个或多个处理器使用PID(比例-积分-微分)过滤器作为所述监测预测代理的一部分来确定所预测的存储器使用量。
4.根据权利要求1所述的方法:
其中,所述数据集被存储为预定义长度的阵列,
其中,所述身份信息的一部分被用作所述散列函数的输入,
其中,所述散列函数的输出值是用于寻址所述阵列中的数据字段的索引值,并且
其中,响应于确定所述相应的单个二进制健康状态值是逻辑“1”,增加所述数据集的所寻址的数据字段中每一个的相应值。
5.根据权利要求4所述的方法,其中,所述阵列中的所述数据字段的值的总和表示所述计算系统的健康状态。
6.根据权利要求1所述的方法,还包括:
由一个或多个处理器通过将所述健康状态值的数据集的时间序列存储在持久性存储装置中来生成计算系统加载历史数据。
7.根据权利要求6所述的方法,还包括:
由一个或多个处理器基于特定未来时间点的所述计算系统负载历史数据来确定例外的计算系统负载值。
8.根据权利要求7所述的方法,还包括:
响应于确定所述例外的计算系统负载值超过预定义的计算系统负载值,由一个或多个处理器发起推荐的校正基础设施或工作负载管理动作。
9.根据权利要求1所述的方法,其中,工作节点选自由物理计算节点、多个物理节点、虚拟机、多个虚拟机、计算容器、多个计算容器、计算进程和多个计算进程组成的组。
10.根据权利要求1所述的方法,还包括:
由一个或多个处理器在所述监测预测代理的启动期间接收所述可配置上阈值和所述可配置下阈值。
11.一种计算机程序产品,包括:
一个或多个计算机可读存储介质和存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:
将相应的监测预测代理部署在计算系统的多个工作节点中的每一个中的程序指令;
通过相应的监测预测代理为多个工作节点中的每一个确定单个二进制健康状态值的程序指令,其中确定相应的单个二进制健康状态值的程序指令还包括:
将所述相应的工作节点的性能度量数据值的时间相关函数与预定义的可配置上阈值和可配置下阈值进行比较的程序指令;
从所述多个工作节点中的每一个接收所述二进制健康状态值以及相应的身份信息的程序指令;以及
通过将所接收的所述多个工作节点中的每一个的身份信息馈送到计数布隆过滤器的散列函数来生成指示所述计算系统的健康状态的数据集的程序指令。
12.根据权利要求1所述的计算机程序产品,其中,所述性能度量数据值对应于所述相应工作节点的存储器使用量。
13.根据权利要求2所述的计算机程序产品,其中,确定所述单个二进制健康状态值的所述程序指令还包括:
使用PID(比例-积分-微分)过滤器作为所述监测预测代理的一部分来确定所预测的存储器使用量的程序指令。
14.一种计算机系统,包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;以及
存储在所述计算机可读存储介质上以供所述一个或多个处理器中的至少一者执行的程序指令,所述程序指令包括:
将相应的监测预测代理部署在计算系统的多个工作节点中的每一个中的程序指令;
通过相应的监测预测代理为多个工作节点中的每一个确定单个二进制健康状态值的程序指令,其中确定相应的单个二进制健康状态值的程序指令还包括:
将所述相应的工作节点的性能度量数据值的时间相关函数与预定义的可配置上阈值和可配置下阈值进行比较的程序指令;
从所述多个工作节点中的每一个接收所述二进制健康状态值以及相应的身份信息的程序指令;以及
通过将所接收的所述多个工作节点中的每一个的身份信息馈送到计数布隆过滤器的散列函数来生成指示所述计算系统的健康状态的数据集的程序指令。
15.根据权利要求14所述的计算机系统,其中,所述性能度量数据值对应于所述相应的工作节点的存储器使用量。
16.根据权利要求15所述的计算机系统,其中,确定所述单个二进制健康状态值的程序指令还包括:
使用PID(比例-积分-微分)过滤器作为所述监测预测代理的一部分来确定所预测的存储器使用量的程序指令。
17.根据权利要求14所述的计算机系统,还包括存储在所述计算机可读存储介质上的要由所述一个或多个处理器中的至少一个执行的程序指令,用于:
通过将所述健康状态值的数据集的时间序列存储在持久性存储装置中来生成计算系统加载历史数据。
18.根据权利要求17所述的计算机系统,还包括存储在所述计算机可读存储介质上的要由所述一个或多个处理器中的至少一个执行的程序指令,用于:
基于特定未来时间点的所述计算系统负载历史数据来确定例外的计算系统负载值。
19.根据权利要求18所述的计算机系统,还包括存储在所述计算机可读存储介质上的要由所述一个或多个处理器中的至少一个执行的程序指令,用于:
响应于确定所述例外的计算系统负载值超过预定义的计算系统负载值,发起推荐的校正基础设施或工作负载管理动作。
20.根据权利要求14所述的计算机系统,其中,工作节点选自由物理计算节点、多个物理节点、虚拟机、多个虚拟机、计算容器、多个计算容器、计算进程和多个计算进程组成的组。
CN202280011471.5A 2021-02-09 2022-02-08 监测大型云计算系统的健康状态 Pending CN116802614A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/171,380 US11803421B2 (en) 2021-02-09 2021-02-09 Monitoring health status of a large cloud computing system
US17/171,380 2021-02-09
PCT/CN2022/075497 WO2022171075A1 (en) 2021-02-09 2022-02-08 Monitoring health status of large cloud computing system

Publications (1)

Publication Number Publication Date
CN116802614A true CN116802614A (zh) 2023-09-22

Family

ID=82703856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280011471.5A Pending CN116802614A (zh) 2021-02-09 2022-02-08 监测大型云计算系统的健康状态

Country Status (6)

Country Link
US (1) US11803421B2 (zh)
JP (1) JP2024505415A (zh)
CN (1) CN116802614A (zh)
DE (1) DE112022000406T5 (zh)
GB (1) GB2618951A (zh)
WO (1) WO2022171075A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116594795B (zh) * 2023-03-03 2024-01-26 齐鲁工业大学(山东省科学院) 面向数据中台的错误检测和修复方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738811B1 (en) 2000-03-31 2004-05-18 Supermicro Computer, Inc. Method and architecture for monitoring the health of servers across data networks
US20040010716A1 (en) 2002-07-11 2004-01-15 International Business Machines Corporation Apparatus and method for monitoring the health of systems management software components in an enterprise
US9730100B2 (en) 2002-10-28 2017-08-08 MeshDynamics Terse message networks
US8923186B1 (en) 2003-05-08 2014-12-30 Dynamic Mesh Networks, Inc. Chirp networks
US9172738B1 (en) 2003-05-08 2015-10-27 Dynamic Mesh Networks, Inc. Collaborative logistics ecosystem: an extensible framework for collaborative logistics
US8520979B2 (en) 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
US20140132767A1 (en) 2010-07-31 2014-05-15 Eric Sonnabend Parking Information Collection System and Method
US8887006B2 (en) 2011-04-04 2014-11-11 Microsoft Corporation Proactive failure handling in database services
US9235620B2 (en) 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
US8572439B2 (en) 2011-05-04 2013-10-29 Microsoft Corporation Monitoring the health of distributed systems
US9552334B1 (en) 2011-05-10 2017-01-24 Myplanit Inc. Geotemporal web and mobile service system and methods
EP2747379B1 (en) 2012-12-19 2015-08-05 Telefonica, S.A. A distributed health-check method for web caching in a telecommunication network
WO2014107795A1 (en) 2013-01-08 2014-07-17 Interaxon Inc. Adaptive brain training computer system and method
US9276826B1 (en) * 2013-03-22 2016-03-01 Google Inc. Combining multiple signals to determine global system state
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9338065B2 (en) 2014-01-06 2016-05-10 Cisco Technology, Inc. Predictive learning machine-based approach to detect traffic outside of service level agreements
US20150220625A1 (en) 2014-02-03 2015-08-06 Interdigital Patent Holdings, Inc. Methods and apparatus for conveying surveillance targets using bloom filters
CA2947158A1 (en) 2014-05-01 2015-11-05 Coho Data, Inc. Systems, devices and methods for generating locality-indicative data representations of data streams, and compressions thereof
US20160364812A1 (en) 2015-06-11 2016-12-15 Raymond Cao Systems and methods for on-demand transportation
US11069430B2 (en) 2015-07-02 2021-07-20 ZYUS Life Sciences US Ltd. Patient state representation architectures and uses thereof
US10664837B2 (en) 2015-08-04 2020-05-26 Dynatrace Llc Method and system for real-time, load-driven multidimensional and hierarchical classification of monitored transaction executions for visualization and analysis tasks like statistical anomaly detection
US10142362B2 (en) 2016-06-02 2018-11-27 Zscaler, Inc. Cloud based systems and methods for determining security risks of users and groups
US10498605B2 (en) 2016-06-02 2019-12-03 Zscaler, Inc. Cloud based systems and methods for determining and visualizing security risks of companies, users, and groups
US10606857B2 (en) 2016-09-26 2020-03-31 Splunk Inc. In-memory metrics catalog
US10860898B2 (en) 2016-10-16 2020-12-08 Ebay Inc. Image analysis and prediction based visual search
US10728113B2 (en) 2016-10-26 2020-07-28 Zscaler, Inc. Systems and methods for troubleshooting and performance analysis of cloud based services
US10866971B2 (en) 2017-05-22 2020-12-15 Sap Se Hash collision tables for relational operations
CN110691329B (zh) 2019-11-04 2020-12-25 北京网明电子技术有限公司 一种传感器节点监控方法及系统

Also Published As

Publication number Publication date
GB2618951A (en) 2023-11-22
WO2022171075A1 (en) 2022-08-18
US11803421B2 (en) 2023-10-31
JP2024505415A (ja) 2024-02-06
US20220253340A1 (en) 2022-08-11
DE112022000406T5 (de) 2023-09-28
GB202313622D0 (en) 2023-10-25

Similar Documents

Publication Publication Date Title
US11018955B2 (en) Change management optimization in cloud environment
US11005969B2 (en) Problem solving in a message queuing system in a computer network
US10216544B2 (en) Outcome-based software-defined infrastructure
US11409568B2 (en) Dynamically scaling out pods using a recursive way
US10373072B2 (en) Cognitive-based dynamic tuning
US11507716B2 (en) Predicting life expectancy of machine part
US11403131B2 (en) Data analysis for predictive scaling of container(s) based on prior user transaction(s)
US10476983B2 (en) Systems monitoring in case of lost network connection in SaaS model
US11593180B2 (en) Cluster selection for workload deployment
US10191792B2 (en) Application abnormality detection
US11088932B2 (en) Managing network system incidents
US20170322834A1 (en) Compute instance workload monitoring and placement
KR20220107053A (ko) 맞춤형 통합 플로 템플레이트들의 제공
US10908969B2 (en) Model driven dynamic management of enterprise workloads through adaptive tiering
WO2022171075A1 (en) Monitoring health status of large cloud computing system
US20220179709A1 (en) Scheduling jobs
US11811676B2 (en) Proactive auto-scaling
US11954506B2 (en) Inspection mechanism framework for visualizing application metrics
US11947436B2 (en) Automatic evaluation of virtual machine computing power
US11175825B1 (en) Configuration-based alert correlation in storage networks
US20220138614A1 (en) Explaining machine learning based time series models
KR20220134621A (ko) 오류 이벤트 관리에서의 이벤트 상관관계

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