Teilen über


Das Java-Diagnosetool (diag4j) auf Azure Kubernetes Service (AKS)

Dieser Artikel enthält eine Übersicht über das Java-Diagnosetool (diag4j) in Azure Kubernetes Service (AKS). Das diag4j-Tool ist eine einfache, nicht intrusive Überwachung und Diagnoselösung für Java-Anwendungen, die auf Azure Kubernetes Service ausgeführt werden.

Wichtige Vorteile

Das diag4j-Tool bietet die folgenden wichtigsten Vorteile:

  • Leicht und nichtinvasiv: Durch die Nutzung des Spring Boot Admin (SBA) und des Java Attach-Agents ist das Tool ressourceneffizient und erfordert keine tiefen Änderungen an Anwendungen.
  • Automatische Kubernetes-Integration: Das Tool erkennt Pods mit freigegebenen Aktorendpunkten automatisch und listet sie im SBA-Dashboard auf.
  • Echtzeitmetriken und Diagnose: Das Tool zeigt Anwendungsmetriken in Echtzeit, Garbage Collection (GC)-Status und Umgebungsvariablen an. Sie können außerdem die Protokollierungsebenen dynamisch anpassen, um detailliertere Einblicke zu spezifischen Probleme zu erhalten.
  • Erweiterte Diagnose: Das Tool bietet erweiterte Diagnosefunktionen, z. B. Stapelüberwachungsüberprüfung, Anzeigen lokaler Variablen, Generieren von Heap- und Threadabbildern und dynamisches Einfügen von Protokollen zur Problembehandlung.
  • IDE-Kompatibilität: Das Tool ist in IDEs integriert, um das Debuggen zu ermöglichen, ohne die Anwendung neu zu erstellen oder erneut bereitzustellen, wodurch eine optimierte Problembehandlung ermöglicht wird.

Architektur

Das Tool diag4j besteht aus den folgenden Komponenten:

  • Der Spring Boot Admin-Server hat eine schreibgeschützte Rolle in seinem Namespace, um Pods, die Aktorendpunkte freigeben, automatisch zu erkennen und zu überwachen.
  • Der Java Attach-Agent, ein einfacher Java-Agent, der an ausgeführte Java-Prozesse anfügt und Diagnosefunktionen ermöglicht, ohne die Anwendung neu zu starten.

Um die Sicherheit während des aktuellen Meilensteins aufrechtzuerhalten, werden diese Komponenten nicht öffentlich verfügbar gemacht. Sie können über den Befehl kubectl port-forward auf das Tool zugreifen.

Diagramm der diag4j-Architektur.

Nächste Schritte