Condividi tramite


Strumento di diagnostica Java (diag4j) nel servizio Azure Kubernetes

Questo articolo offre una panoramica dello strumento di diagnostica Java (diag4j) nel servizio Azure Kubernetes. Lo strumento diag4j è una soluzione leggera di monitoraggio e diagnostica non invadente per le applicazioni Java in esecuzione nel servizio Azure Kubernetes.

Vantaggi principali

Lo strumento diag4j offre i vantaggi principali seguenti:

  • Leggero e non invasivo: sfruttando Spring Boot Admin (SBA) e Java Attach Agent, lo strumento è efficiente in termini di risorse e non richiede modifiche approfondite alle applicazioni.
  • Integrazione automatica di Kubernetes: lo strumento individua automaticamente i pod con endpoint attuatori esposti, elencandoli sul dashboard SBA.
  • Metriche e diagnostica in tempo reale: lo strumento visualizza le metriche delle applicazioni in tempo reale, lo stato di Garbage Collection (GC) e le variabili di ambiente. È anche possibile modificare i livelli di log in modo dinamico per ottenere informazioni più approfondite su problemi specifici.
  • Diagnostica avanzata: lo strumento offre funzionalità di diagnostica avanzate, ad esempio l'ispezione dello stack, la visualizzazione delle variabili locali, la generazione di heap e i dump dei thread e l'inserimento di log in modo dinamico per la risoluzione dei problemi.
  • Compatibilità dell'IDE: lo strumento si integra con gli IDE per abilitare il debug senza dover ricompilare o ridistribuire l'applicazione, consentendo la risoluzione dei problemi semplificata.

Architettura

Lo strumento diag4j è costituito dai componenti seguenti:

  • Il server di amministrazione di Spring Boot ha un ruolo di sola lettura all'interno dello spazio dei nomi per individuare e monitorare automaticamente i pod che espongono gli endpoint degli actuator.
  • Java Attach Agent, che è un agente Java leggero che si collega all'esecuzione di processi Java, abilitando le funzionalità di diagnostica senza riavviare l'applicazione.

Per mantenere la sicurezza durante la fase corrente, questi componenti non vengono esposti pubblicamente. È possibile accedere allo strumento tramite il comando kubectl port-forward.

Diagramma dell'architettura diag4j.

Passaggi successivi