Eventi
Creare app e agenti di intelligenza artificiale
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a:✅ Java ✅ C#
Questo articolo si applica a:✅ Basic/Standard ✅ Enterprise
Questo articolo illustra come analizzare i dati di diagnostica in Azure Spring Apps.
Usando la funzionalità di diagnostica di Azure Spring Apps, è possibile analizzare log e metriche con uno dei servizi seguenti:
Scegliere la categoria di log e la categoria di metriche da monitorare.
Suggerimento
Se si desidera solo riprodurre in streaming i log, è possibile usare il comando dell'interfaccia della riga di comando di Azure az spring app logs.
Log | Descrizione |
---|---|
ApplicationConsole | Log della console di tutte le applicazioni dei clienti. |
SystemLogs | I valori LogType disponibili sono ConfigServer (solo Basic/Standard), ServiceRegistry (tutti i piani), ApiPortal (solo piano Enterprise), ApplicationConfigurationService (solo piano Enterprise), SpringCloudGateway (solo piano Enterprise) e SpringCloudGatewayOperator (solo piano Enterprise) |
IngressLogs | Log di ingresso di tutte le applicazioni del cliente, solo i log di accesso. |
BuildLogs | Log di compilazione di tutte le applicazioni del cliente per ogni fase di compilazione. |
Nota
Per proteggere l'applicazione da potenziali perdite di credenziali, tutti i contenuti del log con credenziali o altre informazioni riservate vengono mascherati con ***
. Ad esempio, qualsiasi contenuto del log con i modelli seguenti viene gestito come informazioni riservate e i valori corrispondenti vengono mascherati:
dbpass
, password
, key
, secret
, sig
e signature
seguito da :
o =
. Questi modelli vengono in genere visualizzati nei parametri URL e nei dump del payload. Ad esempio https://somestorage.blob.core.windows.net?sv=2021-08-06&st=2024-04-30T10%3A01%3A19Z&se=2024-04-30T11%3A01%3A19Z&sr=b&sp=r&sig=xxxxxxxxxxxxxx
diventa https://somestorage.blob.core.windows.net?sv=2021-08-06&st=2024-04-30T10%3A01%3A19Z&se=2024-04-30T11%3A01%3A19Z&sr=b&sp=r&sig=***
eyJxxxxxx.eyJxxxxxx
Se si trovano valori mascherati nei log, assicurarsi di aggiornare il codice dell'applicazione per eliminare la perdita di credenziali.
Per un elenco completo delle metriche, vedere la sezione Opzioni metriche utente di Metriche per Azure Spring Apps.
Per iniziare, abilitare uno di questi servizi per ricevere i dati. Per informazioni sulla configurazione di Log Analytics, vedere Introduzione a Log Analytics in Monitoraggio di Azure.
Nel portale di Azure andare all'istanza di Azure Spring Apps.
Selezionare l'opzione Impostazioni di diagnostica e successivamente Aggiungi impostazione di diagnostica.
Immettere un nome per l'impostazione quindi scegliere dove inviare i log. È possibile selezionare qualsiasi combinazione tra le seguenti opzioni:
Scegliere la categoria di log e la categoria di metriche da monitorare quindi specificare il tempo di conservazione (in giorni). Il tempo di conservazione si applica solo all'account di archiviazione.
Seleziona Salva.
Nota
Potrebbe esserci un intervallo di fino a 15 minuti tra quando vengono generati log o metriche e quando vengono visualizzati nell'account di archiviazione, nell'hub eventi o in Log Analytics. Se l'istanza di Azure Spring Apps viene eliminata o spostata, l'operazione non verrà propagata alle risorse delle impostazioni di diagnostica. Le risorse delle impostazioni di diagnostica devono essere eliminate manualmente prima dell'operazione sul relativo elemento padre, l'istanza di Azure Spring Apps. In caso contrario, se viene effettuato il provisioning di una nuova istanza di Azure Spring Apps con lo stesso ID risorsa di quello eliminato o se l'istanza di Azure Spring Apps viene spostata di nuovo, le risorse delle impostazioni di diagnostica precedenti continuano a estenderla.
Esistono diversi metodi per visualizzare i log e le metriche, come descritto nelle intestazioni seguenti.
Nel portale di Azure andare all'istanza di Azure Spring Apps.
Per aprire il riquadro Ricerca log, selezionare Log.
Nella casella di ricerca Tabelle usare una delle query seguenti:
Per visualizzare i log, immettere una query come l'esempio seguente:
AppPlatformLogsforSpring
| limit 50
Per visualizzare le metriche, immettere una query come l'esempio seguente:
AzureMetrics
| limit 50
Per visualizzare il risultato della ricerca, selezionare Esegui.
Nel riquadro sinistro del portale di Azure selezionare Log Analytics.
Selezionare l'area di lavoro Log Analytics scelta quando sono state aggiunte le impostazioni di diagnostica.
Per aprire il riquadro Ricerca log, selezionare Log.
Nella casella di ricerca Tabelle usare una delle query seguenti:
Per visualizzare i log, immettere una query come l'esempio seguente:
AppPlatformLogsforSpring
| limit 50
Per visualizzare le metriche, immettere una query come l'esempio seguente:
AzureMetrics
| limit 50
Per visualizzare il risultato della ricerca, selezionare Esegui.
È possibile eseguire ricerche nei log dell'applicazione o dell'istanza specifica impostando una condizione di filtro, come illustrato nell'esempio seguente:
AppPlatformLogsforSpring
| where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName"
| limit 50
Nota
==
fa distinzione tra maiuscole e minuscole, ma =~
no.
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 Esplora dati di Azure.
Per altre informazioni sull'invio di informazioni di diagnostica a un account di archiviazione, vedere Archiviare e visualizzare i dati di diagnostica in Archiviazione di Azure.
Nel portale di Azure trovare Hub eventi nel pannello di spostamento sinistro o nella casella di ricerca.
Cercare e selezionare l'hub eventi scelto quando sono state aggiunte le impostazioni di diagnostica.
Per aprire il riquadro Elenco hub eventi, selezionare Hub eventi.
Per esaminare i log delle applicazioni, cercare un hub eventi denominato insights-logs-applicationconsole.
Per esaminare le metriche dell'applicazione, cercare un hub eventi denominato insights-metrics-pt1m.
Per altre informazioni sull'invio di informazioni di diagnostica a un hub eventi, vedere Riproduzione in streaming dei dati di Diagnostica di Azure nel percorso critico usando Hub eventi.
Azure Log Analytics è in esecuzione con un motore Kusto in modo da poter eseguire query sui log per l'analisi. Per un'introduzione rapida all'esecuzione di query sui log con Kusto, vedere l'esercitazione su Log Analytics.
I log dell'applicazione forniscono informazioni cruciali e dettagliate sull'integrità, le prestazioni e altro ancora. Nelle sezioni successive sono riportate alcune semplici query che consentono di comprendere gli stati correnti e passati dell'applicazione.
Per esaminare un elenco di log dell'applicazione in App Spring di Azure, ordinati in base all'ora con quelli più recenti visualizzati per primi, eseguire la query seguente:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc
Per esaminare le voci di log non ordinate che menzionano un errore o un'eccezione, eseguire la query seguente:
AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"
Usare questa query per trovare gli errori o modificare i termini della query per trovare codici di errore o eccezioni specifici.
Per creare un grafico a torta che visualizza il numero di errori ed eccezioni registrati dall'applicazione nell'ultima ora, eseguire la query seguente:
AppPlatformLogsforSpring
| where TimeGenerated > ago(1h)
| where Log contains "error" or Log contains "exception"
| summarize count_per_app = count() by AppName
| sort by count_per_app desc
| render piechart
Per esaminare le voci di log generate da un host specifico, eseguire la query seguente:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and Host == "ingress-asc.test.azuremicroservices.io"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Usare questa query per trovare la risposta Status
, RequestTime
e altre proprietà dei log di ingresso dell'host specifico.
Per esaminare le voci di log per un valore <request_ID>
specificorequestId
, eseguire la query seguente:
AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>"
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated
Per esaminare le voci di log per un'app specifica durante il processo di compilazione, eseguire la query seguente:
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>"
| sort by TimeGenerated
Per esaminare le voci di log per un'app specifica in una fase di compilazione specifica, eseguire la query seguente. Sostituire il segnaposto <app-name>
con il nome dell'applicazione. Sostituire il segnaposto <build-stage>
con uno dei valori seguenti, che rappresentano le fasi del processo di compilazione: prepare
, detect
, restore
, analyze
, build
, export
o completion
.
AppPlatformBuildLogs
| where TimeGenerated > ago(1h) and PodName contains "<app-name>" and ContainerName == "<build-stage>"
| sort by TimeGenerated
Per esaminare le voci di log per i log di VMware Spring Cloud Gateway nel piano Enterprise, eseguire la query seguente:
AppPlatformSystemLogs
| where LogType == "SpringCloudGateway"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Un altro componente, denominato Spring Cloud Gateway Operator, controlla il ciclo di vita di Spring Cloud Gateway e le route. Se si verificano problemi con la route che non ha effetto, controllare i log per questo componente. Per esaminare le voci di log per VMware Spring Cloud Gateway Operator nel piano Enterprise, eseguire la query seguente:
AppPlatformSystemLogs
| where LogType == "SpringCloudGatewayOperator"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Per esaminare le voci di log per i log del servizio di configurazione dell'applicazione per Tanzu nel piano Enterprise, eseguire la query seguente:
AppPlatformSystemLogs
| where LogType == "ApplicationConfigurationService"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Per esaminare le voci di log per i log del Registro di sistema del servizio Tanzu nel piano Enterprise, eseguire la query seguente:
AppPlatformSystemLogs
| where LogType == "ServiceRegistry"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Per esaminare le voci di log per il portale API per i log di VMware Tanzu nel piano Enterprise, eseguire la query seguente:
AppPlatformSystemLogs
| where LogType == "ApiPortal"
| project TimeGenerated , LogType, Level , ServiceName , Thread , Stack , Log , _ResourceId
| limit 100
Monitoraggio di Azure offre un supporto completo per l'esecuzione di query sui log applicazioni tramite Log Analytics. Per altre informazioni su questo servizio, vedere Introduzione alle query di log in Monitoraggio di Azure. Per altre informazioni sulla creazione di query per analizzare i log dell'applicazione, vedere Panoramica delle query di log in Monitoraggio di Azure.
Seguire questa procedura per andare al riquadro Log Analytics con query predefinite:
Andare alla pagina Panoramica per l'istanza del servizio Azure Spring Apps e selezionare App nel riquadro di spostamento.
Trovare l'app di destinazione quindi selezionare il menu di scelta rapida.
Nel menu di scelta rapida a comparsa selezionare Visualizza log.
Questa azione consente di andare al riquadro Log Analytics con query predefinite.
Esistono altri punti di ingresso per visualizzare i log. È anche possibile trovare il pulsante Visualizza log per i componenti gestiti, ad esempio Compila servizio e Registro di sistema dei servizi.
Esiste una soluzione alternativa per convertire le tracce dello stack su più righe in una singola riga. È possibile modificare l'output del log Java per riformattare i messaggi di analisi dello stack, sostituendo i caratteri di nuova riga con un token. Se si usa la libreria di logback Java, è possibile riformattare i messaggi di analisi dello stack aggiungendo %replace(%ex){'[\r\n]+', '\\n'}%nopex
come segue:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
level: %level, message: "%logger{36}: %msg", exceptions: "%replace(%ex){'[\r\n]+', '\\n'}%nopex"%n
</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
È quindi possibile sostituire il token con caratteri di nuova riga in Log Analytics, come illustrato nell'esempio seguente:
AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')
Potrebbe essere possibile usare la stessa strategia per altre librerie di log Java.
Eventi
Creare app e agenti di intelligenza artificiale
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoFormazione
Percorso di apprendimento
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization