DE102020102936B4 - LOCATE POTENTIAL PROBLEMS ON OBJECTS - Google Patents

LOCATE POTENTIAL PROBLEMS ON OBJECTS Download PDF

Info

Publication number
DE102020102936B4
DE102020102936B4 DE102020102936.5A DE102020102936A DE102020102936B4 DE 102020102936 B4 DE102020102936 B4 DE 102020102936B4 DE 102020102936 A DE102020102936 A DE 102020102936A DE 102020102936 B4 DE102020102936 B4 DE 102020102936B4
Authority
DE
Germany
Prior art keywords
level
objects
subsets
virtual
potential problem
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
DE102020102936.5A
Other languages
German (de)
Other versions
DE102020102936A1 (en
Inventor
David Nellinger Adamson
Aditya Samalla
Raymond Mark Cooke
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102020102936A1 publication Critical patent/DE102020102936A1/en
Application granted granted Critical
Publication of DE102020102936B4 publication Critical patent/DE102020102936B4/en
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/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
    • 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/0751Error or fault detection not based on redundancy
    • 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/0793Remedial or corrective actions
    • 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/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/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/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • 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
    • 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/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) mit Anweisungen, die bei der Ausführung ein System veranlassen:basierend auf einem Vergleich von Messdaten, die auf verschiedenen Hierarchieebenen (104; 108; 112; 116) einer Computerumgebung (100) erfasst wurden, ein potentielles Problem und eine bestimmte Hierarchieebene der verschiedenen Hierarchieebenen (104; 108; 112; 116) als potenzielle Ursache des potentiellen Problems zu identifizieren (302; 406), wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) eine physische Maschinen-Ebene (112) und eine Programmebene (104), die Programme (106) zum Ausführen auf einem oder mehreren Hosts (114) der physischen Maschinen-Ebene (112) umfasst, umfassen; undbasierend auf Messdaten, die für Objekte innerhalb einer bestimmten Hierarchieebene der verschiedenen Hierarchieebenen (104; 108; 112; 116) erfasst wurden:die jeweiligen Lokalisierungswerte für eine Vielzahl von Teilmengen der Objekte innerhalb der bestimmten Hierarchieebene zu berechnen; unddie Vielzahl von Teilmengen gemäß der jeweiligen Lokalisierungswerte zu ordnen;zu bestimmen, dass die Lokalisierungswerte für die Vielzahl von Teilmengen der Objekte jeweils ein Kriterium verletzen;basierend auf der Bestimmung zu bestimmen, dass das potentielle Problem in der Vielzahl von Teilmengen der Objekte in der bestimmten Hierarchieebene lokalisiert ist; undeine Korrekturmaßnahme, um das potenzielle Problem zu beheben, die auf die Rangfolge der mehreren Teilmengen der Objekte reagiert, auszulösen.Non-transitory machine-readable storage medium (300; 404) containing instructions that cause a system to be executed: based on a comparison of measurement data collected at different hierarchical levels (104; 108; 112; 116) of a computing environment (100), a potential problem and to identify (302; 406) a specific hierarchy level of the different hierarchy levels (104; 108; 112; 116) as a potential cause of the potential problem, wherein the different hierarchy levels (104; 108; 112; 116) have a physical machine level (112 ) and a program layer (104) comprising programs (106) for execution on one or more physical machine layer (112) hosts (114); andbased on measurement data collected for objects within a particular hierarchy level of the different hierarchy levels (104; 108; 112; 116):compute the respective localization values for a plurality of subsets of the objects within the particular hierarchy level; andorder the plurality of subsets according to the respective location values;determine that the location values for the plurality of subsets of objects each violate a criterion;based on the determination, determine that the potential problem in the plurality of subsets of objects in the particular hierarchical level is localized; andtrigger a corrective action to fix the potential problem responsive to the ranking of the multiple subsets of the objects.

Description

Stand der TechnikState of the art

Eine Computerumgebung umfasst Sensoren oder Überwachungsagenten, um Informationen zu Objekten in der Computerumgebung zu sammeln. Eine „Computerumgebung“ kann sich auf jede Anordnung beziehen, die Objekte enthält, die verschiedene Aufgaben ausführen können, einschließlich Verarbeitungsaufgaben, Speicheraufgaben und / oder Kommunikationsaufgaben.A computing environment includes sensors or monitoring agents to collect information about objects in the computing environment. A "computing environment" may refer to any arrangement that contains objects capable of performing various tasks, including processing tasks, storage tasks, and/or communication tasks.

SOLE, Marc et al.: Survey on Models and Techniques for Root-Cause Analysis, 3. Juli 2017, https://arxiv.org/abs/1701.08546v2, bezieht sich auf eine Untersuchung von Modellen und Techniken zur Ursachenforschung Analyse.SOLE, Marc et al.: Survey on Models and Techniques for Root-Cause Analysis, 3 July 2017, https://arxiv.org/abs/1701.08546v2, relates to an examination of models and techniques for root-cause analysis.

US 2014 / 0 172 371 A1 beschreibt ein adaptives Fehlerdiagnosesystem, das einen Speicher beinhaltet, der maschinenlesbare Anweisungen speichert, um Metriken und Ereignisse von einem Unternehmenssystem zu empfangen, und einen Substitutionsgraphen zu verwenden, um zu bestimmen, ob eine empfangene Metrik oder ein empfangenes Ereignis zu einem Cluster gehört, der eine oder mehr korrelierte Metriken und/oder Ereignisse enthält, die basierend auf Ähnlichkeit gruppiert sind. Wenn die empfangene Metrik oder das empfangene Ereignis zu dem Cluster gehört, kann der Speicher ferner maschinenlesbare Anweisungen speichern, um einen Erkennungsgraphen zu verwenden, um zu bestimmen, ob die empfangene Metrik oder das empfangene Ereignis identifizierbar ist, um ein Fehlermuster zu bilden, indem ein Fehlerpfad des Erkennungsdiagramms durchlaufen wird. Ferner kann der Speicher weiterhin maschinenlesbare Anweisungen zum Diagnostizieren eines Fehlers basierend auf dem Durchlaufen des Fehlerpfads des Erfassungsgraphen speichern.US 2014/0 172 371 A1 describes an adaptive fault diagnosis system including a memory storing machine-readable instructions to receive metrics and events from an enterprise system and using a substitution graph to determine whether a received metric or event belongs to a cluster containing one or more correlated metrics and/or events grouped based on similarity. Further, if the received metric or event belongs to the cluster, the memory may store machine-readable instructions to use a detection graph to determine whether the received metric or event is identifiable to form an error pattern by a error path of the detection graph is traversed. Further, the memory may further store machine-readable instructions for diagnosing a fault based on traversing the detection graph's fault path.

US 2017 / 0 017 537 A1 bezieht sich auf eine Host-Vorrichtung mit einem Speicher und einem Prozessor, wobei die Host-Vorrichtung dazu konfiguriert ist, eine Anomalie zu bestimmen, die einem Attribut einer Computerumgebungsressource der Computerinfrastruktur zugeordnet ist. Die Host-Vorrichtung ist konfiguriert, um ein Objekt, das dem Attribut der erkannten Anomalie zugeordnet ist, mit einem zugehörigen Objekt der Computerinfrastruktur zu korrelieren. Die Host-Vorrichtung ist dazu konfiguriert, eine Grundursachenwahrscheinlichkeit für jedes Objekt der korrelierten Objekte zu bestimmen, wobei die Grundursachenwahrscheinlichkeit eine Wahrscheinlichkeit identifiziert, dass das korrelierte Objekt als eine Ursache der erfassten Anomalie fungiert. Die Host-Vorrichtung ist konfiguriert zum Ausgeben einer Identifikation eines Wurzelobjekts, das der Anomalie zugeordnet ist, basierend auf der identifizierten Wurzelursachenwahrscheinlichkeit.US 2017/0 017 537 A1 relates to a host device having a memory and a processor, the host device being configured to determine an anomaly associated with an attribute of a computing environment resource of the computing infrastructure. The host device is configured to correlate an object associated with the attribute of the detected anomaly with an associated computer infrastructure object. The host device is configured to determine a root cause probability for each of the correlated objects, the root cause probability identifying a probability that the correlated object functions as a cause of the detected anomaly. The host device is configured to output an identification of a root object associated with the anomaly based on the identified root cause probability.

US 2013 / 0 097 463 A1 beschreibt einen Ansatz zur Bestimmung der Grundursache in einem komplexen System auf der Grundlage von Überwachungs- und Ereignisdaten. Es beinhaltet eine historische Analyse von Ereignissen mit ihren probabilistischen Korrelationen. Durch Anwenden von Informationsmaßen zwischen den Zufallsvariablen, die diese Ereignisse verkörpern, kann man Ursachen von Problemen erkennen und Echtzeit-Empfehlungen für ihre Orte in einem hierarchischen System generieren. Die Schätzung von Systemengpässen sowie das Risiko von Ereignissen vom Typ „Schwarzer Schwan“ werden ebenfalls berechnet. Die Prozesse basieren auf einer statistischen Verarbeitung eines aus historischen Ereignissen erzeugten virtuellen gerichteten Graphen.US 2013/0 097 463 A1 describes an approach to determine root cause in a complex system based on monitoring and event data. It includes historical analysis of events with their probabilistic correlations. By applying measures of information between the random variables that embody these events, one can identify causes of problems and generate real-time recommendations for their locations in a hierarchical system. The estimation of system bottlenecks as well as the risk of black swan type events are also calculated. The processes are based on statistical processing of a virtual directed graph generated from historical events.

ZusammenfassungSummary

Aspekte der vorliegenden Offenbarung beziehen sich auf ein nichtflüchtiges maschinenlesbares Speichermedium, System und Verfahren gemäß den angehängten Ansprüchen.Aspects of the present disclosure relate to a non-transitory machine-readable storage medium, system and method according to the appended claims.

Figurenlistecharacter list

Einige Implementierungen der vorliegenden Offenbarung werden in Bezug auf die folgenden Figuren beschrieben.

  • 1 ist ein Blockdiagramm einer Computerumgebung und einer Problemlokalisierungsmaschine gemäß einigen Beispielen.
  • 2 ist ein Flussdiagramm eines Prozesses gemäß einigen Beispielen.
  • 3 ist ein Blockdiagramm eines Speichermediums, das maschinenlesbare Anweisungen gemäß einigen Beispielen speichert.
  • 4 ist ein Blockdiagramm eines Systems gemäß einigen Beispielen.
  • 5 ist ein Flussdiagramm eines Prozesses gemäß weiteren Beispielen.
Some implementations of the present disclosure are described with reference to the following figures.
  • 1 12 is a block diagram of a computing environment and a problem location engine, according to some examples.
  • 2 12 is a flowchart of a process according to some examples.
  • 3 12 is a block diagram of a storage medium storing machine-readable instructions, according to some examples.
  • 4 12 is a block diagram of a system, according to some examples.
  • 5 12 is a flowchart of a process according to further examples.

