DE112018002837T5 - Überwachung für gemeinsam angeordnete container in einem hostsystem - Google Patents

Überwachung für gemeinsam angeordnete container in einem hostsystem Download PDF

Info

Publication number
DE112018002837T5
DE112018002837T5 DE112018002837.2T DE112018002837T DE112018002837T5 DE 112018002837 T5 DE112018002837 T5 DE 112018002837T5 DE 112018002837 T DE112018002837 T DE 112018002837T DE 112018002837 T5 DE112018002837 T5 DE 112018002837T5
Authority
DE
Germany
Prior art keywords
host
component
boot
identifier
status information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112018002837.2T
Other languages
English (en)
Other versions
DE112018002837B4 (de
Inventor
Peter Vinh
Sean Kane
Erika Arnold
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.)
New Relic Inc
Original Assignee
New Relic Inc
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 New Relic Inc filed Critical New Relic Inc
Publication of DE112018002837T5 publication Critical patent/DE112018002837T5/de
Application granted granted Critical
Publication of DE112018002837B4 publication Critical patent/DE112018002837B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Ein Überwachungssystem empfängt Informationen von Agenten, die (z. B. unprivilegierte) Container oder Anwendungen in Containern überwachen, die hostübergreifend ausgeführt werden, um eine aggregierte Statusinformation auf einer per Host-Basis zu erzeugen. Das System empfängt Zustandsinformationen für jeden Container, Bootkennungen, die dem Host des Containers zugeordnet sind, und Containerkennungen. Zustandsinformation beinhaltet Daten, die den Zustand eines Containers oder einer im Container ausgeführten Anwendung beschreibt. Die Bootkennung enthält eine Kennung für eine Bootsitzung des Hosts. Die Containerkennung identifiziert jeden Container eindeutig. Das Überwachungssystem vergleicht die Bootkennungen, um Container zu bestimmen, die gemeinsam angeordnet sind. Wenn Container eine Bootkennung gemeinsam haben, stellt das Überwachungssystem fest, dass die Container auf dem Host, der die Bootkennung erzeugt hat, gemeinsam angeordnet sind. Wenn Container keine gemeinsamen Bootkennungen haben, bestimmt das Überwachungssystem, dass die Container nicht gemeinsam angeordnet sind, und kann jeden Container mit unterschiedlichen Bootkennungen ihren jeweiligen Hosts zuordnen.

