Come monitorare le app Spring Boot con Dynatrace Java OneAgent

Nota

Azure Spring Apps è il nuovo nome del servizio Azure Spring Cloud. Anche se il servizio ha un nuovo nome, il nome precedente verrà visualizzato in alcune posizioni per un po' mentre si lavora per aggiornare gli asset, ad esempio screenshot, video e diagrammi.

Questo articolo si applica a: ✔️ Consumo standard e dedicato (anteprima) ✔️ Basic/Standard ❌️ Enterprise

Questo articolo illustra come usare Dynatrace OneAgent per monitorare le applicazioni Spring Boot in Azure Spring Apps.

Con Dynatrace OneAgent è possibile:

  • Monitorare le app con Dynatrace OneAgent.
  • Configurare Dynatrace OneAgent usando le variabili di ambiente.
  • Controllare tutti i dati di monitoraggio dal dashboard Dynatrace.

Il video seguente presenta Dynatrace OneAgent.


Prerequisiti

Attivare Dynatrace OneAgent

Le sezioni seguenti descrivono come attivare Dynatrace OneAgent.

Preparare l'ambiente di Azure Spring Apps

  1. Creare un'istanza di Azure Spring Apps.
  2. Creare un'applicazione che si vuole segnalare a Dynatrace eseguendo il comando seguente. Sostituire i segnaposto <...> con i propri valori.
    az spring app create \
        --resource-group <your-resource-group-name> \
        --service <your-Azure-Spring-Apps-name> \
        --name <your-application-name> \
        --is-public true
    

Determinare i valori per le variabili di ambiente necessarie

Per attivare Dynatrace OneAgent nell'istanza di Azure Spring Apps, è necessario configurare quattro variabili di ambiente: DT_TENANT, DT_TENANTTOKENDT_CONNECTION_POINT, e DT_CLUSTER_ID. Per altre informazioni, vedere Integrare OneAgent con Azure Spring Apps.

Per le applicazioni con più istanze, Dynatrace offre diversi modi per raggrupparli. DT_CLUSTER_ID è uno dei modi. Per altre informazioni, vedere Rilevamento dei gruppi di processi.

Aggiungere le variabili di ambiente all'applicazione

È possibile aggiungere le coppie chiave/valore della variabile di ambiente all'applicazione usando il portale di Azure o l'interfaccia della riga di comando di Azure.

Opzione 1: Interfaccia della riga di comando di Azure

Per aggiungere le coppie chiave/valore usando l'interfaccia della riga di comando di Azure, eseguire il comando seguente, sostituendo i segnaposto <...> con i valori determinati nei passaggi precedenti.

az spring app deploy \
    --resource-group <your-resource-group-name> \
    --service <your-Azure-Spring-Apps-name> \
    --name <your-application-name> \
    --artifact-path app.jar \
    --env \
        DT_TENANT=<your-environment-ID> \
        DT_TENANTTOKEN=<your-tenant-token> \
        DT_CONNECTION_POINT=<your-communication-endpoint>

Opzione 2: portale di Azure

Per aggiungere le coppie chiave/valore usando il portale di Azure, seguire questa procedura:

  1. Nell'istanza di Azure Spring Apps selezionare App nel riquadro di spostamento.

    Screenshot del portale di Azure che mostra la pagina App per un'istanza di Azure Spring Apps.

  2. Selezionare l'applicazione dall'elenco e quindi selezionare Configurazione nel riquadro di spostamento.

  3. Usare la scheda Variabili di ambiente per aggiungere o aggiornare le variabili usate dall'applicazione.

    Screenshot del portale di Azure che mostra la pagina Configurazione per un'app con la scheda Variabili di ambiente selezionata.

Automatizzare il provisioning

Con terraform, bicep o il modello di Azure Resource Manager è anche possibile eseguire una pipeline di automazione del provisioning. Questa pipeline può offrire un'esperienza pratica completa per instrumentare e monitorare tutte le nuove applicazioni create e distribuite.

Automatizzare il provisioning con Terraform

Per configurare le variabili di ambiente in un modello Terraform, aggiungere il codice seguente al modello, sostituendo i <segnaposto ...> con i propri valori. Per altre informazioni, vedere Gestire una distribuzione di App Azure Spring attive.