In allen Zeichnungen bezeichnen identische Referenznummern ähnliche, aber nicht unbedingt identische Elemente. Die Figuren sind nicht unbedingt maßstabsgetreu, und die Größe einiger Teile kann übertrieben sein, um das gezeigte Beispiel deutlicher zu veranschaulichen. Darüber hinaus enthalten die Zeichnungen Beispiele und / oder Implementierungen, die mit der Beschreibung übereinstimmen; Die Beschreibung ist jedoch nicht auf die in den Zeichnungen angegebenen Beispiele und / oder Implementierungen beschränkt.Throughout the drawings, identical reference numbers indicate similar, but not necessarily identical, elements. The figures are not necessarily to scale and some parts may be exaggerated in size to more clearly illustrate the example shown. In addition, the drawings include examples and/or implementations consistent with the description; However, the description is not limited to the examples and/or implementations given in the drawings.

Detaillierte BeschreibungDetailed description

In der vorliegenden Offenbarung soll die Verwendung des Begriffs „a“, „an“ oder „the“ auch die Pluralformen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Auch der Begriff „umfasst“, „einschließlich“, „umfasst“, „umfassend“, „haben“ oder „haben“, wenn er in dieser Offenbarung verwendet wird, spezifiziert das Vorhandensein der angegebenen Elemente, schließt jedoch das Vorhandensein oder Hinzufügen von nicht aus andere Elemente.In the present disclosure, use of the term "a", "an" or "the" is intended to include the plural forms as well, unless the context clearly dictates otherwise. Also, the term "comprises," "including," "includes," "comprising," "have," or "have," when used in this disclosure, specifies the presence of the specified items, but does not preclude the presence or addition of from other elements.

Beispiele für Computerumgebungen umfassen eine oder eine Kombination der folgenden: eine Cloud-Umgebung, ein Rechenzentrum, ein Speichernetzwerk, eine Kommunikationsstruktur usw.Examples of computing environments include one or a combination of the following: a cloud environment, a data center, a storage network, a communications fabric, etc.

Eine Computerumgebung kann eine virtualisierte Umgebung umfassen, die verschiedene Objekte enthält, einschließlich Hosts (physische Maschinen), virtuelle Maschinen (VMs), die auf Hosts ausgeführt werden können, Speichersysteme (ein Speichersystem kann ein einzelnes Speichergerät oder ein Speicherarray umfassen, das a umfasst) mehrere Speichergeräte) und / oder andere Objekte. Ein „Objekt“ kann sich auf jedes physische elektronische Gerät (z. B. Computer, Switches, Router, Speichersysteme usw.) der Computerumgebung, ein virtuelles Gerät (z. B. eine virtuelle Maschine, einen Container, ein virtuelles Speichervolumen usw.) Beziehen .), ein Programm (einschließlich maschinenlesbarer Anweisungen) und so weiter.A computing environment can include a virtualized environment that contains various objects, including hosts (physical machines), virtual machines (VMs) that can run on hosts, storage systems (a storage system can include a single storage device or a storage array that includes a) multiple storage devices) and/or other objects. An "object" can refer to any physical electronic device (e.g. computer, switch, router, storage system, etc.) of the computing environment, a virtual device (e.g. virtual machine, container, virtual storage volume, etc.) Obtain .), a program (including machine-readable instructions), and so on.

Um Probleme innerhalb der Computerumgebung zu identifizieren, werden von Sensoren oder Überwachungsagenten gesammelte Informationen von einem System analysiert. Die identifizierten Probleme können Fehler, Ausfälle, Fehler usw. in der Computerumgebung umfassen. Sobald ein Problem identifiziert wurde, kann das System eine Empfehlung zur Behebung des Problems generieren. In der generierten Empfehlung kann eine Korrekturmaßnahme angegeben werden, mit der das Problem behoben werden soll.Information gathered by sensors or monitoring agents is analyzed by a system to identify problems within the computing environment. The identified issues can include bugs, failures, bugs, etc. in the computing environment. Once a problem has been identified, the system can generate a recommendation on how to fix the problem. A corrective action to resolve the issue can be specified in the generated recommendation.

Korrekturmaßnahmen können Korrekturmaßnahmen umfassen, die von vorhandenen Komponenten in der Computerumgebung ausgeführt werden sollen, und / oder Korrekturmaßnahmen, die von Komponenten ausgeführt werden sollen, die möglicherweise noch nicht in der Computerumgebung bereitgestellt wurden. Die empfohlenen Aktionen können beispielsweise Aktionen umfassen, die sich auf Konfigurationen einer virtualisierten Umgebung beziehen, z. B. Konfigurationen von VMs. Als weitere Beispiele können die empfohlenen Aktionen Aktionen umfassen, die sich auf Konfigurationen von Hosts und / oder Speichersystemen beziehen. Eine Aktion, die sich auf eine Konfiguration eines Objekts bezieht, kann sich auf das Einstellen oder Anpassen einer Konfiguration des Objekts beziehen. Wenn das Objekt beispielsweise eine VM ist, kann die Konfiguration der VM eine Menge einer physischen Ressource (z. B. eine Verarbeitungsressource, eine Speicherressource oder eine Kommunikationsressource) enthalten, die der VM zugewiesen ist. Andere Beispielkonfigurationen anderer Objekttypen können festgelegt oder angepasst werden.Corrective Actions may include corrective actions to be performed by existing components in the Computing Environment and/or corrective actions to be performed by components that may not yet have been deployed to the Computing Environment. For example, the recommended actions may include actions related to configurations of a virtualized environment, e.g. B. Configurations of VMs. As further examples, the recommended actions may include actions related to host and/or storage system configurations. An action related to a configuration of an object may relate to setting or adjusting a configuration of the object. For example, if the object is a VM, the VM's configuration may include a physical resource set (e.g., a processing resource, a storage resource, or a communication resource) that is allocated to the VM. Other sample configurations of other object types can be specified or customized.

Darüber hinaus können Korrekturmaßnahmen Aktionen zum Deaktivieren oder Stoppen von Objekten in der Computerumgebung, Aktionen zum Starten von Objekten in der Computerumgebung, Aktionen zum Anpassen der Betriebsgeschwindigkeit von Objekten usw. umfassen.In addition, corrective actions may include actions to disable or stop objects in the computing environment, actions to start objects in the computing environment, actions to adjust the operating speed of objects, and so on.

Eine Computerumgebung kann eine große Anzahl von Objekten enthalten. Infolgedessen kann eine große Menge von Messdaten für die große Anzahl von Objekten gesammelt werden, was die Analyse der Messdaten schwierig macht. „Messdaten“ können sich auf alle Informationen beziehen, die von einem Sensor oder Überwachungsagenten für ein Objekt oder eine Gruppe von Objekten oder einen anderen Teil der Computerumgebung gesammelt wurden. Zu den mit der Analyse von Messdaten verbundenen Herausforderungen kann das Erkennen von Mustern (zum Identifizieren von Problemen) und das Lokalisieren potenzieller Probleme für bestimmte Objekte der Computerumgebung gehören. Wie hier verwendet, kann sich die Lokalisierung eines Problems auf einem Objekt auf die Beurteilung beziehen, dass das Problem durch das Objekt verursacht wird (entweder einzeln oder als Teil einer Sammlung von Objekten).A computing environment can contain a large number of objects. As a result, a large amount of measurement data can be collected for the large number of objects, making analysis of the measurement data difficult. "Measurement Data" may refer to any information collected by a sensor or monitoring agent about an object or group of objects or other part of the computing environment. Challenges associated with analyzing metrics can include spotting patterns (to identify problems) and pinpointing potential problems for specific objects in the computing environment. As used herein, locating a problem on an object may refer to assessing that the problem is caused by the object (either individually or as part of a collection of objects).

Beispiele für Messdaten, die in einer Computerumgebung erfasst werden können, können Latenzmetriken sein, die von Sensoren oder Überwachungsagenten für VMs, Hosts (dh physische Maschinen), Speichersysteme, Programme und andere Objekte gemeldet werden können. Eine Latenzmetrik liefert einen Hinweis auf die einem Objekt zugeordnete Latenz, z. B. eine Zeitdauer für die Ausführung einer bestimmten Aufgabe (z. B. eine Verarbeitungsaufgabe, eine Speicheraufgabe und / oder eine Kommunikationsaufgabe). In anderen Beispielen können Messdaten Leistungsmetriken enthalten, die Leistungsniveaus der jeweiligen Objekte darstellen, z. B. eine Anzahl von Operationen, die von einem Objekt in einer Zeiteinheit ausgeführt werden, eine Anzahl von Eingabe / Ausgabe (E / A) -Operationen, die von einem Objekt ausgeführt werden in einer Zeiteinheit eine Tiefe einer Warteschlange zum Puffern von Daten während des Betriebs eines Objekts und so weiter. Andere Arten von Metriken können als Teil der Messdaten enthalten sein, die in anderen Beispielen für eine Computerumgebung gesammelt wurden.Examples of metrics that may be collected in a computing environment may include latency metrics that may be reported by sensors or monitoring agents for VMs, hosts (ie, physical machines), storage systems, programs, and other objects. A latency metric provides an indication of the latency associated with an object, e.g. B. A period of time for the execution of a specific task (e.g. a processing task, a storage task and/or a communication task). In other examples, measurement data may include performance metrics representing performance levels of the respective objects, e.g. B. a count of operations performed by an object in a unit of time, a count of input/output (I/O) operations performed by an object in a unit of time, a depth of a queue for buffering data during the operation of an object and so on. Other types of metrics may be included as part of the metrics collected in other example computing environments.

1 ist ein Blockdiagramm einer Computerumgebung 100, die gemäß einigen Beispielen verschiedene Objekte auf verschiedenen Hierarchieebenen einer Hierarchie 102 enthält. Die Hierarchie 102 umfasst die folgenden Hierarchieebenen: eine Programmebene 104, die Programme 106 enthält, eine virtuelle Ebene 108, die VMs 110 (und / oder andere virtuelle Ressourcen wie Container, virtuelle Speichervolumes usw.) enthält, eine physische Ebene 112, die umfasst Hosts 114 (und / oder andere physische Ressourcen wie Prozessoren, Netzwerkschnittstellencontroller, Grafikcontroller, Speichercontroller usw.) und eine Speicherebene 116, die Speichersysteme 118 (und / oder andere Speicherressourcen wie Speicher) enthält Caches usw.). 1 10 is a block diagram of a computing environment 100 that includes various objects at various hierarchical levels of a hierarchy 102, according to some examples. The hierarchy 102 includes the following hierarchical levels: a program level 104 containing programs 106, a virtual level 108 containing VMs 110 (and/or other virtual resources such as containers, virtual storage volumes, etc.), a physical level 112 containing hosts 114 (and/or other physical resources such as processors, network interface controllers, graphics controllers, memory controllers, etc.) and a memory tier 116 containing memory systems 118 (and/or other memory resources such as memory caches, etc.).

Obwohl in 1 spezifische beispielhafte Hierarchieebenen gezeigt sind, können in anderen Hierarchien unterschiedliche Hierarchieebenen bereitgestellt werden.Although in 1 While specific example hierarchy levels are shown, different hierarchy levels may be provided in other hierarchies.

Es ist zu beachten, dass, obwohl 1 die verschiedenen Hierarchieebenen 104, 108, 112 und 116 als auf verschiedenen Ebenen liegend zeigt, angemerkt wird, dass eine Hierarchieebene enthalten sein kann oder auf andere Weise eine andere Hierarchieebene überlappt. So können beispielsweise die VMs der virtuellen Ebene 108 innerhalb der Hosts der physischen Ebene 112 ausgeführt werden. Als ein anderes Beispiel können VMs der virtuellen Ebene 108 Festplatten von Speichersystemen der Speicherebene 116 aufweisen.Note that while FIG. 1 shows the various hierarchy levels 104, 108, 112, and 116 as being at different levels, it is noted that one hierarchy level may be included or otherwise overlap another hierarchy level. For example, virtual tier 108 VMs may run within physical tier 112 hosts. As another example, virtual tier VMs 108 may include storage tier 116 storage system disks.