Description

  • HINTERGRUND
  • Die Offenbarung bezieht sich im Allgemeinen auf die Überwachung von Computerservern, insbesondere auf die Überwachung einzelner Komponenten angeordnet auf Computerservern.
  • Internetbasierte Anwendungen sind gängige Werkzeuge für die Bereitstellung von Inhalten und Diensten für Benutzercomputergeräte. Diese Anwendungen werden typischerweise innerhalb einer skalierbaren Komponente, wie etwa innerhalb eines Betriebssystemcontainers, auf einem Host ausgeführt, der Inhalte für die Computergeräte bereitstellt, indem er Anfragen von den Computergeräten empfängt und Antworten an die Computergeräte sendet. Historisch betrachtet können Komponenten, die verwandte Anwendungen enthalten, innerhalb eines gemeinsamen Hosts gemeinsam angeordnet oder über mehrere Hosts verteilt sein. Jede Komponente kann von einem Überwachungssystem auf eine Leistungs- und Zustandsinformation überwacht werden, während eine Anforderung bearbeitet wird.
  • Das Überwachungssystem kann eine Leistungs- und Zustandsinformation von Komponenten empfangen, die die Hosts, auf denen sie ausgeführt werden, nicht identifizieren. Infolgedessen kann das Überwachungssystem möglicherweise Komponenten nicht identifizieren, die auf einem gemeinsamen Host ausgeführt werden. Infolgedessen kann das Überwachungssystem möglicherweise Komponenten nicht identifizieren, die auf einem gemeinsamen Host ausgeführt werden. Diese Abstraktion kann sich für die Leistungsüberwachung als problematisch erweisen, da das Überwachungssystem möglicherweise nicht in der Lage ist, eine Komponente einer anderen Komponente zuzuordnen, die auf dem gleichen Host gemeinsam angeordnet sind. Darüber hinaus kann diese Abstraktion zu Schwierigkeiten bei der Lizenzverwaltung führen, da Anwendungen, die innerhalb von Containern ausgeführt werden, die über Hosts verteilt sind, die Lizenznutzungskennzahlen für ein Preismodell verschleiern können, das auf einer per Host-Basis basiert.
  • ZUSAMMENFASSUNG
  • Ein Überwachungssystem empfängt Information von Agenten, die Komponenten, wie etwa Container oder Anwendungen in Containern, überwachen und hostsübergreifend ausführen, um eine aggregierte Zustandsinformation auf einer per Host-Basis zu erzeugen. Mehrere Container können auf einem einzigen Host gemeinsam angeordnet werden. Das System empfängt die Information einschließlich Zustandsinformation für jeden Container, Bootskennungen, die den Hosts des Containers zugeordnet sind, und Kennungen für die Container. Die Zustandsinformation beinhaltet Daten bezüglich des Zustands eines Containers oder einer Anwendung, die im Container ausgeführt wird und auf dem Host ausgeführt wird. Die Bootkennung beinhaltet eine Kennung für eine Bootsitzung des Hosts, die vom Host aus für jeden Agenten zugänglich ist. Die Containerkennung identifiziert bei der Übertragung jeden Container eindeutig. Das Überwachungssystem vergleicht Bootskennungen, die in Verbindung mit Zustandsinformationen von Agenten empfangen werden, die Container überwachen, um zu bestimmen, ob die Container gemeinsam angeordnet sind. Zum Beispiel zeigen zwei Container, die innerhalb eines definierten Zeitfensters die gleiche Boot-ID verwenden, an, dass sie sich in einer gemeinsamen Bootsitzung (der Zeitspanne, in der ein Betriebssystem in den Speicher des Hosts geladen wird) eines Hosts befinden. Für den Fall, dass Container eine Bootkennung gemeinsam haben, bestimmt das Überwachungssystem, dass die Container auf dem Host, der die Bootkennung erzeugt hat, gemeinsam angeordnet sind. Wenn Container keine Bootskennungen gemeinsam haben (z.B. und die Bootsitzung durch Kommunikation mit anderen Agenten als noch aktiv bestimmt wird), bestimmt das Überwachungssystem, dass die Container nicht auf einem Host gemeinsam angeordnet sind und kann jeden Container mit unterschiedlichen Bootkennungen ihren jeweiligen Hosts zuordnen. Darüber hinaus ermöglicht die eindeutige Identifizierung von gemeinsam angeordneten Containern dem Überwachungssystem, die gesammelte Information zwischen Containern und dem zugrunde liegenden Host zu korrelieren.
  • Figurenliste
    • 1 ist ein Blockdiagramm einer Systemumgebung zum Überwachen von Hosts gemäß einer Ausführungsform.
    • 2 ist ein schematisches Blockdiagramm, das ein Überwachungssystem darstellt, das Komponenten und Hosts überwacht, gemäß einer Ausführungsform.
    • 3 ist ein Flussdiagramm, das den Prozess zum Bestimmen und Speichern von Zustandsinformationen von gemeinsam angeordneten Komponenten darstellt, gemäß einer Ausführungsform.
    • 4 ist ein Flussdiagramm, das einen Prozess zum Sammeln und Berichten von Zustandsinformationen durch den Agenten einer Komponente, die auf einem Host ausgeführt wird, darstellt, gemäß einer Ausführungsform.
    • 5 ist ein Flussdiagramm, das den Prozess zum Identifizieren von gemeinsam angeordneten Komponenten in einem Host und zum Erzeugen von aggregierten Zustandsinformationen über den Host darstellt, gemäß einer Ausführungsform.
    • 6 stellt einen Prozess zur Behandlung neuer Bootsitzungen in einem Host dar, gemäß einer Ausführungsform.
    • 7 ist ein hochrangiges Blockdiagramm, das ein Beispiel für einen Computer darstellt, gemäß einer Ausführungsform.
    • 8A ist ein schematisches Diagramm eines Hosts, der Boot-IDs beinhaltet, gemäß einer Ausführungsform.
    • 8B ist ein schematisches Diagramm eines Hosts der aktualisierte Boot-IDs beinhaltet, gemäß einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • 1 stellt eine Systemumgebung zur Überwachung von Hosts gemäß einer Ausführungsform dar. Die Umgebung beinhaltet ein Überwachungssystem 102 (siehe 2), eine Client-Vorrichtung 104 und Hosts 106a - 106n (oder „Host 106“). Die Hosts 106a - 106n, das Überwachungssystem 102 und die Client-Vorrichtung 104 können über ein Netzwerk 124 kommunizieren, das das Internet beinhalten kann.
  • Die Client-Vorrichtung 104 ist eine Vorrichtung mit Rechenfunktionalität und Datenkommunikationsfähigkeiten, die sowohl Benutzereingaben empfangen als auch Daten über das Netzwerk 124 senden und/oder empfangen kann. Die Client-Vorrichtung 104 kommuniziert mit dem Host 106 über das Netzwerk 124. In verschiedenen Ausführungsformen kann die Client-Vorrichtung 104 eine verkabelte Benutzervorrichtung, etwa ein Desktop-Computer, oder eine mobile Benutzervorrichtung, wie ein Laptop-Computer, ein Personal Digital Assistant (PDA), ein Mobiltelefon, ein Smartphone, ein Tablett oder eine tragbare Vorrichtung sein. Die Client-Vorrichtung 104 kann von einem Betreiber des Hosts 106 und/oder des Überwachungssystems 102 verwendet werden. Zum Beispiel kann die Client-Vorrichtung 104 von einem Betreiber des Überwachungssystems 102 verwendet werden, um vom Host 106 Updates über die Leistung der auf dem Host 106 ausgeführten Komponenten 108 zu empfangen. Obwohl in 1 eine einzelne Client-Vorrichtung 104 dargestellt ist, kann die Umgebung eine beliebige Anzahl von Client-Vorrichtungen 104 beinhalten.
  • Der Host 106 kann eine Schaltung (z.B. Server) beinhalten, die ein Betriebssystem 110, Komponenten 108 und einen oder mehrere Agenten 112 ausführt. Die Komponenten 108 können Container beinhalten, die auf dem Host 106 ausgeführt werden, und/oder Anwendungen und Agenten, die in den Containern ausgeführt werden. Jede Komponente 108, die auf dem Host 106 ausgeführt wird, kann einer Komponentenkennung zugeordnet werden, die das Überwachungssystem 102 zusammen mit der Boot-ID 114 verwendet, um gemeinsam angeordnete Komponenten im gleichen Host 106 zu bestimmen.
  • Die Boot-ID 114 ist ein Wert (z.B. Hash), der die Bootsitzung des Betriebssystems 110 eindeutig identifiziert. Das Betriebssystem 110 kann die Boot-ID 114 beim Start oder als Reaktion auf eine Anforderung erzeugen und die Boot-ID als zugängliche Daten für den Agenten 112 und/oder die Komponente 108 speichern. Der Host 106 kann eine physische Maschine (z.B. ein Server), eine virtuelle Maschine oder eine Cloud-Instanz sein. In einigen Ausführungsformen ist die Boot-ID ein großer zufällig erzeugter Wert, um die Wahrscheinlichkeit von Kollisionen der Boot-ID-Werte zwischen verschiedenen Hosts in verschiedenen Bootsitzungen zu verringern.
  • Zum Beispiel, wenn der Host 106a einen Start- oder Neustartvorgang durchgeführt hat, kann das Betriebssystem 110 der auf dem Host 106a laufenden Bootsitzung für die neue Bootsitzung eine andere Boot-ID 114a zuweisen. Ebenso kann der Host 106n, der ein weiterer vom System 102 überwachter Host ist, beim Start eine Boot-ID erzeugen und die Boot-ID während der Bootsitzung beibehalten (z.B. auch wenn der Host 106a eine neue Boot-ID für eine neue Bootsitzung erzeugt). Diese Boot-IDs 114 sind den Komponenten 108 zugeordnet, etwa durch die Verwendung der Komponentenkennung, um Komponenten zu bestimmen, die gemeinsam auf demselben Host 106 angeordnet sind. Boot-IDs 114 werden dem Überwachungssystem 102 von jedem Agenten 112 berichtet, der auf jedem Host 106 ausgeführt wird.
  • In einer Ausführungsform führt der Host 106 zusätzlich zu den Komponenten 108 einen Agenten 112 aus. Der Agent 112 überwacht die Leistung der Komponente 108, wie etwa Prozesse, die auf dem Host 106 laufen, die Reaktionszeit der Komponente 108, Transaktionen in der Komponente 108, die Auswirkung von Backend-Prozessen auf die Leistung der Komponente 108 auf Client-Vorrichtungen 104 oder andere Arten von Zustandsinformationen. In einer Ausführungsform führt jede Komponente 108 ihren eigenen Agenten 112 aus, der die Leistung der Komponente 108 überwacht. In einer weiteren Ausführungsform gibt es einen Agenten 112, der auf dem Host 106 ausgeführt wird, der eine Zustandsinformation über mehrere Komponenten 108 überwacht und erzeugt. In einigen Ausführungsformen sind die Komponenten 108 (z.B. Anwendungen, Container usw.) und die Agenten 112 gemeinsam auf einem gemeinsamen Kernel des Betriebssystems 110 angeordnet und haben Zugriff auf einige gemeinsame Information wie die Boot-ID 114. Der Agent 112 sammelt und speichert Zustandsinformationen, die für die Leistung der Anwendung relevant sind, und meldet die Zustandsinformation periodisch an das Überwachungssystem 102 in Verbindung mit der Boot-ID 114 des Hosts zur Hostidentifizierung.
  • 2 ist ein schematisches Blockdiagramm, das ein Überwachungssystem 102 darstellt, das Komponenten 108 und Hosts 106 überwacht, gemäß einer Ausführungsform. Das Überwachungssystem 102 beinhaltet einen Überwachungsserver 200 und einen Hostdatenspeicher 220.
  • Der Überwachungsserver 200 ist eine externe Rechenvorrichtung für den Host 106, die die Leistung des Host 106 und seiner Komponenten 108 überwacht. Der Überwachungsserver 200 kann die Leistung einer beliebigen Anzahl von Hosts 106 auf einer per Host-Basis oder der Komponenten von Hosts überwachen. Während der Host 106 den Agenten 112 ausführt, kommuniziert der Überwachungsserver 200 mit dem Agenten 112, um die Leistung der Komponenten 108 im Host 106 zu überwachen. Der Überwachungsserver 200 empfängt Berichte von dem Agenten 112 und formatiert Daten in den Berichten zur Analyse durch einen Administrator des Hosts 106, so dass sich der Administrator mit allen Leistungsproblemen in der Komponente 108 oder dem Host 106 befassen kann. Zum Beispiel erzeugt der Überwachungsserver 200 Diagramme, die die Antwortzeiten der Komponente 108 darstellen, zeigt Transaktionsspuren von langsamen oder anderweitig bemerkenswerten Transaktionen an und liefert Statistiken von dem Host (z.B. virtuelle Maschine), auf dem die Komponente 108 läuft.
  • In einer Ausführungsform empfängt der Überwachungsserver 200 auch eine Information von einem Agenten 112, der auf dem Host 106 ausgeführt wird, die die Boot-ID 114 beschreibt, die der Bootsitzung auf dem Host 106 zugewiesen wurde. Die Boot-ID 114, die vom Betriebssystem 110 auf dem Host 106 erzeugt wird, ist jeder Komponente 108 zugeordnet, die auf dem Host 106 ausgeführt wird. Der Agent 112 holt die Boot-ID 114 zusätzlich zu Komponentenkennungen und Komponentenzustandsinformationen und liefert diese Daten an den Überwachungsserver 140. Der Überwachungsserver 140 verwendet die Daten des Agenten 112, um eine aggregierte Information über Komponenten und/oder Hosts zu bestimmen. Zum Beispiel kann eine Nutzungsinformation per Host-Basis über mehrere, gemeinsam angeordnete Container hinweg verfolgt werden, um eine Lizenzverbrauchsinformation auf einer per Host-Basis zu bestimmen. Der Überwachungsserver 200 kann Zustandsinformation von mehreren gemeinsam angeordneten Komponenten aggregieren, um die Gesamtnutzung für den zugrundeliegenden Host 106 zu bestimmen.
  • Das Überwachungssystem 102 verwendet den Hostdatenspeicher 220, um Identitäten von gemeinsam angeordneten Komponenten 108 zu speichern, die auf einem Host 106 in Bezug auf die Boot-IDs 114 ausgeführt werden. Das Überwachungssystem 102 bestimmt gemeinsam angeordnete Komponenten 108 und speichert die Komponentenkennung für jede Komponente mit der Boot-ID 114 der Bootsitzung, die zum Zeitpunkt der Identifizierung der gemeinsamen Anordnung aktuell ausgeführt wird. Im Falle eines Starts, der eine neue Bootsitzung auf dem Host 106 verursacht, sendet der Agent 112 anschließend eine erzeugte Zustandsinformation mit einer neuen Boot-ID der neuen Bootsitzung. Der Überwachungsserver 200 kann die im Hostdatenspeicher 220 gespeicherte Information verwenden, um zuvor gespeicherte Komponentenkennungen, die dem Überwachungssystem 102 zur Verfügung gestellt werden und zu den Komponenten 108 gehören, die zur gemeinsamen Anordnung bestimmt sind, zu vergleichen. Der Überwachungsserver 200 kann diese Information aktualisieren, um die neue Boot-ID 114 einzubinden, die aufgrund der Neustartinstanz gemeldet wurde, so dass der Überwachungsserver 200 trotz einer Änderung der Boot-ID 114 weiterhin eine Nutzungsinformation für den Host 106 aggregieren kann. Zum Beispiel, wenn die Komponenten A, B und C gemeinsam auf dem Host 106a angeordnet sind, kann der Hostdatenspeicher 220 jede Komponente der neuen Boot-ID 114 zuordnen, die für die neue Bootsitzung erzeugt wurde. Wenn der Host 106a einen Neustart durchlief, würde das Betriebssystem 110a eine neue Boot-ID 114 erzeugen, um die neue Bootsitzung wiederzugeben. Um die Überwachung der Leistung und Nutzung von Host 106a fortzusetzen, kann der Überwachungsserver 200 die Komponenten A, B und C im Hostdatenspeicher 220 identifizieren und aus der gemeinsamen Nutzung der vorherigen Boot-ID 114 bestimmen, dass sie gemeinsam angeordnet sind. Der Überwachungsserver 200 kann dann die neue Boot-ID 114 im Hostdatenspeicher 220 speichern und die Überwachung des Hosts 106a fortsetzen.
  • 3 ist ein Flussdiagramm, das den Prozess des Bestimmens und Speicherns einer Zustandsinformation der gemeinsam angeordneten Komponenten 108 darstellt, gemäß einer Ausführungsform. Obwohl ein einzelner Agent vom Betriebssystem 110 und der Komponente 108 in der in 3 dargestellten Ausführungsform geteilt wird, können das Betriebssystem 110 und jede Komponente 108 einen eigenen Agenten enthalten. Wenn der Agent 114 eine Instanz einer Zustandsinformation über eine Komponente 108 meldet, greift der Agent 114 auf die Boot-ID 114 zu, die vom Betriebssystem 110 des Hosts 106 der Boot-Sitzung erzeugt wird. Darüber hinaus kann der Agent 114 die Zustandsinformation und die Komponentenkennung von der Komponente 108 sammeln. Der Agent 114 stellt dem Überwachungsserver 200 im Überwachungssystem 102 die Zustandsinformation in Verbindung mit der Boot-ID (und der Komponentenkennung, in einigen Ausführungsformen) bereit. Der Überwachungsserver 200 verwendet die Boot-ID 114, um die gemeinsame Anordnung der Komponente 108 mit anderen Komponenten zu bestimmen, die die gleiche Boot-ID gemeldet haben. In einem weiteren Beispiel vergleicht der Überwachungsserver 200 die Komponentenkennung der Komponente 108 mit früheren Komponentenkennungen, die von der Komponente 108 gemeldet wurden, um eine neue Bootsitzung zu identifizieren. Die Boot-IDs, die anderen bekannten Komponenten 108 zugeordnet sind, die gemeinsam im Host angeordnet sind, können entsprechend aktualisiert werden.
  • 4 ist ein Flussdiagramm, das einen Prozess 400 zum Sammeln und Berichten einer Zustandsinformation durch den Agenten 112 einer Komponente 108 darstellt, die auf einem Host 106 ausgeführt wird, gemäß einer Ausführungsform. Wie vorstehend erläutert, kann der Host 106 ein Server, eine Cloud-Instanz oder eine virtuelle Maschine sein. Die überwachte Komponente 108 kann eine Anwendung oder eine Anwendung sein, die im Container ausgeführt wird. Der Agent 112 beobachtet jede Komponente 108 auf dem Host 106 und erzeugt 410 eine Zustandsinformation, um den Zustand jeder Komponente 108 entlang verschiedener überwachter Parameter wie Antwortzeiten, Verkehr oder Netzwerknutzung, Anzahl der Anfragen, Nutzungsmengen usw. zu beschreiben. Der Agent 112 kann die Zustandsinformation regelmäßig oder geplant oder bei Erkennung von Ereignissen in der Komponente 108 oder dem Host 106 erzeugen, die die Sammlung der Zustandsinformation auslösen.
  • Als Reaktion auf das Erzeugen der Zustandsinformation ruft 420 der Agent 112 eine Boot-ID 114 des Hosts 106 ab, die vom Betriebssystem 110 erzeugt wird, um eine Bootsitzung auf dem Host 106 zu identifizieren. Container bieten per Design eine Isolierung der Anwendung von dem zugrundeliegenden Host. Dies macht es schwierig, gewisse Fakten (wie z.B. den Hostnamen) über den zugrundeliegenden Host zu bestimmen, die für den Prozess innerhalb des Containers nützlich sein können, ohne dass der Container mit speziellen Privilegien oder speziellen Konfigurationen ausgeführt werden muss. Als solches verwendet der Agent 112 eine Information, die für jede unprivilegierte Anwendung zugänglich ist, die zur Identifizierung des Hosts verwendet werden kann. Obwohl hierin eine Boot-ID als Hostkennung diskutiert wird, können andere Arten von Host- oder Hostvorrichtungen verwendet werden, die Daten identifizieren, die das Betriebssystem der Anwendung im Container erlauben kann.
  • Der Agent 112 bestimmt 430 eine Komponentenkennung der Komponente, die sich auf die Zustandsinformation auf dem Host 106 bezieht. Die Komponentenkennung kann eine Kennung einer Anwendung oder des Containers sein, die das Betriebssystem nicht vom Agenten 112 beschränkt. Jeder vom Überwachungssystem 102 überwachte Container kann eine eindeutige Komponentenkennung aufweisen.
  • Der Agent 112 sendet 440 die Zustandsinformation, die Boot-ID und die Komponenten-ID an das Überwachungssystem 102 zur Bestimmung der gemeinsam angeordneten Komponenten und überwacht die Gesamtnutzung von Host 106. Der Prozess 400 kann parallel von mehreren Agenten 112 durchgeführt werden, die mehrere Komponenten überwachen. Die Komponenten 108 können auf mehrere Hosts 106 verteilt sein, die das Überwachungssystem 102 mit Boot-IDs der Agenten 112 auflösen kann.
  • 5 ist ein Flussdiagramm, das den Prozess 500 zum Identifizieren von gemeinsam angeordneten Komponenten 108 in einem Host 106 und zum Erzeugen einer aggregierten Zustandsinformation über den Host 106 darstellt, gemäß einer Ausführungsform. Im Prozess 500 wird eine Zustandsinformation, die von zwei Agenten verschiedener Komponenten empfangen wird, als in Ausführung auf demselben Host oder verschiedenen Hosts identifiziert.
  • Der Überwachungsserver 200 empfängt 510 erste Zustandsinformation und eine erste Boot-ID 114 von einem Agenten 112, der auf einer ersten Komponente 108 ausgeführt wird. Zum Beispiel kann der Agent 112 die Zustandsinformation und die Boot-ID senden, wie im Prozess 400 und 4 beschrieben.
  • Der Überwachungsserver 200 empfängt 520 zweite Zustandsinformation und eine zweite Boot-ID 114 von einem Agenten einer zweiten Komponente 108. Die zweite Zustandsinformation kann nach der ersten Zustandsinformation empfangen werden, oder die erste Zustandsinformation kann nach der zweiten Zustandsinformation empfangen werden.
  • In einigen Ausführungsformen kann der Überwachungsserver 200 bestimmen, dass die erste Komponente 108 und die zweite Komponente 108 verschiedene Komponenten basierend auf den Komponenten-IDs sind. Die erste Komponenten-ID der ersten Komponente 108 kann mit der ersten Zustandsinformation bei 510 empfangen werden, und die zweite Komponenten-ID für die zweite Komponente 108 kann mit der zweiten Zustandsinformation 520 empfangen werden. Der Server 200 vergleicht die Komponenten-IDs und bestimmt, dass die erste Komponente 108 und die zweite Komponente 108 unterschiedlich sind, wenn die Komponenten-IDs nicht übereinstimmen, und bestimmt, dass die erste und zweite Komponente 108 die gleichen sind, wenn die Komponenten-IDs übereinstimmen.
  • Der Überwachungsserver 200 bestimmt 530, ob die erste Boot-ID 114 mit der zweiten Boot-ID 114 übereinstimmt. Als Reaktion auf das Bestimmen, dass die ersten und zweiten Boot-IDs 114 übereinstimmen (oder anderweitig entsprechen), bestimmt 540 der Überwachungsserver 200, dass die erste Komponente 108 und die zweite Komponente 108 auf einem Host 106 gemeinsam angeordnet sind. In einigen Ausführungsformen kann der Überwachungsserver 200 bestimmen, ob die erste Boot-ID 114 und die zweite Boot-ID 114 innerhalb eines Zeitfensters empfangen wurden (z.B. der Zeitraum, in dem ein Betriebssystem 110 in den Speicher des Host 106 geladen wird und somit eine bestimmte Boot-ID verwendet). Wenn der Überwachungsserver 200 bestimmt, dass die erste und zweite Boot-ID innerhalb eines Zeitfensters empfangen wurden und übereinstimmen, können die erste und zweite Boot-ID 114 als entsprechend zu Komponenten auf dem gleichen Host 106 bestimmt werden. Im Gegensatz dazu, wenn zwei identische Boot-IDs 114 außerhalb des Zeitfensters empfangen werden, kann der Überwachungsserver 200 bestimmen, dass sie nicht übereinstimmen, oder kann weitere Analysen durchführen, um so die aktuelle Boot-ID des Betriebssystems durch Kommunikation mit einem Agenten zu bestätigen.
  • Der Überwachungsserver 200 ordnet 550 die erste Zustandsinformation und die zweite Zustandsinformation dem identifizierten Host 106 zu. Zum Beispiel können die erste Komponente und die zweite Komponente als gemeinsam angeordnet zugeordnet werden (z.B. durch Boot-ID). Nachfolgende Änderungen der von einer der Komponenten empfangenen Boot-ID können an Zuordnungen anderer Komponenten weitergegeben werden.
  • Der Überwachungsserver 200 erzeugt 560 aggregierte Zustandsinformation für den Host 106 unter Verwendung der ersten und zweiten Zustandsinformation. Zum Beispiel kann die Zustandsinformation von gemeinsam angeordneten Komponenten kombiniert werden, um eine Information über den Host bereitzustellen. Zum Beispiel, wenn gemeinsam angeordnete Komponenten Container mit Anwendungs-Servern sind, dann kann die Zustandsinformation von jeder der Anwendungen, wie Antwortzeit, Anzahl der Anfragen, Bandbreitenauslastung usw., über die gemeinsam angeordneten Komponenten im Host hinweg kombiniert werden, um eine Zustandsinformation oder andere Analysen, die auf der Zustandsinformation basiert, auf einer per Host-Basis bereitzustellen.
  • Zurück zu 530, wenn die erste Boot-ID 114 und die zweite Boot-ID 114 nicht mit 530 übereinstimmen, bestimmt 570 der Überwachungsserver 200, dass die erste Komponente 108 und die zweite Komponente 108 auf verschiedenen Hosts 106 angeordnet sind. Zum Beispiel arbeiten mehrere Hosts 106 gleichzeitig in separaten Bootsitzungen, die jeweils durch eine eindeutige Boot-ID identifiziert werden. Wenn verschiedene Boot-IDs von verschiedenen Komponenten 108 empfangen werden, dann können die Komponenten 108 so bestimmt werden, dass sie auf verschiedenen Hosts 106 sind.
  • Der Überwachungsserver 200 die 580 die erste Zustandsinformation und die zweite Zustandsinformation verschiedenen Hosts 106 zu. Zum Beispiel kann die erste Zustandsinformation anderen Zustandsinformationen zugeordnet werden, die mit der ersten Boot-ID empfangen wurden, und die zweite Zustandsinformation kann anderen Zustandsinformationen zugeordnet werden, die mit der zweiten Boot-ID empfangen wurden.
  • 6 veranschaulicht einen Prozess 600 zur Handhabung neuer Bootsitzungen in einem Host gemäß einer Ausführungsform. Der Prozess 600 beinhaltet das Empfangen verschiedener Instanzen eines Zustandsinformationsrahmens einer Komponente, die sich auf einem einzelnen Host befindet. Wenn eine neue Instanz einer Zustandsinformation für eine Komponente, die zuvor einer Boot-ID zugeordnet war, in Verbindung mit einer anderen Boot-ID empfangen wird, kann bestimmt werden, dass der Host eine neue Bootsitzung gestartet hat. Die vorherige Boot-ID kann als veraltet identifiziert werden, und andere Komponenten, die der veralteten Boot-ID zugeordnet sind, können aktualisiert werden, um Zuordnungen zur neuen Boot-ID zu beinhalten. Wenn die Boot-ID ein großer Zufallswert ist, ist die Wahrscheinlichkeit von Kollisionen der Boot-ID zu einem beliebigen Zeitpunkt gering, auch wenn der Überwachungsserver 200 mehrere Hosts 106 und Komponenten 108 überwacht. Zum Beispiel kann der Überwachungsserver neue Instanzen von Boot-IDs nur mit aktiven, nicht veralteten Boot-IDs vergleichen.
  • Der Überwachungsserver 200 empfängt 610 erste Zustandsinformation und eine erste Boot-ID 114 von einem Agenten 112 einer ersten Komponente 108. Der Überwachungsserver 200 ordnet 620 die erste Zustandsinformation einem Host 106 basierend auf der ersten Boot-ID 114 zu.
  • Der Überwachungsserver 200 empfängt 630 zweite Zustandsinformation und eine zweite Boot-ID 114 von einem Agenten der ersten Komponente 108. Die zweite Zustandsinformation wird nach der ersten Zustandsinformation empfangen. Wie vorstehend erläutert, kann eine von dem Agenten 112 an den Überwachungsserver 200 übertragene Komponenten-ID verwendet werden, um die Komponenten 108 eindeutig zu identifizieren. So bestimmt der Überwachungsserver 200, dass die erste und zweite Zustandsinformation und die erste und zweite Boot-ID 114 von derselben Komponente 108 stammen. Die erste und zweite Zustandsinformation können durch den selben Agenten 112 oder einen anderen Agenten 112 übertragen werden. Zum Beispiel kann der Agent, der die zweite Zustandsinformation und die Boot-ID 114 sendet, derselbe Agent sein, der die erste Zustandsinformation und die Boot-ID 114 in Schritt 610 gesendet hat. In einem weiteren Beispiel können mehrere Agenten eine Komponente überwachen oder ein Agent kann einer anderen Komponente neu zugeordnet werden.
  • Der Überwachungsserver bestimmt 640, ob die erste Boot-ID 114 mit der zweiten Boot-ID 114 übereinstimmt. Als Reaktion auf das Bestimmen, dass die erste Boot-ID 114 nicht mit der zweiten Boot-ID übereinstimmt, ordnet 650 der Überwachungsserver 200 dem Host 106 die zweite Boot-ID 114 zu. Wenn die Komponente 108 im gleichen Host ausgeführt wird, kann bestimmt werden, dass sich die Boot-ID für den Host geändert hat, und somit eine neue Bootsitzung gestartet wurde.
  • Der Überwachungsserver 200 ordnet 660 die zweite Zustandsinformation dem Host 106 zu. Zum Beispiel können sowohl die erste als auch die zweite Zustandsinformation dem gleichen Host 106 zugeordnet sein, auch wenn eine andere Boot-ID empfangen wurde. Somit behält der Server 200 die Identifizierung von gemeinsam angeordneten Containern in Hosts effizient bei, auch wenn die Hosts Neustartvorgänge zu intermittierenden, unbekannten oder ungeplanten Zeiten durchführen.
  • Der Überwachungsserver 200 erzeugt 670 aggregierte Zustandsinformation für den Host 106 unter Verwendung der ersten Zustandsinformation und der dem Host 106 zugeordneten zweiten Zustandsinformation. Die aggregierte Zustandsinformation für den Host 106 wird durch die Verarbeitung mehrerer Instanzen einer Zustandsinformation erzeugt, die als dem Host 106 zugeordnet identifiziert wurde.
  • Zurück zu 640, als Reaktion auf das Bestimmen, dass die erste Boot-ID mit der zweiten Boot-ID übereinstimmt, ordnet 660 der Überwachungsserver 200, die zweite Zustandsinformation dem Host 106 zu. Die Boot-ID hat sich nicht geändert, was anzeigt, dass sich der Host in der gleichen Bootsitzung befindet, und dass auch andere Komponenten 108, von denen bekannt ist, dass sie gemeinsam im Host angeordnet sind, die gleiche Boot-ID zurückgeben sollten. Der Überwachungsserver 200 erzeugt 670 dann aggregierte Zustandsinformation für den Host 106 unter Verwendung der ersten Zustandsinformation und der zweiten Zustandsinformation, die dem Host 106 zugeordnet sind.
  • 7 ist ein hochrangiges Blockdiagramm, das ein Beispiel für einen Computer 700 darstellt, gemäß einer Ausführungsform. Der Computer 700 ist ein Beispiel für eine Schaltung, die Komponenten des Überwachungssystems 102, der Client-Vorrichtung 104 oder der Hosts 106 implementiert. Gezeigt sind mindestens ein Prozessor 702, der mit einem Chipsatz 704 gekoppelt ist. Der Chipsatz 704 beinhaltet einen Speicher-Controller-Hub 720 und einen Ein-/Ausgabe-(I/O-)Controller-Hub 722. Ein Speicher 706 und ein Graphikadapter 712 sind mit dem Speicher-Controller-Hub 720 gekoppelt, und eine Anzeigevorrichtung 718 ist mit dem Graphikadapter 712 gekoppelt. Eine Speichervorrichtung 708, eine Tastatur 710, eine Zeigevorrichtung 714 und ein Netzwerkadapter 716 sind mit dem I/O-Controller-Hub 722 gekoppelt. Andere Ausführungsformen des Computers 700 haben unterschiedliche Architekturen. Zum Beispiel ist der Speicher 706 in einigen Ausführungsformen direkt mit dem Prozessor 702 gekoppelt.
  • Die Speichervorrichtung 708 beinhaltet ein oder mehrere nichtflüchtige, computerlesbare Speichermedien, wie z.B. eine Festplatte, einen Compact Disk Nur-Lese-Speicher („CD-ROM“), eine DVD oder eine Festkörper-Speichervorrichtung. Der Speicher 706 enthält Anweisungen und Daten, die vom Prozessor 702 verwendet werden. Die Zeigevorrichtung 714 wird in Kombination mit der Tastatur 710 zur Eingabe von Daten in das Computersystem 700 verwendet. Der Grafikadapter 712 zeigt Bilder und andere Informationen auf der Anzeigevorrichtung 718 an. In einigen Ausführungsformen beinhaltet die Anzeigevorrichtung 718 eine Touchscreen-Funktion zum Empfangen von Benutzereingaben und Auswahlen. Der Netzwerkadapter 716 koppelt das Computersystem 700 an das Netzwerk 124. Einige Ausführungsformen des Computers 700 weisen unterschiedliche und/oder andere Komponenten auf als die in 7 gezeigten.
  • Der Computer 700 ist angepasst, zum Ausführen von Computerprogrammmodulen zur Bereitstellung hierin beschriebener Funktionalität. Zum Beispiel können einige Ausführungsformen eine Rechenvorrichtung mit einem oder mehreren Modulen beinhalten, die konfiguriert sind, um die in den 4, 5 und 6 gezeigten Prozesse 400, 500 und 600 auszuführen. Wie hierin verwendet, bezieht sich der Begriff „Modul“ auf Computerprogrammanweisungen und/oder andere Logik, die verwendet werden, um die spezifizierte Funktionalität bereitzustellen. Dadurch kann ein Modul in Hardware, Firmware und/oder Software implementiert werden. In einer Ausführungsform werden Programmmodule, die aus ausführbaren Computerprogrammanweisungen bestehen, auf der Speichervorrichtung 708 gespeichert, in den Speicher 706 geladen und vom Prozessor 702 ausgeführt.
  • 8A ist ein schematisches Diagramm eines Hosts der Boot-IDs beinhaltet, gemäß einer Ausführungsform. Die Komponente ist ein (z.B. Linux) Container, der mit standardmäßigem, unprivilegiertem Zugriff auf den zugrundeliegenden Host 800 und sein Betriebssystem ausgeführt wird. Der zugrundeliegende Host 800 erzeugt eine 32-stellige Boot-ID, die für jeden Container zugänglich ist. Die 32-stellige Boot-ID kann alphanumerische Zeichen in jeder Ziffer enthalten, um eine große Anzahl möglicher eindeutiger Boot-IDs bereitzustellen. In der in 8A dargestellten Ausführungsform ist die Boot-ID 28980862-3263-4f7ca154-bf2d67a731ac für die Container #1, #2, #3 und #4 zugänglich. In anderen Ausführungsformen kann eine größere oder kleinere Anzahl von Containern auf einem zugrundeliegenden Host 800 ausgeführt werden. Andere Ausführungsformen können auch eine größere oder kleinere Anzahl von Ziffern beinhalten, die eine eindeutige Boot-ID umfassen.
  • 8B ist ein schematisches Diagramm des Hosts von 8A der aktualisierte Boot-IDs beinhaltet, gemäß einer Ausführungsform. Ein Neustart, Start oder ein anderer Prozess auf dem Host, kann zu einer neuen Bootsitzung und Boot-ID führen. Eine aktualisierte Boot-ID kann als Reaktion auf einen Neustart, einen Start oder einen anderen Prozess erzeugt werden, der zu einer neuen Bootsitzung auf dem zugrundeliegenden Host 800 führen kann. Die aktualisierte Boot-ID des zugrundeliegenden Hosts 800 ist für jeden der Container zugänglich, die gemeinsam auf dem zugrundeliegenden Host 800 angeordnet sind. In der in 8B dargestellten Ausführungsform ist die aktualisierte Boot-ID d66020a3-9e47-4eee-bcbe-2d6c8b56c587 für die Container #1, #2, #3 und #4 zugänglich. In anderen Ausführungsformen kann eine größere oder kleinere Anzahl von Containern auf einem zugrundeliegenden Host 800 ausgeführt werden. Andere Ausführungsformen können auch eine größere oder kleinere Anzahl von Ziffern mit einer eindeutigen Boot-ID beinhalten.
  • ABSCHLUSS
  • Die vorstehende Beschreibung der Ausführungsformen der Offenbarung wurde zur Veranschaulichung vorgelegt; sie soll nicht abschließend sein oder die Offenlegung auf die genau offenbarten Formulare beschränken. Fachkundige Personen können sich darüber im Klaren sein, dass aufgrund der oben genannten Offenbarung viele Änderungen und Variationen möglich sind.
  • Einige Teile dieser Beschreibung beschreiben die Ausführungsformen der Offenbarung in Form von Algorithmen und symbolischen Darstellungen von Operationen an Informationen. Diese algorithmischen Beschreibungen und Darstellungen werden von Fachkundigen Personen der Datenverarbeitungsbranche häufig verwendet, um die Substanz ihrer Arbeit effektiv an andere Fachkundige Personen weiterzugeben. Diese Operationen, obwohl funktional, rechnerisch oder logisch beschrieben, werden als durch Computerprogramme oder gleichwertige elektrische Schaltungen, Mikrocodes oder dergleichen ausgeführt. Die beschriebenen Operationen können in Software, Firmware, Hardware oder einer beliebigen Kombination davon ausgeführt werden.
  • Alle hierin beschriebenen Schritte, Operationen oder Prozesse können mit einem oder mehreren Hard- oder Softwaremodulen, allein oder in Kombination mit anderen Geräten, durchgeführt oder implementiert werden. In einer Ausführungsform ist ein Softwaremodul mit einem Computerprogrammprodukt implementiert, das ein computerlesbares Medium umfasst, das einen Computerprogrammcode enthält, der von einem Computerprozessor ausgeführt werden kann, um einen oder alle der beschriebenen Schritte, Operationen oder Prozesse auszuführen.
  • Ausführungsformen der Offenbarung können sich auch auf eine Vorrichtung zur Durchführung der hierin beschriebenen Vorgänge beziehen. Diese Vorrichtung kann speziell für die erforderlichen Zwecke konstruiert sein und/oder eine Mehrzweck-Computervorrichtung umfassen, die selektiv durch ein im Computer gespeichertes Computerprogramm aktiviert oder rekonfiguriert wurde. Ein solches Computerprogramm kann auf einem greifbaren, computerlesbaren Speichermedium oder jeder Art von Medien, die zur Speicherung elektronischer Anweisungen geeignet sind, gespeichert und an einen Computersystembus gekoppelt werden. Des Weiteren können alle in der Spezifikation genannten Computersysteme einen einzelnen Prozessor beinhalten oder Architekturen sein, die zur Erhöhung der Rechenleistung Mehrfach-Prozessor-Designs verwenden.
  • Schließlich wurde die in der Spezifikation verwendete Sprache hauptsächlich zur Lesbarkeit und zu Anweisungszwecken ausgewählt, und sie wurde möglicherweise nicht ausgewählt, um den erfinderischen Gegenstand abzugrenzen oder zu umschreiben. Es ist daher beabsichtigt, den Umfang der Offenbarung nicht durch diese detaillierte Beschreibung, sondern durch alle Ansprüche, die sich auf eine darauf basierende Anwendung beziehen, zu begrenzen. Dementsprechend soll die Offenbarung der Ausführungsformen der Offenbarung den Umfang der Erfindung illustrieren, aber nicht einschränken.

