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
Gestire i dati con Azure Cosmos DB Data Explorer
Utilizzare i primary constructor di C# per inizializzare le proprietà
Cancellare una run di un workflow di GitHub
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare Container Queries nominali
Usare lo spread operator con i collection initializer in C#
Sostituire la GitHub Action di login su private registry
Utilizzare un service principal per accedere a Azure Container Registry
Eseguire script pre e post esecuzione di un workflow di GitHub
Gestire domini wildcard in Azure Container Apps