Ein Programm 106 kann sich auf eine oder eine Kombination der folgenden Elemente beziehen: ein Startprogramm, ein Betriebssystem, ein Anwendungsprogramm, ein Hilfsprogramm usw. Ein Speichersystem 118 kann eine Speichervorrichtung oder mehrere Speichervorrichtungen enthalten. Die Speichervorrichtung kann unter Verwendung einer festplattenbasierten Speichervorrichtung, einer Festkörperspeichervorrichtung, einer Speichervorrichtung usw. implementiert werden. Ein Host 124 kann in Form einer physischen Maschine vorliegen, beispielsweise eines Computers, einer Sammlung von Computern, eines Teils eines Computers usw.A program 106 may refer to one or a combination of the following: a boot program, an operating system, an application program, a utility, etc. A storage system 118 may include one storage device or multiple storage devices. The storage device may be implemented using a hard disk-based storage device, a solid-state storage device, a storage device, and so on. A host 124 can be in the form of a physical machine, such as a computer, a collection of computers, a portion of a computer, and so on.

Die Computerumgebung 100 umfasst ferner Sensoren 120 und / oder Überwachungsagenten 122, um Daten zu messen, die sich auf den Betrieb verschiedener Objekte in den verschiedenen Hierarchieebenen der Hierarchie 102 beziehen. Die Computerumgebung 100 kann auch Überwachungsagenten 122 enthalten. Ein Sensor 120 kann sich auf einen Hardware-Sensor beziehen, der eine Metrik physikalisch messen kann. Ein Überwachungsagent 122 kann auf maschinenlesbare Anweisungen verweisen, die den Betrieb eines jeweiligen Objekts überwachen und eine Metrik basierend auf dem überwachten Betrieb ableiten können.The computing environment 100 further includes sensors 120 and/or monitoring agents 122 to measure data related to the operation of various objects at the various levels of the hierarchy 102 . Computing environment 100 may also include monitoring agents 122 . A sensor 120 may refer to a hardware sensor that can physically measure a metric. A monitoring agent 122 can reference machine-readable instructions that can monitor the operation of a given object and derive a metric based on the monitored operation.

Die Sensoren 120 und / oder Überwachungsagenten 122 können Messdaten 124 an eine Problemlokalisierungsmaschine 126 liefern. Die Messdaten 124 können verschiedene Metriken enthalten, einschließlich einer Latenzmetrik, einer Leistungsmetrik und so weiter.The sensors 120 and/or monitoring agents 122 can provide measurement data 124 to a problem location engine 126 . Measurement data 124 may include various metrics, including a latency metric, a performance metric, and so on.

Wie hier verwendet, kann sich eine „Engine“ auf eine Hardware-Verarbeitungsschaltung beziehen, die einen beliebigen oder eine Kombination aus einem Mikroprozessor, einem Kern eines Mehrkern-Mikroprozessors, einem Mikrocontroller, einer programmierbaren integrierten Schaltung, einem programmierbaren Gate-Array, a digitaler Signalprozessor oder eine andere Hardware-Verarbeitungsschaltung. Alternativ kann sich eine „Engine“ auf eine Kombination aus einer Hardwareverarbeitungsschaltung und maschinenlesbaren Anweisungen (Software und / oder Firmware) beziehen, die auf der Hardwareverarbeitungsschaltung ausführbar sind.As used herein, an "engine" may refer to hardware processing circuitry that includes any one or combination of a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, a digital Signal processor or other hardware processing circuit. Alternatively, an "engine" may refer to a combination of hardware processing circuitry and machine-readable instructions (software and/or firmware) executable on the hardware processing circuitry.

Die verschiedenen Objekte der Computerumgebung, einschließlich der Programme 106, der VMs 110, der Hosts 124 und der Speichersysteme 118, können Beziehungen zueinander haben. Beispielsweise kann eine VM 110 (oder mehrere VMs 110) in einem Host 114 ausgeführt werden. Ein Programm 106 (oder mehrere Programme 106) kann in einer VM 110 oder in einem Host 114 ausgeführt werden. Ein Speichersystem 118 kann Teil eines Hosts 114 sein oder kann von einem Host 114 (oder mehreren Hosts 114) oder einer VM 110 (oder mehreren VMs) erreicht werden. Andere Beziehungen zwischen Objekten in den verschiedenen Hierarchieebenen der Hierarchie 102 sind ebenfalls möglich. Allgemeiner kann eine Beziehung zwischen Objekten eine Eindämmungsbeziehung (in der ein erstes Objekt in einem zweiten Objekt enthalten ist), eine Verknüpfungsbeziehung (in der ein erstes Objekt physisch oder logisch mit einem zweiten Objekt verknüpft ist) oder einen anderen Typ umfassen der Beziehung.The various objects of the computing environment, including programs 106, VMs 110, hosts 124, and storage systems 118, may have relationships with one another. For example, a VM 110 (or multiple VMs 110) may be running on a host 114. A program 106 (or multiple programs 106) can be executed in a VM 110 or in a host 114. A storage system 118 may be part of a host 114 or may be reached by a host 114 (or multiple hosts 114) or a VM 110 (or multiple VMs). Other relationships between objects in the various hierarchical levels of hierarchy 102 are also possible. More generally, a relationship between objects may include a containment relationship (in which a first object is contained within a second object), a link relationship (in which a first object is physically or logically linked to a second object), or any other type of relationship.

Die Problemlokalisierungsmaschine 126 umfasst eine vertikale Bewertungslogik 128 und eine horizontale Bewertungslogik 130. Die vertikale Bewertungslogik 128 und die horizontale Bewertungslogik 130 können als Teile der Hardwareverarbeitungsschaltung der Problemlokalisierungsmaschine 126 implementiert werden oder können als maschinenlesbare Anweisungen implementiert werden, die von der Problemlokalisierungsmaschine 126 ausführbar sind.The problem localization engine 126 includes vertical evaluation logic 128 and horizontal evaluation logic 130. The vertical evaluation logic 128 and the horizontal evaluation logic 130 can be implemented as parts of the hardware processing circuitry of the problem localization engine 126 or can be implemented as machine-readable instructions that are executable by the problem localization engine 126.

Die vertikale Bewertungslogik 128 wird verwendet, um Messdaten zu bewerten, die für Objekte in den verschiedenen Hierarchieebenen der Hierarchie 102 erfasst wurden. Die von der vertikalen Bewertungslogik 128 durchgeführte Bewertung kann eine Bestimmung auf der Grundlage der für die Objekte auf den verschiedenen Hierarchieebenen erfassten Messdaten ein potentielles Problem der Computerumgebung 100 umfassen. Die vertikale Bewertungslogik 128 kann die jeweiligen Messdaten vergleichen, die für die verschiedenen Hierarchieebenen der Hierarchie 102 erfasst wurden (z. B. durch Vergleichen der für die Programmebene 104 erfassten Messdaten, der für die virtuelle Ebene 108 erfassten Messdaten und der für die physikalische Ebene erfassten Messdaten Stufe 112 und Messdaten, die für die Speicherebene 116 erfasst wurden).Vertical scoring logic 128 is used to score measurement data collected for objects in the various hierarchical levels of hierarchy 102 . The assessment performed by the vertical assessment logic 128 may include a determination of a potential problem in the computing environment 100 based on the measurement data collected for the objects at the various hierarchical levels. The vertical scoring logic 128 may compare the respective metrics collected for the different hierarchical levels of the hierarchy 102 (e.g., by comparing the metrics collected for the program level 104, the metrics collected for the virtual level 108, and the metrics collected for the physical layer Measurement data tier 112 and measurement data collected for storage tier 116).

Als spezifischeres Beispiel können die Messdaten Werte von Latenzmetriken enthalten, die den verschiedenen Hierarchieebenen zugeordnet sind. Beispielsweise kann es eine Latenzmetrik für die Speicherebene 116 geben (beispielsweise als „Speicherlatenz“ bezeichnet), eine Latenzmetrik für die physische Ebene 112 (beispielsweise als „Hostlatenz“ bezeichnet, eine Latenzmetrik) für die virtuelle Ebene 108 (beispielsweise als „VM-Latenz“ bezeichnet) eine Latenzmetrik für die Programmebene 104 (beispielsweise als „Programmlatenz“ bezeichnet) oder eine andere Art von Latenzmetrik (z. B. a Netzwerklatenzmetrik, eine Gesamtlatenzmetrik, die sich aus mehreren Latenzmetriken usw. zusammensetzt.As a more specific example, the measurement data may include values of latency metrics associated with the different levels of the hierarchy. For example, there may be a latency metric for the storage tier 116 (e.g., referred to as "memory latency"), a latency metric for the physical tier 112 (e.g., referred to as "host latency", a latency metric) for the virtual tier 108 (e.g., referred to as "VM latency") ) a latency metric for the program layer 104 (e.g., referred to as "program latency") or another type of latency metric (e.g., a network latency metric, an overall latency metric composed of multiple latency metrics, etc.).

Die Latenzmetrik für eine entsprechende Hierarchieebene kann die Latenz ausdrücken, die Objekte der Hierarchieebene erfahren. Somit kann die vertikale Bewertungslogik 128 bestimmen, dass die physische Ebene und die Speicherebene Latenzen erfahren, die miteinander vergleichbar sind (dh die Latenz, die von der physischen Ebene erfahren wird, liegt innerhalb eines bestimmten Bereichs der Latenz, die von der Speicherebene erfahren wird). wohingegen die virtuelle Ebene 108 und die Programmebene 104 möglicherweise eine geringe Latenz aufweisen. Basierend auf dieser Bestimmung kann die vertikale Bewertungslogik 128 schließen, dass ein Latenzproblem mit einem Kommunikationsnetzwerk zwischen den Hosts 124 der physischen Ebene 112 und den Speichersystemen 118 der Speicherebene 116 verbunden sein kann. Das potenzielle Problem in diesem Beispiel ist ein Problem mit der Netzwerkverzögerung.The latency metric for a corresponding hierarchy level may express the latency experienced by objects of the hierarchy level. Thus, the vertical evaluation logic 128 can determine that the physical layer and the storage layer experience latencies that are comparable to each other (i.e., the latency experienced by the physical layer is within a certain range of the latency experienced by the storage layer). . whereas the virtual layer 108 and program layer 104 may have low latency. Based on this determination, vertical assessment logic 128 may conclude that a latency issue may be associated with a communication network between hosts 124 of physical tier 112 and storage systems 118 of storage tier 116 . The potential problem in this example is a network delay issue.