Claims (20)

  1. Verfahren, umfassend: Empfangen einer ersten Zustandsinformation über eine erste Komponente und eine erste Bootkennung von einem Agenten der ersten Komponente, die auf einem Host ausgeführt wird, wobei die erste Bootkennung von dem Host erzeugt wird, um eine Bootsitzung des Hosts zu identifizieren, die für den Agenten von dem Host aus zugänglich ist; Bestimmen, ob die erste Bootkennung mit einer zweiten Bootkennung übereinstimmt, die einer zweiten Zustandsinformation über eine zweite Komponente zugeordnet ist; und als Reaktion auf das Bestimmen, dass die erste Bootkennung mit der zweiten Bootkennung übereinstimmt: Bestimmen der ersten Komponente und der zweiten Komponente als auf dem Host gemeinsam angeordnet; Zuordnen der ersten Zustandsinformation der ersten Komponente und der zweiten Zustandsinformation der zweiten Komponente zu dem Host; und Erzeugen einer aggregierten Zustandsinformation für den Host unter Verwendung der ersten Zustandsinformation und der zweiten Zustandsinformation, die dem Host zugeordnet sind.
  2. Verfahren nach Anspruch 1, ferner umfassend: Empfangen, von dem Agenten, einer ersten Komponentenkennung in Verbindung mit der Bootkennung, wobei die erste Komponentenkennung die erste Komponente identifiziert; und als Reaktion auf das Bestimmen, dass die erste Bootkennung mit der zweiten Bootkennung übereinstimmt, Zuordnen der ersten Komponentenkennung zu dem Host.
  3. Verfahren nach Anspruch 2, ferner umfassend: Empfangen einer dritten Bootkennung von dem Agenten der ersten Komponente, die auf dem Host ausgeführt wird, nach dem Empfangen der ersten und zweiten Bootkennung; Bestimmen, ob die erste Bootkennung der ersten Komponente mit der dritten Bootkennung der ersten Komponente übereinstimmt; und als Reaktion auf das Bestimmen, dass die erste Bootkennung nicht mit der dritten Bootkennung übereinstimmt: Zuordnen des Hosts zu der dritten Bootkennung; und Erzeugen einer aggregierten Zustandsinformation für den Host unter Verwendung der ersten Zustandsinformation, der zweiten Zustandsinformation und der dritten Zustandsinformation, die dem Host zugeordnet sind.
  4. Verfahren nach Anspruch 1, wobei: Empfangen der ersten Zustandsinformation Empfangen einer ersten Komponentenkennung beinhaltet; Empfangen der dritten Zusatzinformation eine zweite Komponentenkennung beinhaltet; Bestimmen, ob die erste Bootkennung der ersten Komponente mit der dritten Bootkennung der ersten Komponente übereinstimmt, das Bestimmen beinhaltet, dass die erste Zustandsinformation und die dritte Zustandsinformation die erste Komponente unter Verwendung der ersten Komponentenkennung und der zweiten Komponentenkennung betrachten.
  5. Verfahren nach Anspruch 1, ferner umfassend: als Reaktion auf das Bestimmen, dass die erste Bootkennung nicht mit der zweiten Bootkennung übereinstimmt, Zuordnen der ersten Zustandsinformation der ersten Komponente zu dem Host und der zweiten Zustandsinformation der zweiten Komponente zu einem zweiten Host.
  6. Verfahren nach Anspruch 1, wobei die erste Bootkennung einen Zufallswert beinhaltet, der als Reaktion auf ein Hochfahren des Hosts erzeugt wird.
  7. Verfahren nach Anspruch 1, wobei der Host mindestens eine beinhaltet von: einer Servermaschine, einer virtuellen Maschine oder einer Cloud-Instanz.
  8. Verfahren nach Anspruch 1, wobei die erste Komponente ein Container ist, der auf dem Host ausgeführt wird.
  9. Verfahren nach Anspruch 8, wobei die erste Zustandsinformation Information über den Container oder eine in dem Container ausgeführte Anwendung beinhaltet.
  10. Verfahren nach Anspruch 1, wobei der Agent die erste Bootkennung aus einem zugänglichen Verzeichnis in dem Host abruft und die erste Bootkennung mit der ersten Zustandsinformation sendet.
  11. Verfahren nach Anspruch 1, wobei der Agent eine Anforderung für die erste Bootkennung an ein Betriebssystem des Hosts sendet und die erste Bootkennung von dem Betriebssystem als Reaktion auf die Anforderung empfängt.
  12. Verfahren nach Anspruch 1, wobei ein Betriebssystem des Hosts der ersten Komponente eine Komponentenkennung zuordnet, die für den auf dem Host ausführenden Agenten nicht zugänglich ist.
  13. Nichtflüchtiges, computerlesbares Speichermedium mit darauf kodierten Anweisungen, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, die folgenden Schritte auszuführen, die Schritte beinhaltend: Empfangen einer ersten Zustandsinformation über die erste Komponente und eine erste Bootkennung von einem Agenten einer ersten Komponente, die auf einem Host ausgeführt wird, wobei die erste Bootkennung von dem Host erzeugt wird, um eine Bootsitzung des Hosts zu identifizieren und dem Agenten von dem Host aus zugänglich ist; Bestimmen, ob die erste Bootkennung mit einer zweiten Bootkennung übereinstimmt, die einer zweiten Zustandsinformation über eine zweite Komponente zugeordnet ist; und als Reaktion auf das Bestimmen, dass die erste Bootkennung mit der zweiten Bootkennung übereinstimmt: Bestimmen der ersten Komponente und der zweiten Komponente als auf dem Host gemeinsam angeordnet; Zuordnen der ersten Zustandsinformation der ersten Komponente und der zweiten Zustandsinformation der zweiten Komponente zu dem Host; und Erzeugen einer aggregierten Zustandsinformation für den Host unter Verwendung der ersten Zustandsinformation und der zweiten Zustandsinformation, die dem Host zugeordnet sind.
  14. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 13, ferner umfassend: Empfangen, von einem Agenten, einer ersten Komponentenkennung in Verbindung mit der Bootkennung von dem Agenten, wobei die erste Komponentenkennung die erste Komponente identifiziert; und als Reaktion auf das Bestimmen, dass die erste Bootkennung mit der zweiten Bootkennung übereinstimmt, Zuordnen der ersten Komponentenkennung zu dem Host.
  15. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 14, ferner umfassend: Empfangen einer dritten Bootkennung von dem Agenten der ersten Komponente, die auf dem Host ausgeführt wird, nach dem Empfangen der ersten und zweiten Bootkennungen; Bestimmen, ob die erste Bootkennung der ersten Komponente mit der dritten Bootkennung der ersten Komponente übereinstimmt; und als Reaktion auf das Bestimmen, dass die erste Bootkennung nicht mit der dritten Bootkennung übereinstimmt: Zuordnen des Hosts zur dritten Bootkennung; und Erzeugen einer aggregierten Zustandsinformation für den Host unter Verwendung der ersten Zustandsinformation, der zweiten Zustandsinformation und der dritten Zustandsinformation, die dem Host zugeordnet sind.
  16. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 13, wobei: Empfangen der ersten Zustandsinformation Empfangen einer ersten Komponentenkennung beinhaltet; Empfangen der dritten Zustandsinformation eine zweite Komponentenkennung beinhaltet; und Bestimmen, ob die erste Bootkennung der ersten Komponente mit der dritten Bootkennung der ersten Komponente übereinstimmt, Bestimmen beinhaltet, Bestimmen, dass die erste Zustandsinformation und die dritte Zustandsinformation die erste Komponente unter Verwendung der ersten Komponentenkennung und der zweiten Komponentenkennung betrachten.
  17. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 13, ferner umfassend: als Reaktion auf das Bestimmen, dass die erste Bootkennung nicht mit der zweiten Bootkennung übereinstimmt, Zuordnen der ersten Zustandsinformation der ersten Komponente zu dem Host und der zweiten Zustandsinformation der zweiten Komponente zu einem zweiten Host.
  18. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 13, wobei die erste Bootkennung einen Zufallswert beinhaltet, der als Reaktion auf ein Hochfahren des Hosts erzeugt wird.
  19. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 13, wobei der Host mindestens eine beinhaltet von: einer Servermaschine, einer virtuellen Maschine oder einer Cloud-Instanz.
  20. System, umfassend: einen Prozessor, der konfiguriert ist, zum: Empfangen einer ersten Zustandsinformation über die erste Komponente und eine erste Bootkennung von einem Agenten einer ersten Komponente, die auf einem Host ausgeführt wird, wobei die erste Bootkennung vom Host erzeugt wird, um eine Bootsitzung des Hosts zu identifizieren und die dem Agenten von dem Host aus zugänglich ist; Bestimmen, ob die erste Bootkennung mit einer zweiten Bootkennung übereinstimmt, die einer zweiten Zustandsinformation über eine zweite Komponente zugeordnet ist; und als Reaktion auf das Bestimmen, dass die erste Bootkennung mit der zweiten Bootkennung übereinstimmt: Bestimmen der ersten Komponente und der zweiten Komponente als auf dem Host gemeinsam angeordnet; Zuordnen der ersten Zustandsinformation der ersten Komponente und der zweiten Zustandsinformation der zweiten Komponente zu dem Host; und Erzeugen einer aggregierten Zustandsinformation für den Host unter Verwendung der ersten Zustandsinformation und der zweiten Zustandsinformation, die dem Host zugeordnet sind.