environment_variables = {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Automatizzare il provisioning con un file Bicep

Per configurare le variabili di ambiente in un file Bicep, aggiungere il codice seguente al file, sostituendo i <segnaposto ...> con i propri valori. Per altre informazioni, vedere Microsoft.AppPlatform Spring/apps/deployments.

environmentVariables: {
  DT_TENANT: '<your-environment-ID>'
  DT_TENANTTOKEN: '<your-tenant-token>'
  DT_CONNECTION_POINT: '<your-communication-endpoint>'
  DT_CLUSTER_ID: '<your-cluster-ID>'
}

Automatizzare il provisioning usando un modello di Resource Manager

Per configurare le variabili di ambiente in un modello di Resource Manager, aggiungere il codice seguente al modello, sostituendo i <segnaposto ...> con i propri valori. Per altre informazioni, vedere Microsoft.AppPlatform Spring/apps/deployments.

"environmentVariables": {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Visualizzare i report in Dynatrace

Questa sezione descrive come trovare vari report in Dynatrace.

Nota

Il menu Dynatrace e l'interfaccia utente si evolveranno gradualmente. Per questo motivo, il dashboard può essere spostato in altre sezioni del sito Web Dynatrace e gli screenshot seguenti potrebbero non riflettere la versione corrente dell'interfaccia utente.

Dopo aver aggiunto le variabili di ambiente all'applicazione, Dynatrace inizia a raccogliere i dati. Per visualizzare i report, usare il menu Dynatrace, passare a Servizi e quindi selezionare l'applicazione.

È possibile trovare il flusso del servizio dal< flusso nome-app>/Dettagli/Servizio:

Screenshot del report del flusso del servizio Dynatrace.

È possibile trovare gli hotspot del metodo dall'hotspot <your-app-name>/Details/Method:

Screenshot del report Hotspot del metodo Dynatrace.

È possibile trovare le istruzioni database dall'analisi< del tempo di risposta/nome-app>/dettagli/risposta:

Screenshot del report di analisi del tempo di risposta Dynatrace e della sezione Istruzioni database.

Passare quindi alla sezione Analisi multidimensionale.

È possibile trovare le istruzioni principali del database dalle istruzioni di analisi multidimensionali/Database principali:

Screenshot del report delle istruzioni del database Dynatrace Top.

È possibile trovare la panoramica delle eccezioni in Analisi multidimensionale/Eccezioni:

Screenshot del report di panoramica delle eccezioni Dynatrace.

Passare quindi alla sezione Profilatura e ottimizzazione .

È possibile trovare l'analisi della CPU da Profilatura e ottimizzazione/analisi CPU:

Screenshot del report di analisi della CPU Dynatrace.

Passare quindi alla sezione Database .

È possibile trovare Backtrace da Database/Dettagli/Backtrace:

Screenshot del report Dynatrace Backtrace.

Visualizzare i log di Dynatrace OneAgent

Per impostazione predefinita, Azure Spring Apps stampa i log a livello di informazioni di Dynatrace OneAgent su STDOUT. I log vengono misti con i log dell'applicazione. È possibile trovare la versione esplicita dell'agente dai log applicazioni.

È anche possibile ottenere i log dell'agente Dynatrace dalle posizioni seguenti:

  • Log di Azure Spring Apps
  • Azure Spring Apps Application Insights
  • LogStream di App Spring di Azure

È possibile applicare alcune variabili di ambiente fornite da Dynatrace per configurare la registrazione per Dynatrace OneAgent. Ad esempio, DT_LOGLEVELCON controlla il livello di log. Il valore predefinito per DT_LOGLEVELCON è info. È possibile disabilitare i log dell'agente impostando su DT_LOGLEVELCONoff. Se la registrazione è disabilitata, Dynatrace supporta prima di tutto le richieste di registrazione per diagnosticare in modo efficace eventuali problemi dell'agente. È quindi necessario riavviare l'app, necessaria per rendere effettiva la modifica. Per altri livelli di log, consultare il team di supporto di Dynatrace.

Attenzione

È consigliabile non eseguire l'override del comportamento di registrazione predefinito fornito da Azure Spring Apps for Dynatrace. In tal caso, gli scenari di registrazione descritti in precedenza vengono bloccati e i file di log potrebbero andarsi persi. Ad esempio, non è consigliabile inviare la DT_LOGLEVELFILE variabile di ambiente alle applicazioni.

Aggiornamento di Dynatrace OneAgent

L'aggiornamento automatico Dynatrace OneAgent è disabilitato e viene aggiornato trimestralmente con JDK. L'aggiornamento dell'agente può influire sugli scenari seguenti:

  • Le applicazioni esistenti che usano Dynatrace OneAgent prima dell'aggiornamento non vengono modificate, ma richiedono il riavvio o la ridistribuimento per attivare la nuova versione di Dynatrace OneAgent.
  • Le applicazioni create dopo l'aggiornamento usano la nuova versione di Dynatrace OneAgent.

Configurazione del traffico in uscita dell'istanza di inserimento della rete virtuale

Per un'istanza di inserimento di rete virtuale di Azure Spring Apps, è necessario assicurarsi che il traffico in uscita per gli endpoint di comunicazione Dynatrace sia configurato correttamente per Dynatrace OneAgent. Per informazioni su come ottenere communicationEndpoints, vedere Api di distribuzione - Ottenere informazioni sulla connettività per OneAgent. Per altre informazioni, vedere Responsabilità dei clienti per l'esecuzione di App Azure Spring in una rete virtuale.

Modello di supporto dynatrace

Per informazioni sulle limitazioni durante la distribuzione di Dynatrace OneAgent in modalità solo applicazione, vedere la sezione Piattaforme dell'applicazione cloud della piattaforma OneAgent e matrice di supporto delle funzionalità.

Passaggi successivi

Usare l'agente Java In-Process di Application Insights in Azure Spring Apps