In einigen Fällen stimmen die Werte der für eine erste Hierarchieebene gemeldeten Metrikwerte möglicherweise nicht mit den für eine zweite Hierarchieebene gemeldeten Metrikwerten überein. Dies kann durch Inkonsistenzen bei den von den Sensoren 120 und / oder Überwachungsagenten 122 gemeldeten metrischen Messungen verursacht werden. Beispielsweise können bei den Sensoren 120 und / oder Überwachungsagenten 122 Fehler oder Irrtümer auftreten, die verhindern können, dass die Sensoren 120 und / oder Überwachungsagenten 122 Messdaten ordnungsgemäß melden. Alternativ kann Rauschen in der Computerumgebung 100 dazu führen, dass Sensoren 120 und / oder Überwachungsagenten 122 unzuverlässige Messdaten melden. Das Rauschen kann beispielsweise auf fehlerhafte Objekte in der Computerumgebung 100 zurückzuführen sein.In some cases, the values of the metric values reported for a first hierarchy level might not match the metric values reported for a second hierarchy level. This can be caused by inconsistencies in the metric measurements reported by sensors 120 and/or monitoring agents 122 . For example, sensors 120 and/or monitoring agents 122 may encounter errors or errors that may prevent sensors 120 and/or monitoring agents 122 from properly reporting measurement data. Alternatively, noise in the computing environment 100 may cause sensors 120 and/or monitoring agents 122 to report unreliable measurement data. The noise may be due to faulty objects in the computing environment 100, for example.

Ungenaue Messdaten können fälschlicherweise anzeigen, dass die von der virtuellen Ebene 108 erlebte Latenz und die von der physischen Ebene 112 erlebte Latenz relativ nahe beieinander liegen, obwohl die virtuelle Ebene 108 tatsächlich keine signifikante Latenz aufweist, die auf ein Potenzial hinweist Problem mit der virtuellen Ebene.Inaccurate measurement data may falsely indicate that the latency experienced by the virtual layer 108 and the latency experienced by the physical layer 112 are relatively close, when in fact the virtual layer 108 does not exhibit any significant latency, indicating a potential problem with the virtual layer .

Ungenaue Messdaten von den Sensoren 120 und / oder Überwachungsmitteln 122 können die Diagnose potenzieller Probleme schwierig oder ungenau machen.Inaccurate measurement data from the sensors 120 and/or monitoring means 122 can make diagnosing potential problems difficult or inaccurate.

In Übereinstimmung mit einigen Implementierungen der vorliegenden Offenbarung kann die horizontale Messlogik 130 das Vertrauen in die Zuordnung von Metriken zu verschiedenen Objekten der verschiedenen Hierarchieebenen der Hierarchie 102 erhöhen. Wenn beispielsweise die vertikale Bewertungslogik 128 feststellt, dass Objekte einer bestimmten Hierarchieebene die Ursache eines potenziellen Problems sind, kann die horizontale Bewertungslogik 130 eine Bewertung durchführen, ob das potenzielle Problem in einer Teilmenge der Objekte lokalisiert werden kann innerhalb der jeweiligen Hierarchieebene. Eine Teilmenge von Objekten kann ein einzelnes Objekt oder mehrere Objekte enthalten (z. B. weniger als alle Objekte in der jeweiligen Hierarchieebene). Die Lokalisierung eines potenziellen Problems in einer Teilmenge von Objekten kann sich auf die Beurteilung beziehen, dass das potenzielle Problem durch die Teilmenge von Objekten verursacht wird.In accordance with some implementations of the present disclosure, the horizontal measurement logic 130 can increase confidence in the association of metrics with different objects of the different hierarchical levels of the hierarchy 102 . For example, if vertical assessment logic 128 determines that objects at a particular hierarchy level are the cause of a potential problem, horizontal assessment logic 130 may perform an assessment as to whether the potential problem can be localized to a subset of the objects within that hierarchy level. A subset of objects can contain a single object or multiple objects (e.g. fewer than all objects in the respective hierarchy level). Locating a potential problem in a subset of objects may relate to assessing that the potential problem is caused by the subset of objects.

In einigen Beispielen umfasst die Bewertung, ob ein potenzielles Problem in einer bestimmten Teilmenge von Objekten lokalisiert ist, eine Bewertung auf der Grundlage von Messdaten, die für denselben oder einen ähnlichen Objekttyp innerhalb der Hierarchieebene erfasst wurden. Wenn beispielsweise eine gegebene Hierarchieebene mehrere verschiedene Arten von Objekten enthält, basiert die von der horizontalen Bewertungslogik 130 durchgeführte Bewertung auf Messdaten für Objekte des gleichen oder ähnlichen Typs innerhalb der gegebenen Hierarchieebene. Beispielsweise kann die virtuelle Ebene 108 die folgenden verschiedenen Arten von virtuellen Ressourcen enthalten: VMs (eine erste Art von virtuellen Ressourcen), virtuelle Speichervolumes (eine zweite Art von virtuellen Ressourcen) usw. Die Lokalisierung eines potenziellen Problems in einer Teilmenge von Objekten in der virtuellen Ebene 108 kann auf Messdaten basieren, die für den ersten Objekttyp (z. B. VMs) und / oder für den zweiten Objekttyp (z. B. virtuelle Speichervolumes) gesammelt wurden..In some examples, the assessment of whether a potential problem is located in a particular subset of objects includes an assessment based on metrics collected for the same or a similar object type within the hierarchy level. For example, if a given hierarchical level contains multiple different types of objects, the evaluation performed by horizontal scoring logic 130 is based on metrics for objects of the same or similar type within the given hierarchical level. For example, the virtual tier 108 may include the following different types of virtual resources: VMs (a first type of virtual resource), virtual storage volumes (a second type of virtual resource), etc. Locating a potential problem in a subset of objects in the virtual Level 108 may be based on metrics collected for the first object type (e.g. VMs) and/or for the second object type (e.g. virtual storage volumes).

Die von der horizontalen Bewertungslogik 130 durchgeführte Bewertung kann auch als horizontaler Vergleich bezeichnet werden, der versucht, ein potentielles Problem auf eine bestimmte Teilmenge von Objekten wie Hosts, Speichersysteme, Datenspeicher, VMs, Programme usw. zu lokalisieren. Der horizontale Vergleich durch die horizontale Bewertungslogik 130 wird verwendet, um das von der vertikalen Bewertungslogik 128 bereitgestellte „Signal“ zu verifizieren, wobei sich das „Signal“ auf ein Bewertungsergebnis beziehen kann, das von der vertikalen Bewertungslogik 128 ausgegeben wird. Das Bewertungsergebnis aus der vertikalen Bewertungslogik 128 kann einen Hinweis enthalten, dass eine bestimmte Hierarchieebene (oder mehrere Hierarchieebenen) die potenzielle Ursache eines potenziellen Problems ist (sind).The assessment performed by the horizontal assessment logic 130 can also be referred to as a horizontal comparison that attempts to pinpoint a potential problem to a specific subset of objects such as hosts, storage systems, data stores, VMs, programs, and so on. The horizontal comparison by the horizontal scoring logic 130 is used to verify the "signal" provided by the vertical scoring logic 128, where the "signal" may refer to a scoring result that the vertical scoring logic 128 outputs. The score from the vertical score logic 128 may include an indication that a particular hierarchy level (or multiple hierarchy levels) is (are) the potential cause of a potential problem.

Wenn beispielsweise die horizontale Bewertungslogik 130 bestimmt, dass ein potentielles Latenzproblem auf einem bestimmten Host (s) 124 der physischen Ebene 112 lokalisiert ist, würde dies ein größeres Vertrauen in die Bewertung liefern, dass die Hosts 124 der physischen Ebene 112 verursachen das Latenzproblem im Vergleich zu einem anderen Szenario, in dem die horizontale Bewertungslogik 130 das Latenzproblem nicht in einer Teilmenge der Hosts 124 lokalisieren kann.For example, if the horizontal assessment logic 130 determines that a potential latency problem is localized to a particular physical layer 112 host(s) 124, this would provide greater confidence in the assessment that the physical layer hosts 124 112 are causing the latency problem in comparison to another scenario where the horizontal assessment logic 130 cannot locate the latency problem in a subset of the hosts 124.

Der horizontale Vergleich wird basierend auf der Verwendung einer Technik durchgeführt, die Lokalisierungswerte für jeweilige Objekte innerhalb einer Hierarchieebene berechnet. In einigen Beispielen ist Gl. 1 kann verwendet werden, um eine Lokalisierungsbewertung Lscore für ein bestimmtes Objekt innerhalb einer Hierarchieebene zu berechnen. L s c o r e = p ( S c o p e M e t r i c ) n ( p ( P r o b l e m M e t r i c | S c o p e M e t r i c ) p ( P r o b l e m M e t r i c ) ) .

Figure DE102020102936B4_0001
The horizontal comparison is performed based on the use of a technique that calculates location values for respective objects within a hierarchy level. In some examples, Eq. 1 can be used to calculate a localization score Lscore for a given object within a hierarchy level. L s c O right e = p ( S c O p e M e t right i c ) n ( p ( P right O b l e m M e t right i c | S c O p e M e t right i c ) p ( P right O b l e m M e t right i c ) ) .
Figure DE102020102936B4_0001

Gl. 1 gibt die Lokalisierungswerte Lscore aus , die auf LscoreMetrikwerten basieren, die für Objekte einer Hierarchieebene gesammelt wurden. Der Lokalisierungswert gibt einen Hinweis auf die Bedeutung eines identifizierten potenziellen Problems für eine bestimmte Teilmenge von Objekten auf der Hierarchieebene. Wenn die Lokalisierungsbewertung Lscore ein Kriterium erfüllt (z. B. die Lokalisierungsbewertung Lscore einen bestimmten Schwellenwert überschreitet), gibt dies einen Hinweis darauf, dass das potenzielle Problem für eine bestimmte Teilmenge von Objekten in der Hierarchieebene ausreichend lokalisiert ist.Eq. 1 returns the Lscore localization values, which are based on Lscore metric values collected for objects of a hierarchy level. The localization value gives an indication of the importance of an identified potential problem for a specific subset of objects at the hierarchy level. If the localization score Lscore meets a criterion (eg, the localization score Lscore exceeds a certain threshold), this gives an indication that the potential problem is sufficiently localized for a certain subset of objects in the hierarchy level.

In Gl. In 1 ist der Wert von n größer als 0 und kleiner als 1. Auch eine Funktion p () repräsentiert eine Wahrscheinlichkeit. Der Parameter ScopeMetric stellt eine Bedingung dar, die durch einen ScopeMetricMetrikwert erfüllt werden muss, der auf ein potenzielles Problem hinweist (z. B. ist ScopeMetric ein Schwellenwert). Der Parameter ProblemMetric repräsentiert einen metrischen Wert, der problematisch ist. Die Wahrscheinlichkeit p(ScopeMetric) stellt eine Wahrscheinlichkeit dar, dass p(ScopeMetric)Metrikwerte von Objekten in der gesamten Computerumgebung 100 (oder einem Teil der Computerumgebung 100) die Bedingung erfüllen. Die Wahrscheinlichkeit p(ProblemMetric) repräsentiert eine Wahrscheinlichkeit problematischer p(ProblemMetric)Metrikwerte . Die Wahrscheinlichkeit p(ProblemMetricl ScopeMetric) stellt eine Wahrscheinlichkeit problematischer p(ProblemMetric I ScopeMetric)Metrikwerte dar, wenn Metrikwerte von Objekten in der gesamten Computerumgebung 100 (oder einem Teil) die Bedingung erfüllen. Wenn beispielsweise p(ProblemMetric) für VMs in einer Computerumgebung (oder einem Teil) insgesamt p(ProblemMetric)niedrig ist, aber p(ProblemMetric | ScopeMetric) ) (was in diesem Beispiel eine Wahrscheinlichkeit darstellen kann, dass sich eine VM in einem Problemzustand befindet, wenn sich die VM auf einer bestimmten befindet Host) hoch ist, würde Folgendes angezeigt sein: Auf dem spezifischen Host zu sein, sagt voraus, dass eine VM das potenzielle Problem aufweist, und daher ist der Host einer weiteren Untersuchung wert (um die Ursache oder Korrelation zu bestimmen).In Eq. In 1 the value of n is greater than 0 and less than 1. Also a function p() represents a probability. The ScopeMetric parameter represents a condition that must be satisfied by a ScopeMetric metric value that indicates a potential problem (for example, ScopeMetric is a threshold). The ProblemMetric parameter represents a metric value that is problematic. The probability p(ScopeMetric) represents a probability that p(ScopeMetric)metric values of Objects in the entire computing environment 100 (or part of the computing environment 100) meet the condition. The probability p(ProblemMetric) represents a probability of problematic p(ProblemMetric) metric values. The probability p(ProblemMetricl ScopeMetric) represents a probability of problematic p(ProblemMetric I ScopeMetric) metric values when metric values of objects in all (or a portion) of the computing environment 100 satisfy the condition. For example, if p(ProblemMetric) for VMs in a computing environment (or part) overall p(ProblemMetric) is low, but p(ProblemMetric | ScopeMetric) ) (which in this example may represent a probability that a VM is in a problem state , if the VM is on a specific host) is high, the following would be indicated: Being on the specific host predicts that a VM has the potential problem and therefore the host is worth further investigation (to determine the cause or to determine correlation).