DE112018002837.2T 2017-08-31 2018-08-06 Überwachung für gemeinsam angeordnete container in einem hostsystem Active DE112018002837B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762553062P 2017-08-31 2017-08-31
US62/553,062 2017-08-31
US15/900,741 US10671405B2 (en) 2017-08-31 2018-02-20 Monitoring for co-located containers in a host system
US15/900,741 2018-02-20
PCT/US2018/045400 WO2019045955A1 (en) 2017-08-31 2018-08-06 MONITORING CO-LOCATED CONTAINERS IN A HOST SYSTEM

Publications (2)

Publication Number Publication Date
DE112018002837T5 true DE112018002837T5 (de) 2020-02-27
DE112018002837B4 DE112018002837B4 (de) 2022-03-10

Family

ID=65437240

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018002837.2T Active DE112018002837B4 (de) 2017-08-31 2018-08-06 Überwachung für gemeinsam angeordnete container in einem hostsystem

Country Status (7)

Country Link
US (1) US10671405B2 (de)
JP (1) JP6821089B2 (de)
AU (1) AU2018324403B2 (de)
DE (1) DE112018002837B4 (de)
IL (1) IL271482B (de)
SG (1) SG11201912513PA (de)
WO (1) WO2019045955A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429733B2 (en) * 2018-11-15 2022-08-30 International Business Machines Corporation Sharing secret data between multiple containers

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892750B1 (en) * 2006-01-03 2014-11-18 Emc Corporation Transparent HBA replacement
US8037291B2 (en) * 2007-01-29 2011-10-11 Hewlett-Packard Development Company, L.P. Master boot record management
FR2916881B1 (fr) 2007-05-31 2010-09-17 Oberthur Card Syst Sa Entite electronique portable, station hote et procede associe
US8904002B2 (en) 2007-09-28 2014-12-02 International Business Machines Corporation Reducing overhead in component interactions
US8949423B2 (en) 2007-09-28 2015-02-03 International Business Machines Corporation Autonomically co-locating first and second components on a select server
US7886050B2 (en) 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US8046443B2 (en) 2008-08-21 2011-10-25 Red Hat, Inc. Rapid deployment remote network monitor
US8495354B2 (en) * 2008-09-24 2013-07-23 Hewlett-Packard Development Company, L.P. Apparatus for determining during a power-on sequence, a value to be written to a first register in a secure area and the same value to a second register in non-secure area, which during a protected mode, the value is compared such that if it is equal, enabling writing to a memory
US8782242B2 (en) 2011-10-13 2014-07-15 Vmware, Inc. Software application placement using computing resource containers
US8767737B2 (en) * 2011-11-30 2014-07-01 Industrial Technology Research Institute Data center network system and packet forwarding method thereof
US9152532B2 (en) 2012-08-07 2015-10-06 Advanced Micro Devices, Inc. System and method for configuring a cloud computing system with a synthetic test workload
US9626253B1 (en) * 2014-06-26 2017-04-18 Veritas Technologies Llc Autonomous container group management for scale out deduplication system
US9477409B2 (en) * 2014-06-27 2016-10-25 Intel Corporation Accelerating boot time zeroing of memory based on non-volatile memory (NVM) technology
US9928080B2 (en) 2014-09-30 2018-03-27 International Business Machines Corporation Hardware security module access management in a cloud computing environment
US10803175B2 (en) * 2015-03-06 2020-10-13 Microsoft Technology Licensing, Llc Device attestation through security hardened management agent
US10346189B2 (en) * 2016-12-05 2019-07-09 Red Hat, Inc. Co-locating containers based on source to improve compute density
US10396997B2 (en) * 2016-12-14 2019-08-27 International Business Machines Corporation Container-based operating system and method

