Aggiungere la registrazione e il monitoraggio di una funzione di Azure nel portale

Completato

Ora che la prima funzione Web serverless è stata distribuita con l'archetipo Maven di Funzioni di Azure, l'azienda vuole trovare un modo per analizzare l'utilizzo dell'applicazione con Azure Application Insights.

In questa unità vengono fornite informazioni sullo streaming di log come strumento di base per la risoluzione dei problemi e l'integrazione tra Funzioni di Azure e Application Insights.

Eseguire lo streaming dei log in tempo reale con l'interfaccia della riga di comando di Azure

Dopo che l'app per le funzioni è stata distribuita ed è in esecuzione, È possibile usare il comando seguente dell'interfaccia della riga di comando di Azure per ottenere lo streaming dei log in tempo reale dall'app per la risoluzione dei problemi di base:

az webapp log tail -n <function app name> -g <resource group name>

Il traffico verso l'app per le funzioni potrebbe produrre un log di streaming simile all'esempio seguente:

Image showing Log Streaming from Azure CLI.

Per una risoluzione dei problemi più complessa e uno scenario di monitoraggio, Application Insights è uno strumento più adatto.

Informazioni su Azure Application Insights

Azure Application Insights è un servizio di monitoraggio delle prestazioni applicative (APM, Application Performance Monitoring) incluso in Monitoraggio di Azure ed è integrato con Funzioni di Azure. Application Insights consente agli sviluppatori di visualizzare e analizzare i dati attivi sulle applicazioni mentre vengono usati dai clienti. Application Insights offre un set completo di strumenti che consentono di analizzare e rispondere ai problemi che si possono verificare nell'applicazione.

Application Insights supporta applicazioni sviluppate in Node.js, Java o .NET. Consente al team di sviluppo una maggiore flessibilità e scelta nella struttura e nella compilazione delle applicazioni aziendali.

Application Insights offre informazioni essenziali su richieste non riuscite, tempo di risposta del server, richieste del server e disponibilità. Application Insights è abilitato per impostazione predefinita per Funzioni di Azure. Se si includono punti di rilevamento dei dati di telemetria nel codice, Application Insights può anche usare i dati di telemetria inviati dall'applicazione.

Aggiunta di strumentazione al progetto Java

Per ottenere il meglio da Application Insights, è necessario aggiornare il progetto di funzione. Esistono due tipi di modifiche che è necessario apportare:

  • Il primo set di modifiche è costituito da aggiornamenti alla configurazione eseguiti per aggiungere Application Insights e il supporto di registrazione:

    • Aggiornare il file pom.xml del progetto per aggiungere una dipendenza per la libreria Application Insights.

    • Aggiornare il file host.json del progetto per aggiungere parametri che definiscono il modo in cui si vuole che la registrazione e Application Insights funzionino per l'applicazione.

  • Il secondo set di modifiche è costituito da modifiche al codice dell'applicazione che offrono l'opportunità di ottimizzare il reporting nell'applicazione:

    • Per implementare il rilevamento degli eventi in Application Insights, è necessario aggiungere un registro al codice.

    • I registri vengono aggiunti ai punti critici dell'esecuzione del codice, ad esempio quando viene selezionata una nuova pagina o vengono salvati dati specifici nell'applicazione.

Informazioni sulle opzioni di registrazione e monitoraggio

Il metodo consigliato per l'uso di Application Insights nelle applicazioni per le funzioni è ottimizzare il monitoraggio e il reporting nell'applicazione. Tuttavia, è anche possibile recuperare i dati sul funzionamento delle applicazioni dai log predefiniti disponibili in Azure.

Ad esempio, lo streaming dei log è disponibile selezionando Flusso di log nel menu dell'app per le funzioni. Scegliere quindi Log del file system o Log di App Insights.

Image showing where to find Log Streaming.