Allgemeiner basiert die Bestimmung der Lokalisierung auf den relativen Werten von p(ProblemMetric) gegenüber p(ProblemMetric | ScopeMetric). Je größer der Unterschied zwischen diesen Werten ist, desto wichtiger ist die Bedingung (dargestellt durch ScopeMetric) für die Bestimmung des Grades des potenziellen Problems.More generally, the localization determination is based on the relative values of p(ProblemMetric) versus p(ProblemMetric | ScopeMetric). The larger the difference between these values, the more important the condition (represented by ScopeMetric) is in determining the level of the potential problem.

Gl. 1 erzeugt eine Lokalisierungsbewertung, die auf einem Kompromiss zwischen der Allgemeinheit der Regeln (oder der relativen Größe einer Untergruppe p(ScopeMetric)) und der Ungewöhnlichkeit der Verteilung oder der relativen Genauigkeit (dem Unterschied zwischen der
p(ProblemMetric | ScopeMetric)Regelgenauigkeit und der Standardgenauigkeit p(ScopeMetric)) p(ScopeMetric)basiert .
Eq. 1 produces a localization score based on a trade-off between the generality of the rules (or the relative size of a subset p(ScopeMetric)) and the unusualness of the distribution or relative accuracy (the difference between the
p(ProblemMetric | ScopeMetric)rules accuracy and the default accuracy p(ScopeMetric)) p(ScopeMetric)based .

Die Lokalisierungsbewertung basiert auf Metrikdaten, die aus einer Umgebung erfasst wurden, und gibt einen Hinweis auf die Bedeutung eines identifizierten potenziellen Problems für eine bestimmte Teilmenge von Objekten.Localization score is based on metric data collected from an environment and provides an indication of the importance of an identified potential issue for a specific subset of objects.

Man beachte , daß mehrere Objekte (oder mehr Untermengen von Objekten) innerhalb einer hierarchischen Ebene entsprechender Lokalisierungs Scores können Lscore dass jeweils erfüllt das Kriterium (beispielsweise die Lokalisierungs Partituren Lscore der mehrere Untermengen von Objekten , die jeweils den festgelegten Schwellenwert überschreitet). In solchen Fällen können die Lokalisierungswerte Lscore für die mehreren Teilmengen von Objekten verwendet werden, um die mehreren Teilmengen von Objekten zu Lscoreordnen . Beispielsweise kann eine Teilmenge von Objekten mit einer höheren Lokalisierungsbewertung Lscore höher eingestuft werden als eine andere Teilmenge von Objekten mit einer niedrigeren Lokalisierungsbewertung Lscore .Note that multiple objects (or multiple subsets of objects) within a hierarchical level can have corresponding localization scores Lscore that each satisfies the criterion (e.g., the localization scores Lscore of multiple subsets of objects that each exceed the specified threshold). In such cases, the location values Lscore for the multiple subsets of objects can be used to Lscore the multiple subsets of objects. For example, a subset of objects with a higher localization score Lscore may be ranked higher than another subset of objects with a lower localization score Lscore.

Die Problemlokalisierungsmaschine 126 erzeugt ein Bewertungsergebnis 132, das an eine Auflösungsmaschine 134 ausgegeben wird. In Beispielen, in denen die Problemlokalisierungsmaschine 126 bestimmt, dass das potenzielle Problem in einer Teilmenge von Objekten lokalisiert ist, kann das Bewertungsergebnis 132 Informationen enthalten, die die Teilmenge von Objekten identifizieren. In Beispielen, in denen die Problemlokalisierungsmaschine 126 bestimmt, dass das potenzielle Problem in mehreren Teilmengen von Objekten lokalisiert ist, kann das Bewertungsergebnis 132 Ranginformationen enthalten, die die mehreren Teilmengen von Objekten ordnen, wobei die Rangfolge beispielsweise auf den Lokalisierungswerten basiert.The problem location engine 126 generates an evaluation result 132 which is output to a resolution engine 134 . In examples where the problem location engine 126 determines that the potential problem is located in a subset of objects, the score 132 may include information identifying the subset of objects. In examples where the problem location engine 126 determines that the potential problem is located in multiple subsets of objects, the score 132 may include ranking information that ranks the multiple subsets of objects, where the ranking is based on the location values, for example.

Die Auflösungsmaschine 134 kann auf das Bewertungsergebnis 132 reagieren, indem sie eine automatisierte Korrekturmaßnahme auslöst, um das potentielle Problem anzugehen. Beispiele für Sanierungsmaßnahmen finden Sie weiter oben.The resolution engine 134 can respond to the assessment result 132 by triggering an automated corrective action to address the potential problem. See above for examples of remedial measures.

In anderen Beispielen kann die Auflösungsmaschine 132 auch Informationen für ein Benutzergerät 136 (wie ein Benutzergerät, das einem Administrator zugeordnet ist) bereitstellen. Die Benutzervorrichtung 136 kann einen Desktop-Computer, einen Notebook-Computer, einen Tablet-Computer, ein Smartphone usw. umfassen. Die dem Benutzergerät 136 bereitgestellten Informationen können das potenzielle Problem und die Objekte innerhalb einer Hierarchieebene (oder mehrerer Hierarchieebenen) identifizieren, auf denen das potenzielle Problem von der Problemlokalisierungsmaschine 126 lokalisiert wurde. Die Informationen können in einer Benutzerschnittstelle des Benutzergeräts 136 präsentiert werden, um es dem Benutzer zu ermöglichen, eine Aktion als Antwort auf das potentielle Problem auszuführen.In other examples, the resolution engine 132 may also provide information to a user device 136 (such as a user device associated with an administrator). User device 136 may include a desktop computer, notebook computer, tablet computer, smartphone, and so on. The information provided to user device 136 may identify the potential problem and the objects within a hierarchy level (or multiple hierarchy levels) at which problem location engine 126 located the potential problem. The information may be presented in a user interface of user device 136 to allow the user to take an action in response to the potential problem.

2 ist ein Flussdiagramm eines Prozesses, der beispielsweise von verschiedenen in 1 gezeigten Einheiten ausgeführt werden kann. Die Problemlokalisierungsmaschine 126 empfängt (bei 202) Metrikwerte für jeweils unterschiedliche Hierarchieebenen der Computerumgebung 100. Die Messdaten werden von den Sensoren 120 und / oder Überwachungsmitteln 122 bereitgestellt. 2 is a flowchart of a process used, for example, by various in 1 units shown can be executed. The problem location engine 126 receives (at 202) Metric values for different hierarchical levels of the computer environment 100. The measurement data are provided by the sensors 120 and/or monitoring means 122.

Die vertikale Bewertungslogik 128 vergleicht (bei 204) die Metrikwerte für die verschiedenen Hierarchieebenen. Beispielsweise vergleicht die vertikale Bewertungslogik 128 Metrikwerte für die Programmebene 104 mit den Metrikwerten für die virtuelle Ebene 108, vergleicht Metrikwerte für die virtuelle Ebene 108 mit den Metrikwerten für die physische Ebene 112 und vergleicht Metrikwerte für die physische Ebene Ebene 112 mit den Metrikwerten für die Speicherebene 116 usw. Basierend auf den Vergleichen kann die vertikale Bewertungslogik 128 bestimmen, ob ein potentielles Problem mit einer gegebenen Hierarchieebene (oder mehreren gegebenen Hierarchieebenen) verbunden ist.The vertical scoring logic 128 compares (at 204) the metric values for the various hierarchical levels. For example, vertical scoring logic 128 compares program tier 104 metrics to virtual tier metrics 108, compares virtual tier 108 metrics to physical tier metrics 112, and compares physical tier 112 metrics to storage tier metrics 116, etc. Based on the comparisons, the vertical assessment logic 128 may determine whether a potential problem is associated with a given hierarchy level (or multiple given hierarchy levels).

Innerhalb jeder der gegebenen Hierarchieebenen, die durch die vertikale Bewertungslogik 128 als mit dem potenziellen Problem verbunden identifiziert wurden, führt die horizontale Bewertungslogik 130 (bei 206) einen horizontalen Vergleich durch, um zu bewerten, ob das potenzielle Problem in einer Teilmenge lokalisiert werden kann der Objekte innerhalb der angegebenen Hierarchieebene. Wie weiter oben diskutiert, berechnet die horizontale Bewertungslogik 130 Lokalisierungswerte (z. B. gemäß Gl. 1) für jeweilige Teilmengen von Objekten innerhalb der gegebenen Hierarchieebene. Der von der horizontalen Bewertungslogik 130 durchgeführte horizontale Vergleich kann das Vergleichen einer Lokalisierungsbewertung einer Teilmenge von Objekten mit einem bestimmten Schwellenwert umfassen. Wenn beispielsweise der Lokalisierungswert den angegebenen Schwellenwert überschreitet, wird das potenzielle Problem auf die entsprechende Teilmenge von Objekten lokalisiert.Within each of the given hierarchical levels identified by the vertical scoring logic 128 as being associated with the potential problem, the horizontal scoring logic 130 performs (at 206) a horizontal comparison to assess whether the potential problem can be located in a subset of the Objects within the specified hierarchy level. As discussed above, horizontal scoring logic 130 calculates location values (e.g., according to Eq. 1) for respective subsets of objects within the given hierarchy level. The horizontal comparison performed by horizontal scoring logic 130 may include comparing a location score of a subset of objects to a specified threshold. For example, if the localization value exceeds the specified threshold, the potential problem is localized to the appropriate subset of objects.

Es ist möglich, dass die Lokalisierungswerte für mehrere Teilmengen von Objekten den Schwellenwert überschreiten. In diesem Fall ist das potenzielle Problem auf mehrere Objekte lokalisiert.It is possible that the localization values for several subsets of objects exceed the threshold. In this case, the potential problem is localized to multiple objects.

