Recuperare i file di log delle applicazioni
I file di log sono un'ottima risorsa per gli sviluppatori Web, ma solo se si è in grado di trovare e usare le informazioni registrate. In questa unità vengono analizzati i metodi che è possibile usare per recuperare le informazioni registrate per l'analisi offline.
Posizioni di archiviazione dei file di log
L'infrastruttura di Azure usata per eseguire le app Web di Azure non è la stessa usata per le app di Linux e i file di log non vengono archiviati negli stessi percorsi.
File di log delle app di Windows
Per le app di Windows, i file di log del file system vengono archiviati in un'unità virtuale associata all'app Web. Questa unità è indirizzabile come D:\Home e include una cartella LogFiles al cui interno sono presenti una o più sottocartelle:
- Application: contiene i messaggi generati dall'applicazione, se è abilitata la registrazione delle applicazioni nel file system.
- DetailedErrors: contiene i log dettagliati degli errori del server Web, se sono abilitati i messaggi di errore dettagliati.
- HTTP - Contiene i log a livello di IIS, se la registrazione del server Web è abilitata.
- Numero<W3SCV>: contiene i dettagli di tutte le richieste HTTP non riuscite, se è abilitata la traccia delle richieste non riuscite.
Se è abilitata l'archiviazione in un contenitore BLOB, i log vengono archiviati nelle cartelle relative ad anno, mese, data e ora, ad esempio:
2019
01
10
08 - log entries for the period 08:00:00 to 08:59:59 on January 10th 2019
09 - log entries for the period 09:00:00 to 09:59:59 on January 10th 2019
All'interno della cartella dell'ora sono presenti uno o più file CSV contenenti i messaggi salvati entro quel periodo di 60 minuti.
File di log delle app di Linux
Per le app Web di Linux, gli strumenti di Azure attualmente supportano meno opzioni di registrazione rispetto alle app di Windows. Il reindirizzamento a STDERR e STDOUT viene gestito attraverso il contenitore Docker sottostante che esegue l'app e i messaggi vengono archiviati in file di log di Docker. Per visualizzare i messaggi registrati dai processi sottostanti, ad esempio Apache, è necessario aprire una connessione SSH al contenitore Docker.
Metodi per il recupero dei file di log
Il modo in cui si recuperano i file di log dipende dal tipo di file di log, nonché dall'ambiente preferito. Per i log del file system è possibile usare l'interfaccia della riga di comando di Azure o la console Kudu. Kudu è il motore alla base di una serie di funzionalità nel servizio app di Azure relative alla distribuzione basata sul controllo del codice sorgente.
Interfaccia della riga di comando di Azure
Per scaricare i file di log del file system usando l'interfaccia della riga di comando di Azure, per prima cosa copiare i file di log dal file system dell'app nella risorsa di archiviazione di Cloud Shell e quindi eseguire il comando seguente.
az webapp log download --log-file \<_filename_\>.zip --resource-group \<_resource group name_\> --name \<_app name_\>
Per scaricare i file di log compressi nel computer locale, usare lo strumento di download e upload dei file sulla barra degli strumenti di Cloud Shell. Una volta scaricati, i file possono essere aperti in Microsoft Excel o in altre app.
Nota
Il download dall'interfaccia della riga di comando di Azure include tutti i log dell'app, ad eccezione delle tracce delle richieste non riuscite.
Kudu
A tutte le app Web di Azure è associato un sito del servizio Gestione controllo codice sorgente. Questo sito esegue il servizio Kudu e altre estensioni del sito. Kudu gestisce la distribuzione e la risoluzione dei problemi per le app Web di Azure, con opzioni per la visualizzazione e il download di file di log. Le funzionalità specifiche disponibili in Kudu e le modalità di download dei log dipendono dal tipo di app Web. Per le app di Windows è possibile passare al percorso dei file di log e quindi scaricare i log. Per le app di Linux, potrebbe esserci un collegamento per il download.
Per accedere alla console Kudu, è possibile passare a https://<nome app>.scm.azurewebsites.net e quindi accedere usando le credenziali per la distribuzione.
È anche possibile accedere a Kudu dal portale di Azure. Nella sezione Strumenti di sviluppo del menu del Servizio app selezionare Strumenti avanzati e quindi selezionare Vai nel riquadro Strumenti avanzati per aprire una nuova scheda dei Servizi Kudu.
Per scaricare i file di log dalle app di Windows:
Selezionare Console di debug e quindi CMD.
Nella sezione di esplorazione file selezionare LogFiles e per la cartella Application selezionare Download. I log vengono scaricati nel computer come Application.zip.
Per le app di Linux, selezionare il collegamento di download nella pagina Ambiente.
Browser di Archiviazione di Azure
Per accedere ai log di Windows salvati in un contenitore di Archiviazione BLOB di Azure, è possibile usare il portale di Azure. Per visualizzare e scaricare il contenuto del contenitore di file di log, scegliere Account di archiviazione dal menu del portale. Selezionare l'account di archiviazione e quindi Browser archiviazione. Aprire il tipo di contenitore di archiviazione, ad esempio contenitori BLOB, e selezionare il nome del contenitore BLOB che contiene il file di log. All'interno del contenitore aprire la cartella di anno, mese, data e ora pertinente, quindi fare doppio clic su un file CSV per scaricarlo nel computer.
Se nel computer è presente Microsoft Excel, il file di log viene aperto automaticamente come foglio di lavoro di Excel. In caso contrario, è possibile aprire il file con un editor di testo, ad esempio il Blocco note.