Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

PHPz
PHPznach vorne
2023-05-14 15:31:121511Durchsuche

Einführung

Als intelligenter Service-Technologie-Stack von AllInOne bietet UAVStack eine sehr umfassende Überwachungsdaten-Sampling-Funktion und unterstützt Datenüberwachung und Frühwarnung. Vor kurzem haben wir die ursprünglichen Datenerfassungs- und Anzeigefunktionen integriert, JVM-Analysefunktionen hinzugefügt und ein benutzerfreundlicheres JVM-Überwachungs- und Analysetool eingeführt.

Entwickler, die mit JDK vertraut sind, wissen, dass JDK selbst eine Reihe von JVM-Analysetools bereitstellt, darunter Jinfo, Jmap, JStack usw. Benutzer können über die Befehlszeile problemlos JVM-Speicherstapelinformationen, Speicherobjektzuordnung und grundlegende JVM-Startparameterinformationen abrufen. Diese Tools müssen jedoch in der Befehlszeilenumgebung ausgeführt werden und in der Produktionsumgebung über den Bastion-Host weitergeleitet werden.

Einige gute JVM-Analysetools in der Open-Source-Community können auch Funktionen wie das Abrufen grundlegender JVM-Informationen, das Verfolgen von Stapeln und das Abrufen von Speicherinformationen bereitstellen, erfordern jedoch auch die Unterstützung der Befehlszeilen-CLI.

Das von UAVStack eingeführte JVM-Überwachungs- und Analysetool bietet eine seitenbasierte Anzeigemethode zur grafischen Anzeige der gesammelten Überwachungsdaten. Außerdem bietet es grundlegende JVM-Parametererfassung, Speicherauszug, Thread-Analyse und Speicherzuordnungsstichprobe . und Hotspot-Methodenanalyse und andere Funktionen.

1. Architektur

Das JVM-Überwachungs- und Analysetool basiert auf der bestehenden Architektur von UAVStack und ist in Front-End, Back-End und Middleware Enhancement Framework (MOF) unterteilt ). Darunter:

  • Das Frontend ist für die Anzeige von Daten und das Senden von Benutzerausführungsanweisungen an den Hintergrund verantwortlich; 🎜🎜#Der Hintergrund ist für die Erteilung von Anweisungen, die Beantwortung von Benutzeranfragen und die Verarbeitung der gesammelten Daten verantwortlich. Die Daten werden in Dateien geschrieben und dann über die von UAV bereitgestellte Dateiaggregationsfunktion hochgeladen.

  • Der gesamte Architekturprozess ist in der folgenden Abbildung dargestellt:

  • 2. Schlüssel Technologien#🎜 🎜#
  • 2.1 JMX

JMX bietet relevante Schnittstellen zum Abrufen grundlegender JVM-Überwachungsdaten wie Speicher-Heap-Größe, GC-Status usw., die die Grundlage für JVM-Überwachungsdaten bilden .

2.2 Middleware Enhancement Framework (MOF) So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

Als Grundlage für die gesamte Verknüpfung von Analysetools ist MOF von Benutzeranwendungen abhängig und bietet hauptsächlich die folgende grundlegende Unterstützung: #🎜 🎜#

Grundlegende Datenerfassung: Wenn MOF in eine Anwendung implantiert wird, ruft JMX regelmäßig grundlegende Informationsdaten relevanter JVMs ab und meldet diese und stellt so eine Datenbasis für die Anzeige und Frühwarnung bereit.

Anforderungserfassung, Befehlsausführung: Die meisten Funktionen von JVM-Überwachungs- und Analysetools erfordern die Ausgabe von Anweisungen an den Server, auf dem sich die Anwendung befindet. MOF ist dafür verantwortlich, Anweisungen zur Erteilung von Anweisungen abzufangen, auszuführen und entsprechende Ergebnisse zurückzugeben.

    2.3 Java Attach API
  • Java Attach API ist eine Reihe von nicht standardmäßigen APIs, die von Sun bereitgestellt werden und Benutzer mit der Ausführung von On verbinden können Führen Sie im Prozess der virtuellen Maschine Vorgänge wie das Mounten des Agenten aus.

  • Im JVM-Überwachungs- und Analysetool wird die Java Attach API hauptsächlich zum Anhängen an den Prozess der virtuellen Maschine und zum Ausführen der folgenden Vorgänge verwendet:
  • #🎜 🎜#JMX-Verbindung abrufen: JVMConnection von außen abrufen, MXBean abrufen und laufende Daten abrufen. (CPU-Stichprobenanalyse)