Die Bedeutung eines potenziellen Problems basiert auf der Lokalisierung zwischen Arten von Metrikwerten und respektierten Arten von Objekten einer Hierarchieebene. Wenn sich beispielsweise eine hostbezogene Metrik in einem hostbezogenen Objekt befindet, bedeutet dies, dass das entsprechende Problem von größerer Bedeutung ist. Dies kann auf der Anwendung einer bestimmten Regel (oder mehrerer Regeln) basieren. Allgemeiner gesagt umfasst das Bestimmen, dass das potenzielle Problem in einer Teilmenge der Objekte lokalisiert ist, das Bestimmen, dass ein Typ von Messdaten für die Teilmenge der Objekte mit einem Objekttyp eines Objekts in der Teilmenge der Objekte übereinstimmt. Es wird davon ausgegangen, dass der Typ der Messdaten mit einem Objekttyp übereinstimmt, der beispielsweise auf der Vordefinition eines Administrators, eines Programms oder einer Maschine basiert.The importance of a potential problem is based on the localization between types of metric values and respected types of objects of a hierarchy level. For example, if a host-related metric is in a host-related object, it means that the related issue is more important. This can be based on the application of a specific rule (or rules). More generally, determining that the potential problem is located in a subset of the objects includes determining that a type of metric for the subset of objects matches an object type of an object in the subset of objects. It is assumed that the type of measurement data corresponds to an object type based, for example, on the predefinition of an administrator, a program or a machine.

Nach dem horizontalen Vergleich, der von der horizontalen Bewertungslogik 130 durchgeführt wird, liefert die Problemlokalisierungsmaschine 126 (bei 208) das Bewertungsergebnis 132 an die Auflösungsmaschine 134. Das Bewertungsergebnis 132 kann eine Teilmenge von Objekten als für das potenzielle Problem lokalisiert identifizieren, oder es kann mehrere Teilmengen von Objekten als für das potenzielle Problem lokalisiert identifizieren. Im letzteren Fall kann das Bewertungsergebnis 132 eine Rangfolge der mehreren Teilmengen von Objekten enthalten, beispielsweise basierend auf den Lokalisierungswerten der mehreren Teilmengen von Objekten.After the horizontal comparison performed by the horizontal scoring logic 130, the problem location engine 126 provides (at 208) the score 132 to the resolution engine 134. The score 132 may identify a subset of objects as being located for the potential problem, or it may identify multiple Identify subsets of objects as localized to the potential problem. In the latter case, the score 132 may include a ranking of the multiple subsets of objects, for example based on the location values of the multiple subsets of objects.

Die Auflösungsmaschine 134 löst (bei 210) eine Korrekturmaßnahme aus, um das potentielle Problem anzugehen. Wenn das Bewertungsergebnis 132 Informationen enthält, die das potenzielle Problem in einer Teilmenge (oder mehreren Teilmengen) von Objekten lokalisieren, dann liefert dies der Auflösungsmaschine 134 einen Hinweis darauf, dass die von der vertikalen Bewertungslogik 128 vorgenommene Bewertung, dass das potenzielle Problem mit a verbunden ist gegebene Hierarchieebene ist mit einem hohen Vertrauen genau. In einem solchen Szenario kann die Auflösungsmaschine 134 eine zu ergreifende Korrekturmaßnahme auslösen.The resolution engine 134 initiates (at 210) corrective action to address the potential problem. If the scoring result 132 contains information that locates the potential problem in a subset (or subsets) of objects, then this provides the resolution engine 134 with an indication that the score made by the vertical scoring logic 128 associated the potential problem with a is given hierarchy level is accurate with a high confidence. In such a scenario, the resolution engine 134 may trigger corrective action to be taken.

In Reaktion auf das Bestimmen, dass das potentielle Problem in der Teilmenge der Objekte lokalisiert ist, kann die Korrekturmaschine 134 eine Teilmenge der Objekte als Ursache für das potentielle Problem identifizieren. In Fällen, in denen es mehrere Teilmengen von Objekten gibt, für die das potenzielle Problem lokalisiert ist, kann die Rangfolge der mehreren Teilmengen von Objekten von der Korrekturmaschine 134 verwendet werden, um die Teilmenge der Objekte zu identifizieren, die als Ursache am höchsten eingestuft wird das potenzielle Problem.In response to determining that the potential problem is located in the subset of objects, the correction engine 134 may identify a subset of the objects as the cause of the potential problem. In cases where there are multiple subsets of objects for which the potential problem is located, the ranking of the multiple subsets of objects can be used by the correction engine 134 to identify the subset of objects that is ranked as the highest cause the potential problem.

Wenn das Bewertungsergebnis 132 nicht anzeigt, dass das potenzielle Problem in einer Teilmenge von Objekten lokalisiert ist, zeigt die Korrekturmaschine 134 an, dass eine Ursache des potenziellen Problems für keine Teilmenge der Objekte spezifisch ist. Dies kann auch ein Hinweis darauf sein, dass die Bewertung des potenziellen Problems als mit einer bestimmten Hierarchieebene verbunden durch die vertikale Bewertungslogik 128 ein geringes Vertrauen aufweist.If the evaluation result 132 does not indicate that the potential problem is located in a subset of objects, the correction engine 134 indicates that a cause of the potential problem lems is not specific to any subset of the objects. This may also be an indication that the vertical scoring logic 128's assessment of the potential problem as being associated with a particular hierarchical level has low confidence.

3 ist ein Blockdiagramm eines nicht vorübergehenden maschinenlesbaren oder computerlesbaren Speichermediums 300, das maschinenlesbare Anweisungen speichert, die bei der Ausführung ein System veranlassen, verschiedene Aufgaben auszuführen. Die maschinenlesbaren Anweisungen enthalten Anweisungen 302 zur Identifizierung potenzieller Probleme, um ein potenzielles Problem basierend auf dem Vergleich von Messdaten zu identifizieren, die auf verschiedenen Hierarchieebenen einer Computerumgebung erfasst wurden. Beispielsweise können die Anweisungen zur Identifizierung potenzieller Probleme 302 Teil der vertikalen Bewertungslogik 128 von 1 sein. 3 Figure 3 is a block diagram of a non-transitory machine-readable or computer-readable storage medium 300 storing machine-readable instructions that, when executed, cause a system to perform various tasks. The machine-readable instructions include potential problem identification instructions 302 for identifying a potential problem based on comparing metrics collected at different hierarchical levels of a computing environment. For example, the instructions for identifying potential problems 302 may be part of the vertical scoring logic 128 of FIG 1 be.

Die maschinenlesbaren Anweisungen umfassen ferner Anweisungen zur Problemlokalisierung 304, um innerhalb einer Hierarchieebene der verschiedenen Hierarchieebenen basierend auf Messdaten, die für Objekte in der Hierarchieebene erfasst wurden, zu bestimmen, ob das potenzielle Problem in einer Teilmenge der Objekte lokalisiert ist. Die Problemlokalisierungsanweisungen 304 können beispielsweise Teil der horizontalen Bewertungslogik 130 von 1 sein.The machine-readable instructions further include problem location instructions 304 to determine, within one of the various hierarchy levels, whether the potential problem is located in a subset of the objects based on metrics collected for objects in the hierarchy level. For example, the problem location instructions 304 may be part of the horizontal scoring logic 130 of FIG 1 be.

4 ist ein Blockdiagramm eines Systems 400 gemäß einigen Beispielen. Das System 400 kann unter Verwendung eines Computers oder mehrerer Computer implementiert werden. 4 4 is a block diagram of a system 400, according to some examples. The system 400 can be implemented using one or more computers.

Das System 400 umfasst einen Hardwareprozessor 402 (oder mehrere Hardwareprozessoren). Ein Hardwareprozessor kann einen Mikroprozessor, einen Kern eines Mehrkern-Mikroprozessors, einen Mikrocontroller, eine programmierbare integrierte Schaltung, ein programmierbares Gate-Array, einen digitalen Signalprozessor oder eine andere Hardware-Verarbeitungsschaltung umfassen.The system 400 includes a hardware processor 402 (or multiple hardware processors). A hardware processor may include a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, a digital signal processor, or other hardware processing circuitry.

Das System 400 enthält ein Speichermedium 404, das maschinenlesbare Anweisungen speichert, die auf dem Hardwareprozessor 402 ausführbar sind, um verschiedene Aufgaben auszuführen. Auf einem Hardwareprozessor ausführbare maschinenlesbare Anweisungen können sich auf die auf einem einzelnen Hardwareprozessor ausführbaren Anweisungen oder auf die auf mehreren Hardwareprozessoren ausführbaren Anweisungen beziehen.The system 400 includes a storage medium 404 storing machine-readable instructions executable on the hardware processor 402 to perform various tasks. Machine-readable instructions executable on a hardware processor may refer to the instructions executable on a single hardware processor or to the instructions executable on multiple hardware processors.

Die maschinenlesbaren Anweisungen enthalten Anweisungen 406 zur Identifizierung potenzieller Probleme, um ein potenzielles Problem basierend auf dem Vergleich von Messdaten zu identifizieren, die auf verschiedenen Hierarchieebenen einer Computerumgebung erfasst wurden. Beispielsweise können die Anweisungen 406 zur Identifizierung potenzieller Probleme Teil der vertikalen Bewertungslogik 128 von 1 sein.The machine-readable instructions include potential problem identification instructions 406 for identifying a potential problem based on comparing metrics collected at different hierarchical levels of a computing environment. For example, instructions 406 for identifying potential problems may be part of vertical scoring logic 128 of FIG 1 be.

Die maschinenlesbaren Anweisungen umfassen ferner Anweisungen zur Berechnung der Lokalisierungsbewertung 408 zum Berechnen von Lokalisierungsbewertungen für Objekte innerhalb einer Hierarchieebene der verschiedenen Hierarchieebenen, die Lokalisierungsbewertungen, die auf der Grundlage von Messdaten berechnet wurden, die für Objekte in der Hierarchieebene erfasst wurden, und die Lokalisierungsbewertungen, die a angeben Grad der Assoziation zwischen den Objekten innerhalb der Hierarchieebene und dem potenziellen Problem.The machine-readable instructions further include location score calculation instructions 408 for calculating location scores for objects within a hierarchy level of the various hierarchy levels, the location scores calculated based on measurement data collected for objects in the hierarchy level, and the location scores that indicate a degree of association between the objects within the hierarchy level and the potential problem.

Die maschinenlesbaren Anweisungen enthalten ferner Anweisungen zur Problemlokalisierung 410, um basierend auf den Lokalisierungsbewertungen zu bestimmen, ob das potenzielle Problem in einer Teilmenge der Objekte lokalisiert ist. Beispielsweise können die Anweisungen zur Berechnung der Lokalisierungsbewertung 408 und die Anweisungen zur Problemlokalisierung 410 Teil der horizontalen Bewertungslogik 130 von 1 sein.The machine-readable instructions further include problem location instructions 410 to determine whether the potential problem is located in a subset of the objects based on the location scores. For example, location score computation instructions 408 and problem location location instructions 410 may be part of horizontal scoring logic 130 of FIG 1 be.

5 ist ein Flussdiagramm eines Prozesses gemäß einigen Beispielen. Der Prozess von 5 umfasst das Empfangen (bei 502) von Metriken, die für Objekte gesammelt wurden, die auf verschiedenen Hierarchieebenen einer Computerumgebung erfasst wurden. Die Metriken können von den Sensoren 120 und / oder Überwachungsagenten 122 von 1 gesammelt werden. 5 12 is a flowchart of a process according to some examples. The process of 5 includes receiving (at 502) metrics collected for objects collected at various hierarchical levels of a computing environment. The metrics may be obtained from sensors 120 and/or monitoring agents 122 1 to be collected.