Also Published As

Publication number Publication date
JP2020532006A (ja) 2020-11-05
SG11201912513PA (en) 2020-01-30
IL271482B (en) 2021-07-29
AU2018324403A1 (en) 2020-02-13
US10671405B2 (en) 2020-06-02
US20190065214A1 (en) 2019-02-28
JP6821089B2 (ja) 2021-01-27
DE112018002837B4 (de) 2022-03-10
WO2019045955A1 (en) 2019-03-07
AU2018324403B2 (en) 2020-07-23
IL271482A (en) 2020-01-30

Similar Documents

Publication Publication Date Title
DE112012003496B4 (de) Schnelles Bereitstellen von virtuellen Maschinen auf der Grundlage von mehrdimensionalen Benutzeranforderungsmustern in einer Cloud
DE102005049055B4 (de) Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE112019005729T5 (de) Erkennen von sicherheitsrisiken in zusammenhang mit einer software-komponente
DE112014007090T5 (de) Verfahren und systeme zum automatischen tagging anhand von software-ausführungs-traces
DE112017007656T5 (de) Verschobene aktualisierung von datenbank-hashcode in einer blockchain
DE112011103498T5 (de) Verhaltensgestützte Client-Auswahl für unterschiedliche Behandlung
DE112020004651B4 (de) Multi-tenant-etl-ressourcenaufteilung
DE102020112531A1 (de) Operationelle metrische Berechnung für Arbeitsbelastungstyp
DE102021130957A1 (de) Empfehlungen zur stabilität von software-aktualisierungen
DE102014108049A1 (de) Intelligente Abfragehäufigkeit
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE202017105367U1 (de) Abfrageneustartfähigkeit
DE112013006588T5 (de) Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür
DE112016007336T5 (de) Informationsverarbeitungsvorrichtung, Vorrichtungszuweisungsverfahren undVorrichtungszuweisungsprogramm
DE112012004926T5 (de) Gemeinsame Speichernutzung durch Prozessoren
DE112012006412T5 (de) System zur verteilten Datensuche, Verfahren zur verteilten Datensuche und Managementcomputer
DE112013005768T5 (de) Wiederherstellen einer vorhergehenden Version eines Virtual-Machine-Images
DE102013100054A1 (de) Verlagern von zusammengehörigen Ressourcenpartitionen
DE102006046717A1 (de) Dynamisch migrierende Kanäle
DE112019005043T5 (de) Streamzuweisung unter verwendung von stream-guthaben
DE112018002837B4 (de) Überwachung für gemeinsam angeordnete container in einem hostsystem
DE112021001648T5 (de) Prioritätsbestimmungssystem, Prioritätsbestimmungsverfahren und Programm
DE102013205739A1 (de) Programmgestütztes lastbasiertes verwalten der prozessorbelegung
DE102012210064A1 (de) Verwalten von aus Geschäftsobjekten erzeugten Ereignissen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final