Le Azure Function pongono al centro il nostro codice scaricandoci dalla responsabilità di gestire l'hosting e la scalabilità del nostro codice. Tra le tante caratteristiche che abbiamo a disposizione vi è anche la possibilità di agganciare Application Insights (AI) e monitorare le nostre funzioni. Indipendentemente dal linguaggio che utilizziamo, è sufficiente abilitare il motore direttamente sul portale per ottenere il tracciamento delle funzioni, il logging personalizzato e tutte le dipendenze che utilizziamo.
Il comportamento predefinito, però, include alcune informazioni delle quali non sempre necessitiamo, come per esempio le dipendenze su SQL o HTTP, le quali vanno ad ampliare notevolmente la quantità di dati salvati e di conseguenza il costo di AI.
Fortunatamente è possibile personalizzare il motore degli Application Insights agendo tramite il file host.json. Il file è disponibile nei progetti creati automaticamente tramite SDK o è visibile direttamente nel portale entrando nella funzione e alla voce Function app settings.
Nella sezione logging è disponibile una voce applicationInsights con il quale è possibile impostare:
- isEnabled: abilita il sampling, cioè la collezione degli eventi più significati, invece che di tutti gli eventi indistamente. Default è attivo;
- maxTelemetryItemsPerSecond: numero massimo di elementi al secondo. Default è 20;
- EnableLiveMetrics: abilita la metrica live consultabile su AI. Default è attivo;
- EnableDependencyTracking: abilita il tracciamento delle dipendenze. Default è attivo;
- EnablePerformanceCountersCollection[i/]: abilita i contatori e le prestazioni Kudu. Default è attivo.
E' sufficiente apportare la modifica al file o pubblicarlo nuovamente per ottenere i cambiamenti desiderati.
Per maggiori dettagli sul sampling rimandiamo alla documentazione https://docs.microsoft.com/en-us/azure/azure-monitor/app/sampling
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migliora la resilienza delle applicazioni con .NET e Azure Container Apps
Utilizzare Tailwind CSS all'interno di React: primi componenti
Eseguire operazioni con timeout in React
Usare le variabili per personalizzare gli stili CSS
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Linting di un Dockerfile con un workflow di GitHub
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Installare le Web App site extension tramite una pipeline di Azure DevOps
Cache policy su route groups di Minimal API in ASP.NET Core 7
Creare un'applicazione React e configurare Tailwind CSS
Monitorare i server on-premises con Azure Arc
Aggiungere interattività lato server in Blazor 8