Der Prozess umfasst ferner das Identifizieren (bei 504) eines potenziellen Problems basierend auf dem Vergleichen von Werten der Metriken, die auf den verschiedenen Hierarchieebenen der Computerumgebung erfasst wurden. Die Identifizierung kann beispielsweise durch die vertikale Bewertungslogik 128 von 1 durchgeführt werden.The process further includes identifying (at 504) a potential problem based on comparing values of the metrics collected at the various hierarchical levels of the computing environment. The identification can be performed, for example, by the vertical evaluation logic 128 of 1 be performed.

Der Prozess umfasst ferner für eine Hierarchieebene der verschiedenen Hierarchieebenen, wobei (bei 506) basierend auf den Werten der Metriken bestimmt wird, die für die Objekte in der Hierarchieebene erfasst wurden, ob das potenzielle Problem in einer Teilmenge der Objekte lokalisiert ist.The process further includes, for a hierarchy level of the different hierarchy levels, determining (at 506) whether the potential problem is located in a subset of the objects based on the values of the metrics collected for the objects in the hierarchy level.

Ein Speichermedium (z. B. 300 in 3 oder 404 in 4) kann eine beliebige oder eine Kombination der folgenden enthalten: eine Halbleiterspeichervorrichtung wie einen dynamischen oder statischen Direktzugriffsspeicher (ein DRAM oder SRAM), ein löschbares und programmierbarer Nur-Lese-Speicher (EPROM), elektrisch löschbarer und programmierbarer Nur-Lese-Speicher (EEPROM) und Flash-Speicher; eine Magnetplatte wie eine feste Diskette und eine Wechseldiskette; ein anderes magnetisches Medium einschließlich Klebeband; ein optisches Medium wie eine CD (CD) oder eine digitale Videodisk (DVD); oder eine andere Art von Speichergerät. Es ist zu beachten, dass die oben diskutierten Anweisungen auf einem computerlesbaren oder maschinenlesbaren Speichermedium bereitgestellt werden können oder alternativ auf mehreren computerlesbaren oder maschinenlesbaren Speichermedien bereitgestellt werden können, die in einem großen System mit möglicherweise mehreren Knoten verteilt sind. Solche computerlesbaren oder maschinenlesbaren Speichermedien oder -medien werden als Teil eines Artikels (oder Herstellungsartikels) betrachtet. Ein Artikel oder Herstellungsartikel kann sich auf jede hergestellte Einzelkomponente oder mehrere Komponenten beziehen. Das Speichermedium oder die Speichermedien können sich entweder auf dem Computer befinden, auf dem die maschinenlesbaren Anweisungen ausgeführt werden, oder an einem Remote-Standort, von dem maschinenlesbare Anweisungen zur Ausführung über ein Netzwerk heruntergeladen werden können.A storage medium (e.g. 300 in 3 or 404 in 4 ) may include any one or combination of the following: a semiconductor memory device such as dynamic or static random access memory (a DRAM or SRAM), erasable and programmable read only memory (EPROM), electrically erasable and programmable read only memory (EEPROM ) and flash memory; a magnetic disk such as a fixed floppy disk and a removable floppy disk; another magnetic medium including adhesive tape; an optical medium such as a compact disc (CD) or a digital video disc (DVD); or some other type of storage device. It should be noted that the instructions discussed above may be provided on one computer-readable or machine-readable storage medium, or alternatively may be provided on multiple computer-readable or machine-readable storage media distributed in a large system with possibly multiple nodes. Such computer-readable or machine-readable storage media or media shall be considered part of an article (or article of manufacture). An article or article of manufacture may refer to each individual component or multiple components manufactured. The storage medium or media may reside either on the computer on which the machine-readable instructions are executed or at a remote location from which machine-readable instructions may be downloaded over a network for execution.

In der vorstehenden Beschreibung werden zahlreiche Einzelheiten dargelegt, um ein Verständnis für die hier offenbarten Beispiele bereitzustellen. Implementierungen können jedoch ohne einige dieser Details geübt werden. Andere Implementierungen können Modifikationen und Variationen von den oben diskutierten Details enthalten. Es ist beabsichtigt, dass die beigefügten Ansprüche solche Änderungen und Variationen abdecken, die in den Rahmen der Beispiele fallen.In the foregoing description, numerous details are set forth in order to provide an understanding of the examples disclosed herein. However, implementations can be practiced without some of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations as come within the scope of the examples.