Holen Sie sich das VirtualMachine-Objekt: Rufen Sie die Schnittstelle auf, um die Informationen zur Heap-Speicherverteilung abzurufen. (Speicher-Sampling-Analyse)

3. Funktionsanzeige
  • 3.1 Grundlegende Überwachung

    Nach Auswahl der Anwendungsinstanz Enter die grundlegende Überwachungsseite.
  • Auf dieser Seite werden hauptsächlich die CPU-Auslastung, der Thread-Status, die Speichernutzung und der GC-Status angezeigt. Benutzer können den Zeitbereich je nach Bedarf anpassen und Überwachungsdaten in verschiedenen Zeiträumen anzeigen.

3.2 JVM-Zusammenfassung

Auf der JVM-Zusammenfassungsseite werden die grundlegenden Parameterinformationen der aktuellen virtuellen Maschine angezeigt, einschließlich grundlegender Informationen. JVM-Parameter und Systemeigenschaften. Darunter:

Grundlegende Informationen umfassen die grundlegendsten und wichtigsten Informationen wie PID, Hostinformationen, Startparameter und JVM-Startzeit;

JVM-Parameter umfassen alle JVM-Startparameter, einschließlich der angegebenen Heap-Größe, Garbage Collector-Informationen usw.; Schreiben Geben Sie alle Konfigurationsinformationen in System.Properties und die Konfigurationseigenschaften von Javaagent ein. So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

    3.3 Thread-Analyse
  • Thread-Analyse erhält grundlegende Thread-Informationen durch Ausführen von jstack und Analysieren Sie die Ausgabeergebnisse, um Informationen wie die Anzahl der Thread-Zustände und ob es Deadlocks gibt, zu erhalten.

  • 3.4 Speicherauszug
  • Memory Dump ruft die Stack-Dump-Datei der angegebenen JVM durch Ausführen von jmap ab.

    Benutzer können ganz einfach mit einem Klick Dumps im Frontend generieren, ohne sich bei der Bastion-Maschine anmelden zu müssen. Klicken Sie auf „Aktualisieren“, um die letzten Datensätze zu Speicherauszugsvorgängen anzuzeigen.

So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

3.5 CPU-Analyse

Die CPU-Analyse basiert auf der Thread-Stack-Sampling-Analyse und bietet hauptsächlich zwei Funktionen: Thread-Ausführungszeit und Methode Hotspot-Sampling.

  • Die Thread-Ausführungszeit bezieht sich auf die Aktivitätszeit des Threads während des Abtastzeitraums. Die Abfrageergebnisse werden nach der gesamten Thread-Aktivitätszeit sortiert und es werden auch Informationen zum Thread-Namen und zur Thread-Ausführungszeit bereitgestellt, damit Benutzer den Ausführungsstatus der Anwendung beurteilen können.

So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

  • Methoden-Hotspot-Sampling zählt die Ausführungszeit aller Methoden und stellt die Klasse bereit des Methodennamens und Methodennameninformationen. Unter anderem umfasst die Selbstausführungszeit einer Methode nicht die Ausführungszeit der Methode, die andere Methoden aufruft. Die Abfrageergebnisse werden in absteigender Reihenfolge nach der Selbstausführungszeit der Methode sortiert. Benutzer können die längeren Ausführungsmethoden innerhalb der aktuellen Anwendung anzeigen, um festzustellen, ob die Anwendung abnormal ist und optimiert werden muss.

So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

3.6 Speicheranalyse

Die Speicheranalyse basiert auf der statistischen Stichprobenanalyse von Threads und Heaps bietet hauptsächlich zwei Funktionen: Speicherzuweisung für jeden Thread und Details zur In-Heap-Zuweisung.

  • Thread-Speicherzuordnung liefert Informationen wie die Speicherzuteilungsgröße und den Thread-Namen jedes Threads, geordnet in absteigender Reihenfolge entsprechend der Speicherzuteilungsgröße. Benutzer können die Threads anzeigen, die derzeit viel Speicher belegen.

So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

  • In-Heap-Zuweisung liefert die Anzahl der zugewiesenen Instanzen jeder Klasse in der Heap Und der belegte Heap-Speicher, absteigend nach der Größe des Heap-Speichers geordnet. Benutzer können diese Funktion als einfaches Dump- und Analysetool verwenden, um die Speicherzuordnung schnell zu analysieren und Speicherzuordnungsprobleme zu entdecken.

So verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack

Das obige ist der detaillierte Inhalt vonSo verwenden Sie JVM-Überwachungs- und Analysetools in UAVStack. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen