Guida introduttiva: Monitoraggio delle app Azure Spring con log, metriche e traccia
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: ✔️ Basic/Standard ❌ Enterprise
Con la funzionalità di monitoraggio predefinita in Azure Spring Apps, è possibile eseguire il debug e il monitoraggio di problemi complessi. Azure Spring Apps integra la traccia distribuita Steeltoe con Application Insights di Azure. Questa integrazione fornisce log, metriche e funzionalità di traccia distribuita avanzate dal portale di Azure.
Le procedure seguenti illustrano come usare lo streaming di log, l'analisi dei log, le metriche e la traccia distribuita con l'app di esempio distribuita negli argomenti di avvio rapido precedenti.
Prerequisiti
Completare gli argomenti di avvio rapido precedenti di questa serie:
- Effettuare il provisioning di un'istanza del servizio Azure Spring Apps.
- Guida introduttiva: Configurare Spring Cloud Config Server per Azure Spring Apps.
- Compilare e distribuire app in App Spring di Azure.
- Configurare un'area di lavoro Log Analytics.
Registri
Esistono due modi per visualizzare i log in Azure Spring Apps: streaming dei log in tempo reale per ogni istanza dell'app o Log Analytics per i log aggregati con funzionalità di query avanzate.
Streaming dei log
È possibile usare lo streaming di log nell'interfaccia della riga di comando di Azure con il comando seguente.
az spring app logs --name solar-system-weather --follow
L'output è simile all'esempio seguente:
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing action method Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather) - Validation state: Valid
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController[0]
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Retrieved weather data from 4 planets
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing ObjectResult, writing value of type 'System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]][]'.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
Suggerimento
Usare az spring app logs -h
per esplorare altri parametri e funzionalità di streaming dei log.
Log Analytics
Nel portale di Azure passare alla pagina servizio | Panoramica e selezionare Log nella sezione Monitoraggio. Selezionare Esegui in una delle query di esempio per Azure Spring Apps.
Modificare la query per rimuovere le clausole Where che limitano la visualizzazione ai log degli errori e degli avvisi.
Selezionare Esegui. Vengono visualizzati i log. Per altre informazioni, vedere Introduzione alle query dei log del Monitoraggio di Azure.
Per altre informazioni sul linguaggio di query usato in Log Analytics, vedere Query di log di Monitoraggio di Azure. Per eseguire query su tutti i log di Log Analytics da un client centralizzato, vedere Azure Esplora dati.
Metrica
Nel portale di Azure passare alla pagina servizio | Panoramica e selezionare Metriche nella sezione Monitoraggio. Aggiungere la prima metrica selezionando una delle metriche .NET in Prestazioni (.NET) o Richiesta (.NET) nell'elenco a discesa Metrica e Media per aggregazione per visualizzare la sequenza temporale per tale metrica.
Selezionare Aggiungi filtro nella barra degli strumenti, selezionare per visualizzare
App=solar-system-weather
l'utilizzo della CPU solo per l'app solar-system-weather .Ignorare il filtro creato nel passaggio precedente, selezionare Applica suddivisione e selezionare App for Values (App per valori) per visualizzare l'utilizzo della CPU da parte di app diverse.
Traccia distribuita
Nel portale di Azure passare alla pagina servizio | Panoramica e selezionare Distributed tracing (Traccia distribuita) nella sezione Monitoraggio. Selezionare quindi la scheda Visualizza mappa delle applicazioni a destra.
A questo punto è possibile visualizzare lo stato delle chiamate tra le app.
Selezionare il collegamento tra solar-system-weather e planet-weather-provider per visualizzare altri dettagli, ad esempio le chiamate più lente da parte dei metodi HTTP.
Selezionare infine Esamina prestazioni per accedere a un'analisi delle prestazioni integrata più avanzata.
Con la funzionalità di monitoraggio predefinita in Azure Spring Apps, è possibile eseguire il debug e il monitoraggio di problemi complessi. Azure Spring Apps integra Spring Cloud Sleuth con Application Insights di Azure. Questa integrazione fornisce log, metriche e funzionalità di traccia distribuita avanzate dal portale di Azure. Le procedure seguenti illustrano come usare Log Streaming, Log Analytics, Metriche e Traccia distribuita con le app PetClinic distribuite.
Prerequisiti
Completare gli argomenti di avvio rapido precedenti di questa serie:
- Effettuare il provisioning di un'istanza del servizio Azure Spring Apps.
- Guida introduttiva: Configurare Spring Cloud Config Server per Azure Spring Apps.
- Compilare e distribuire app in App Spring di Azure.
- Configurare un'area di lavoro Log Analytics.
Registri
Esistono due modi per visualizzare i log in Azure Spring Apps: streaming dei log in tempo reale per ogni istanza dell'app o Log Analytics per i log aggregati con funzionalità di query avanzate.
Streaming dei log
È possibile usare lo streaming di log nell'interfaccia della riga di comando di Azure con il comando seguente.
az spring app logs \
--resource-group <resource-group-name> \
--service <service-instance-name> \
--name api-gateway \
--follow
I log vengono visualizzati come segue:
Suggerimento
Usare az spring app logs -h
per esplorare altri parametri e funzionalità di streaming dei log.
Per altre informazioni sul linguaggio di query usato in Log Analytics, vedere Query di log di Monitoraggio di Azure. Per eseguire query su tutti i log di Log Analytics da un client centralizzato, vedere Azure Esplora dati.
Log Analytics
Passare alla pagina service | Overview (servizio | Panoramica) e selezionare Logs (Log) nella sezione Monitoring (Monitoraggio). Selezionare Esegui in una delle query di esempio per Azure Spring Apps.
Vengono quindi visualizzati i log filtrati. Per altre informazioni, vedere Introduzione alle query dei log del Monitoraggio di Azure.
Metrica
Passare alla pagina Application Insights e quindi passare alla pagina Metriche . È possibile visualizzare le metriche fornite dalle app Spring Boot, dai moduli Spring e dalle dipendenze.
Il grafico seguente mostra gateway_requests
(Spring Cloud Gateway), hikaricp_connections
(JDBC Connessione ions) e http_client_requests
.
Spring Boot registra diverse metriche principali, tra cui JVM, CPU, Tomcat e Logback. La configurazione automatica di Spring Boot consente la strumentazione delle richieste gestite da Spring MVC. Tutti e tre i controller REST (OwnerResource
, PetResource
e VisitResource
) vengono instrumentati dall'annotazione @Timed
Micrometer a livello di classe.
L'applicazione customers-service
dispone delle metriche personalizzate seguenti abilitate:
- @Timed:
petclinic.owner
- @Timed:
petclinic.pet
L'applicazione visits-service
dispone delle metriche personalizzate seguenti abilitate:
- @Timed:
petclinic.visit
È possibile visualizzare queste metriche personalizzate nella pagina Metriche :
È possibile usare la funzionalità Test di disponibilità in Application Insights e monitorare la disponibilità delle applicazioni:
Passare alla pagina Metriche attive per visualizzare le metriche in tempo reale con latenze basse (meno di un secondo):
Traccia
Aprire Application Insights creato da Azure Spring Apps e avviare il monitoraggio delle applicazioni Spring.
Passare alla pagina Mappa applicazioni:
Passare alla pagina Prestazioni :
Passare alla scheda Dipendenze , in cui è possibile visualizzare il numero di prestazioni per le dipendenze, in particolare le chiamate SQL:
Selezionare una chiamata SQL per visualizzare la transazione end-to-end nel contesto:
Passare alla pagina Errori e alla scheda Eccezioni , in cui è possibile visualizzare una raccolta di eccezioni:
Selezionare un'eccezione per visualizzare la transazione end-to-end e stacktrace nel contesto:
Pulire le risorse
Se si prevede di usare le guide di avvio rapido e le esercitazioni successive, è consigliabile non cancellare le risorse create. Quando non è più necessario, eliminare il gruppo di risorse per eliminare tutte le risorse contenute al suo interno. Per eliminare il gruppo di risorse usando l'interfaccia della riga di comando di Azure, usare i comandi seguenti:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
In un argomento di avvio rapido precedente è stato anche impostato il nome del gruppo di risorse predefinito. Se non si prevede di continuare con l'argomento di avvio rapido successivo, cancellare tale impostazione predefinita eseguendo il comando dell'interfaccia della riga di comando seguente:
az config set defaults.group=
Passaggi successivi
Per esplorare altre funzionalità di monitoraggio di Azure Spring Apps, vedere:
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per