Claims (20)

Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) mit Anweisungen, die bei der Ausführung ein System veranlassen: basierend auf einem Vergleich von Messdaten, die auf verschiedenen Hierarchieebenen (104; 108; 112; 116) einer Computerumgebung (100) erfasst wurden, ein potentielles Problem und eine bestimmte Hierarchieebene der verschiedenen Hierarchieebenen (104; 108; 112; 116) als potenzielle Ursache des potentiellen Problems zu identifizieren (302; 406), wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) eine physische Maschinen-Ebene (112) und eine Programmebene (104), die Programme (106) zum Ausführen auf einem oder mehreren Hosts (114) der physischen Maschinen-Ebene (112) umfasst, umfassen; und basierend auf Messdaten, die für Objekte innerhalb einer bestimmten Hierarchieebene der verschiedenen Hierarchieebenen (104; 108; 112; 116) erfasst wurden: die jeweiligen Lokalisierungswerte für eine Vielzahl von Teilmengen der Objekte innerhalb der bestimmten Hierarchieebene zu berechnen; und die Vielzahl von Teilmengen gemäß der jeweiligen Lokalisierungswerte zu ordnen; zu bestimmen, dass die Lokalisierungswerte für die Vielzahl von Teilmengen der Objekte jeweils ein Kriterium verletzen; basierend auf der Bestimmung zu bestimmen, dass das potentielle Problem in der Vielzahl von Teilmengen der Objekte in der bestimmten Hierarchieebene lokalisiert ist; und eine Korrekturmaßnahme, um das potenzielle Problem zu beheben, die auf die Rangfolge der mehreren Teilmengen der Objekte reagiert, auszulösen.A non-transitory machine-readable storage medium (300; 404) containing instructions that, when executed, cause a system to: based on a comparison of measurement data recorded at different hierarchical levels (104; 108; 112; 116) of a computer environment (100), a potential problem and a specific hierarchical level of the various hierarchical levels (104; 108; 112; 116) as a potential cause identifying (302; 406) the potential problem, the various hierarchical levels (104; 108; 112; 116) a physical machine level (112) and a program level (104), the programs (106) for execution on one or more physical machine level (112) hosts (114); and based on measurement data collected for objects within a specific hierarchy level of the different hierarchy levels (104; 108; 112; 116): calculate the respective location values for a plurality of subsets of the objects within the determined hierarchy level; and order the plurality of subsets according to the respective location values; determine that the location values for the plurality of subsets of objects each violate a criterion; determine based on the determination that the potential problem is located in the plurality of subsets of the objects in the determined hierarchy level; and trigger a corrective action to address the potential issue responsive to the ranking of the multiple subsets of the objects. Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 1, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin eine Speicherebene (116) umfassen.Non-transitory machine-readable storage medium (300; 404). claim 1 , wherein the different hierarchical levels (104; 108; 112; 116) further comprise a memory level (116). Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 1, wobei die Anweisungen bei Ausführung das System veranlassen zum: als Reaktion auf das Bestimmen, dass das potenzielle Problem in der Teilmenge der Objekte lokalisiert ist, Identifizieren der Teilmenge der Objekte, die am höchsten eingeordnet ist, als Ursache für das potenzielle Problem.Non-transitory machine-readable storage medium (300; 404). claim 1 wherein the instructions, when executed, cause the system to: in response to determining that the potential problem is located in the subset of objects, identifying the subset of objects that is highest ranked as the cause of the potential problem. Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 1, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin ein virtuelle Ebene (108) umfassen.Non-transitory machine-readable storage medium (300; 404). claim 1 , wherein the various hierarchical levels (104; 108; 112; 116) further comprise a virtual level (108). Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 4, wobei die virtuelle Ebene (108) eine virtuelle Maschine (110) zum Ausführen auf dem einen oder den mehreren Hosts (114) der physischen Ebene (112) umfasst.Non-transitory machine-readable storage medium (300; 404). claim 4 , wherein the virtual layer (108) comprises a virtual machine (110) for executing on the one or more hosts (114) of the physical layer (112). Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 5, wobei das auf dem einen oder den mehreren Hosts (114) auszuführende Programm auf der virtuellen Maschine (110) zur Ausführung auf der physischen Ebene (112) auszuführen ist.Non-transitory machine-readable storage medium (300; 404). claim 5 , wherein the program to be executed on the one or more hosts (114) is to be executed on the virtual machine (110) for execution on the physical layer (112). Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 1, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin ein virtuelle Ebene (108) und eine physische Ebene (112) umfassen.Non-transitory machine-readable storage medium (300; 404). claim 1 , wherein the different hierarchical levels (104; 108; 112; 116) further comprise a virtual level (108) and a physical level (112). Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 7, wobei eine virtuelle Maschine (110) der virtuellen Ebene (108) zumindest eine Festplatte mindestens eines Speichersystems (118) der Speicherebene (116) umfasst.Non-transitory machine-readable storage medium (300; 404). claim 7 , wherein a virtual machine (110) of the virtual tier (108) comprises at least one hard disk of at least one storage system (118) of the storage tier (116). Nichtflüchtiges maschinenlesbares Speichermedium (300; 404) nach Anspruch 1, wobei die Objekte der bestimmten Hierarchieebene Programme (106), virtuelle Maschinen (110), Hosts (114) oder Speichersysteme (118) umfassen.Non-transitory machine-readable storage medium (300; 404). claim 1 , wherein the objects of the specific hierarchical level include programs (106), virtual machines (110), hosts (114) or storage systems (118). System (400), das Folgendes umfasst: einen Prozessor (402); und ein nichtflüchtiges maschinenlesbares Speichermedium (300; 404), das maschinenlesbare Anweisungen speichert, die auf dem Prozessor (402) ausgeführt werden können, um: basierend auf dem Vergleich von Messdaten, die auf verschiedenen Hierarchieebenen (104; 108; 112; 116) einer Computerumgebung (100) erfasst wurden, ein potentielles Problem und eine bestimmte Hierarchieebene der verschiedenen Hierarchieebenen (104; 108; 112; 116) als potenzielle Ursache des potentiellen Problems zu identifizieren (406), wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) eine physische Maschinen-Ebene (112) und eine Programmebene (104), die Programme (106) zum Ausführen auf einem oder mehreren Hosts (114) der physischen Maschinen-Ebene (112) umfasst, umfassen; jeweilige Lokalisierungswerte für eine Vielzahl von Teilmengen von Objekten innerhalb der bestimmten Hierarchieebene der verschiedenen Hierarchieebenen (104; 108; 112; 116) zu berechnen (408), basierend auf Messdaten, die für Objekte innerhalb der bestimmten Hierarchieebene erfasst wurden, und die Lokalisierungswerte geben einen Grad der Assoziation zwischen den Objekten innerhalb der bestimmten Hierarchieebene und dem potenziellen Problem an; die Vielzahl von Teilmengen gemäß der jeweiligen Lokalisierungswerte zu ordnen; zu bestimmen, dass die Lokalisierungswerte für die Vielzahl von Teilmengen der Objekte jeweils ein Kriterium verletzen; basierend auf der Bestimmung, zu bestimmen (410), dass das potentielle Problem in der Vielzahl von Teilmengen der Objekte in der bestimmten Hierarchieebene lokalisiert ist; und eine Korrekturmaßnahme, um das potenzielle Problem zu beheben, die auf die Rangfolge der mehreren Teilmengen der Objekte reagiert, auszulösen.System (400) which includes: a processor (402); and a non-transitory machine-readable storage medium (300; 404) storing machine-readable instructions executable on the processor (402) to: based on the comparison of measurement data recorded at different hierarchical levels (104; 108; 112; 116) of a computer environment (100), a potential problem and a specific hierarchical level of the various hierarchical levels (104; 108; 112; 116) as a potential cause identifying (406) the potential problem, the various hierarchical levels (104; 108; 112; 116) a physical machine level (112) and a program level (104) containing programs (106) for execution on one or more hosts ( 114) of the physical machine layer (112); calculate (408) respective location values for a plurality of subsets of objects within the given hierarchy level of the different hierarchy levels (104; 108; 112; 116) based on measurement data collected for objects within the given hierarchy level and the location values give a degree of association between the objects within the given hierarchical level and the potential problem; order the plurality of subsets according to the respective location values; determine that the location values for the plurality of subsets of objects each violate a criterion; based on the determination, determining (410) that the potential problem is located in the plurality of subsets of the objects in the determined hierarchy level; and trigger a corrective action to address the potential issue responsive to the ranking of the multiple subsets of the objects. System (400) nach Anspruch 10, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin ein Speicherebene (116) umfassen.system (400) after claim 10 , wherein the different hierarchical levels (104; 108; 112; 116) further comprise a memory level (116). System (400) nach Anspruch 10, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin ein virtuelle Ebene (108) umfassen, und wobei die virtuelle Ebene (108) eine virtuelle Maschine (110) zum Ausführen auf dem einen oder den mehreren Hosts (114) der physischen Ebene (112) umfasst.system (400) after claim 10 , wherein the various hierarchical levels (104; 108; 112; 116) further comprise a virtual level (108), and wherein the virtual level (108) comprises a virtual machine (110) for execution on the one or more hosts (114) of physical layer (112). System (400) nach Anspruch 12, wobei das auf dem einen oder den mehreren Hosts (114) auszuführende Programm auf der virtuellen Maschine zur Ausführung auf der physischen Ebene (112) auszuführen ist.system (400) after claim 12 wherein the program to be executed on the one or more hosts (114) is to be executed on the virtual machine for execution on the physical layer (112). System (400) nach Anspruch 10, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin eine virtuelle Ebene (108) und eine Speicherebene (116) umfassen.system (400) after claim 10 , wherein the different hierarchical levels (104; 108; 112; 116) further comprise a virtual level (108) and a storage level (116). Verfahren durchgeführt durch ein System (400) eines Hardwareprozessors (402), umfassend: Empfangen (502) von Metriken, die für Objekte gesammelt wurden, die auf verschiedenen Hierarchieebenen (104; 108; 112; 116) einer Computerumgebung (100) erfasst wurden, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) eine physische Maschinen-Ebene (112) und eine Programmebene (104), die Programme (106) zum Ausführen auf einem oder mehreren Hosts (114) der physischen Maschinen-Ebene (112), umfasst, umfassen; Identifizieren (504) eines potenziellen Problems und einer bestimmten Hierarchieebene der verschiedenen Hierarchieebenen (104; 108; 112; 116) als potenzielle Ursache des potentiellen Problems basierend auf dem Vergleichen von Werten der Metriken, die auf den verschiedenen Hierarchieebenen (104; 108; 112; 116) der Computerumgebung (100) erfasst wurden; und basierend auf den Werten der Metriken, die für die Objekte in der bestimmten Hierarchieebene erfasst wurden: Berechnen von jeweiligen Lokalisierungswerten für eine Vielzahl von Teilmengen der Objekte innerhalb der bestimmten Hierarchieebene ; Ordnen der Vielzahl von Teilmengen gemäß der jeweiligen Lokalisierungswerte; Bestimmen, dass die Lokalisierungswerte für die Vielzahl von Teilmengen der Objekte jeweils ein Kriterium verletzen; Basierend auf der Bestimmung bestimmen (506), dass das potentielle Problem in einer Vielzahl von Teilmengen der Objekte in der bestimmten Hierarchieebene lokalisiert ist; und Auslösen einer Korrekturmaßnahme, um das potenzielle Problem zu beheben, die auf die Rangfolge der mehreren Teilmengen der Objekte reagiert.A method performed by a system (400) of a hardware processor (402), comprising: receiving (502) metrics collected for objects collected at different hierarchical levels (104; 108; 112; 116) of a computing environment (100), wherein the different hierarchical levels (104; 108; 112; 116) a physical machine level (112) and a program level (104), the programs (106) for execution on one or more hosts (114) of the physical machine level (112 ), comprises, comprise; Identifying (504) a potential problem and a particular hierarchy level of the different hierarchy levels (104; 108; 112; 116) as a potential cause of the potential problem based on comparing values of the metrics determined on the different hierarchy levels (104; 108; 112; 116) of the computing environment (100); and based on the values of the metrics recorded for the objects in the specific hierarchy level: calculating respective localization values for a plurality of subsets of the objects within the specific hierarchy level; ordering the plurality of subsets according to the respective location values; determining that the location values for the plurality of subsets of objects each violate a criterion; Based on the determination, determining (506) that the potential problem is located in a plurality of subsets of the objects in the determined hierarchy level; and triggering a corrective action to fix the potential problem responsive to the ranking of the multiple subsets of the objects. Verfahren nach Anspruch 15, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) Programme (106), virtuelle Maschinen (110), Hosts (114) oder Speichersysteme (118) umfassen.procedure after claim 15 , wherein the different hierarchical levels (104; 108; 112; 116) include programs (106), virtual machines (110), hosts (114) or storage systems (118). Verfahren nach Anspruch 15, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin ein Speicherebene (116) umfassen.procedure after claim 15 , wherein the different hierarchical levels (104; 108; 112; 116) further comprise a memory level (116). Verfahren nach Anspruch 15, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin ein virtuelle Ebene (108) umfassen, und wobei die virtuelle Ebene (108) eine virtuelle Maschine (110) zum Ausführen auf dem einen oder den mehreren Hosts (114) der physischen Ebene (112) umfasst.procedure after claim 15 , wherein the various hierarchical levels (104; 108; 112; 116) further comprise a virtual level (108), and wherein the virtual level (108) comprises a virtual machine (110) for execution on the one or more hosts (114) of physical layer (112). Verfahren nach Anspruch 18, wobei das auf dem einen oder den mehreren Hosts (114) auszuführende Programm auf der virtuellen Maschine zur Ausführung auf der physischen Ebene (112) auszuführen ist.procedure after Claim 18 wherein the program to be executed on the one or more hosts (114) is to be executed on the virtual machine for execution on the physical layer (112). Verfahren nach Anspruch 15, wobei die verschiedenen Hierarchieebenen (104; 108; 112; 116) weiterhin ein virtuelle Ebene (108) und eine Speicherebene (116) umfassen.procedure after claim 15 , wherein the different hierarchical levels (104; 108; 112; 116) further comprise a virtual level (108) and a storage level (116).
DE102020102936.5A 2019-02-08 2020-02-05 LOCATE POTENTIAL PROBLEMS ON OBJECTS Active DE102020102936B4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201916217384A 2019-02-08 2019-02-08
US16/217,384 2019-02-08

Publications (2)

Publication Number Publication Date
DE102020102936A1 DE102020102936A1 (en) 2020-08-13
DE102020102936B4 true DE102020102936B4 (en) 2023-05-17

Family

ID=71739461

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020102936.5A Active DE102020102936B4 (en) 2019-02-08 2020-02-05 LOCATE POTENTIAL PROBLEMS ON OBJECTS

Country Status (1)

Country Link
DE (1) DE102020102936B4 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097463A1 (en) 2011-10-12 2013-04-18 Vmware, Inc. Method and apparatus for root cause and critical pattern prediction using virtual directed graphs
US20140172371A1 (en) 2012-12-04 2014-06-19 Accenture Global Services Limited Adaptive fault diagnosis
US20170017537A1 (en) 2015-07-14 2017-01-19 Sios Technology Corporation Apparatus and method of leveraging semi-supervised machine learning principals to perform root cause analysis and derivation for remediation of issues in a computer environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097463A1 (en) 2011-10-12 2013-04-18 Vmware, Inc. Method and apparatus for root cause and critical pattern prediction using virtual directed graphs
US20140172371A1 (en) 2012-12-04 2014-06-19 Accenture Global Services Limited Adaptive fault diagnosis
US20170017537A1 (en) 2015-07-14 2017-01-19 Sios Technology Corporation Apparatus and method of leveraging semi-supervised machine learning principals to perform root cause analysis and derivation for remediation of issues in a computer environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SOLE, Marc [et al.]: Survey on Models and Techniques for Root-Cause Analysis, 3. Juli 2017, https://arxiv.org/abs/1701.08546v2 [abgerufen am 20. Juli 2022]

Also Published As

Publication number Publication date
DE102020102936A1 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
CN109074302B (en) Method and system for determining health of storage drive
CN110601900B (en) Network fault early warning method and device
Yoon et al. Dbsherlock: A performance diagnostic tool for transactional databases
US9280436B2 (en) Modeling a computing entity
US8291263B2 (en) Methods and apparatus for cross-host diagnosis of complex multi-host systems in a time series with probabilistic inference
US20150309908A1 (en) Generating an interactive visualization of metrics collected for functional entities
CN105677538A (en) Method for adaptive monitoring of cloud computing system based on failure prediction
US20080195369A1 (en) Diagnostic system and method
US11095728B2 (en) Techniques for automatically interpreting metric values to evaluate the health of a computer-based service
US9858106B2 (en) Virtual machine capacity planning
US20160282124A1 (en) System and method for monitoring driving behavior of a driver
US20100198807A1 (en) Workload management using robustness mapping
CN107220121B (en) Sandbox environment testing method and system under NUMA architecture
CN110417610A (en) Storage system postpones Outlier Detection
DE102020112531A1 (en) Operational metric calculation for workload type
CN110674507A (en) Method and system for detecting web application override
DE102021127522A1 (en) WORKLOAD MANAGEMENT USING A TRAINED MODEL
DE102019100721A1 (en) Vibration analysis systems and methods
DE202017106569U1 (en) Analysis of large-scale data processing jobs
DE112013006588T5 (en) Management system for managing a computer system and management method therefor
DE102020132600A1 (en) IMAGE IDENTIFICATION AND REQUEST FOR COMPONENT FAILURE ANALYSIS
US7962692B2 (en) Method and system for managing performance data
DE102020102936B4 (en) LOCATE POTENTIAL PROBLEMS ON OBJECTS
DE102020112066B4 (en) SHARED RESOURCES OPERATIONAL METRIC
US20210397506A1 (en) Localization of potential issues to objects

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: PROCK, THOMAS, DR., GB

R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TEX., US

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final