Abilita registrazione diagnostica
Sono disponibili funzionalità di diagnostica integrate per facilitare il debug di un'app del servizio app. In questa lezione viene descritto come abilitare la registrazione diagnostica e aggiungere strumentazione all'applicazione e come accedere alle informazioni registrate da Azure.
La tabella seguente illustra i tipi di registrazione, le piattaforme supportate e dove è possibile archiviare e individuare i log per accedere alle informazioni.
Tipo | Piattaforma | Titolo | Descrizione |
---|---|---|---|
Registrazione di applicazioni | Windows, Linux | File system del servizio app e/o BLOB di Archiviazione di Azure | Registra i messaggi generati dal codice dell'applicazione. I messaggi vengono generati dal framework Web scelto o dal codice dell'applicazione direttamente usando il modello di registrazione standard del linguaggio. A ogni messaggio viene assegnata una delle categorie seguenti: Critico, Errore, Avviso, Informativo, Debug e Traccia. |
Registrazione server Web | Windows | File system del servizio app o BLOB di Archiviazione di Azure | Dati di richiesta HTTP non elaborati nel formato di file di log esteso W3C. Ogni messaggio di log include dati come il metodo HTTP, l'URI delle risorse, l'IP client, la porta client, l'agente utente, il codice di risposta e così via. |
Messaggi di errore dettagliati | Windows | File system del servizio app | Copie delle pagine di errore HTML che sarebbero state inviate al browser client. Per motivi di sicurezza, le pagine di errore dettagliate non devono essere inviate ai client in produzione, ma il servizio app può salvare la pagina di errore ogni volta che si verifica un errore dell'applicazione con codice HTTP 400 o superiore. |
Traccia delle richieste non riuscite | Windows | File system del servizio app | Informazioni di traccia dettagliate sulle richieste non riuscite, inclusa una traccia dei componenti IIS usati per elaborare la richieste e il tempo impiegato in ogni componente. Viene generata una cartella per ogni richiesta non riuscita, che contiene il file di log XML e il foglio di stile XSL con cui visualizzare il file di log. |
Registrazione della distribuzione | Windows, Linux | File system del servizio app | Consente di determinare il motivo per cui una distribuzione non è riuscita. La registrazione della distribuzione viene eseguita automaticamente e non sono disponibili impostazioni configurabili per la registrazione della distribuzione. |
Abilitare la registrazione applicazioni (Windows)
Per abilitare la registrazione applicazioni per le app di Windows nel portale di Azure, passare all'app e selezionare Log del servizio app.
Selezionare On per Registrazione applicazioni (file system) o Registrazione applicazione (BLOB) o entrambe le opzioni. L'opzione File system è destinata al debug temporaneo e si disattiva dopo 12 ore. L'opzione BLOB è destinata alla registrazione a lungo termine e richiede un contenitore di archiviazione BLOB in cui scrivere i registri.
Nota
Se si rigenerano le chiavi di accesso dell'account di archiviazione, è necessario reimpostare la configurazione di registrazione corrispondente per l'uso delle chiavi di accesso aggiornate. A tale scopo, disattivare la funzionalità di registrazione e quindi riattivarla.
È anche possibile impostare il Livello dei dettagli inclusi nel log, come illustrato nella tabella seguente.
Livello Categorie incluse Disabilitato None Errore Errore, Errore critico Avvertenza Avviso, Errore, Errore critico Informazioni Informazioni, Avviso, Errore, Errore critico Verbose Analisi, Debug, Informazioni, Avviso, Errore, Errore critico (tutte le categorie) Al termine, seleziona Salva.
Abilitare la registrazione applicazioni (Linux/contenitori)
In Log del servizio app impostare l'opzione Registrazione applicazioni su File system.
In Quota (MB) specificare la quota del disco per i registri dell'applicazione. In Periodo di conservazione (giorni) impostare il numero di giorni per cui devono essere mantenuti i registri.
Al termine, seleziona Salva.
Abilitare la registrazione del server Web
Per Registrazione server Web selezionare Archiviazione per archiviare i log nell'Archiviazione BLOB oppure File system per archiviare i log nel file system del servizio app.
In Periodo di conservazione (giorni) impostare il numero di giorni per cui devono essere mantenuti i registri.
Al termine, seleziona Salva.
Aggiungere messaggi di log nel codice
Nel codice dell'applicazione si usano le normali funzionalità di registrazione per inviare messaggi di log ai log dell'applicazione. Ad esempio:
Le applicazioni ASP.NET possono usare la classe
System.Diagnostics.Trace
per registrare le informazioni nel log di diagnostica applicazioni. Ad esempio:System.Diagnostics.Trace.TraceError("If you're seeing this, something bad happened");
Per impostazione predefinita, ASP.NET Core usa il provider di registrazione
Microsoft.Extensions.Logging.AzureAppServices
.Le applicazioni Python possono usare il pacchetto OpenCensus per inviare i log al log di diagnostica dell'applicazione.
Trasmettere i log
Prima di trasmettere i log in tempo reale, abilitare il tipo di log desiderato. Lo streaming di qualsiasi informazione scritta nei file con estensione TXT, LOG o HTM archiviati nella directory /LogFiles
(d:/home/logfiles
) viene eseguito dal servizio app.
Nota
Alcuni tipi di buffer di registrazione scrivono nel file di log, producendo nel caso eventi di "fuori servizio" nel flusso. Ad esempio, una voce del log di applicazione che si verifica quando un utente visita una pagina può essere visualizzata nel flusso prima della corrispondente voce di log HTTP per la richiesta della pagina.
Portale di Azure - Per eseguire lo streaming dei log nel portale di Azure, passare all'app e selezionare Flusso di registrazione.
Interfaccia della riga di comando di Azure - Per eseguire lo streaming di log live in Cloud Shell, usare il comando seguente:
az webapp log tail --name appname --resource-group myResourceGroup
Console locale - Per eseguire lo streaming dei log nella console locale, installare l'interfaccia della riga di comando di Azure e accedere all'account. Dopo l'accesso, seguire le istruzioni descritte per l'interfaccia della riga di comando di Azure.
Accedere ai file di log
Se si configura l'opzione BLOB di Archiviazione di Azure per un tipo di log, è necessario uno strumento client compatibile con Archiviazione di Azure.
Per i log archiviati nel file system del servizio app, il modo più semplice consiste nello scaricare il file ZIP nel browser in:
- App Linux/contenitore:
https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip
- App Windows:
https://<app-name>.scm.azurewebsites.net/api/dump
Per le app Linux/contenitore, il file ZIP contiene i log di output della console per l'host Docker e il contenitore Docker. Per le app con scale-out, il file ZIP contiene un set di log per ogni istanza. Nel file system del servizio app questi file di log sono i contenuti della directory /home/LogFiles.