Come abbiamo visto nello script #211 come è possibile raccogliere tutti i dati di logging delle macchine virtuali, ed in particolare dei cloud service, attraverso la classe DiagnosticMonitor. Fra questi rientrano i log di IIS, di Windows, i performance counter ed eventuali trace custom inseriti mediante l'apposito TraceListener. L'approccio utilizzato in tale script, però, richiede la scrittura di codice per selezionare le sorgenti da raccogliere e per configurare i parametri di polling per la scrittura sullo storage di Windows Azure, rendendo molto scomodo eventuali interventi da apporre a tali parametri, soprattutto in fase di sviluppo e staging.
Fortunatamente possiamo utilizzare un altro approccio, che troviamo già imbastito sui progetti nuovi creati con Visual Studio e le ultime versioni dell'SDK: il file diagnostics.wadcfg. Questo file ci permette infatti un approccio dichiarativo e quindi più semplice nella configurazione dei parametri e dei sorgenti. Va distribuito nella bin del progetto web o nella root di un worker role, ed va usato in alternativa all'uso delle classi DiagnosticMonitor che, per evitare conflitti, non andrebbero più usate.
Per configurare questo file è sufficiente utilizzare Visual Studio e aprire le proprietà del role di nostro interesse. Nella sezione configuration troviamo la voce Enable Diagnostics permettendoci di configurare il livello di diagnostica, di personalizzarlo e di scegliere su quale storage scrivere.
Il vantaggio che otteniamo dall'uso del file diagnostics.wadcfg lo otteniamo nel momento in cui vogliamo cambiare le impostazioni di logging. Grazie ai tool di Visual Studio, possiamo posizionarci sul deployment, o sulla singola istanza, e tramite menu contestuale troviamo le voci view diagnostics data e update diagnostics settings.
Quest'ultima voce è molto interessante, perché ci permette di modificare le impostazioni di logging, senza richiedere un nuovo deployment, permettendoci di intervenire su tutti i parametri.
Premendo OK, il tool inserisce un file XML nel blob wad-control-container che il sistema monitora in base all'attributo configurationChangePollInterval specificato inizialmente in diagnostics.wadcfg. Tale file ha la precedenza su eventuali altri deployment e modifiche che potremmo fare.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Usare una container image come runner di GitHub Actions
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Migrate and Modernize your .NET Applications on Azure
Assegnare un valore di default a un parametro di una lambda in C#
Gestione degli stili CSS con le regole @layer
Creare alias per tipi generici e tuple in C#
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Utilizzare Copilot con Azure Cosmos DB
Gestire la cancellazione di una richiesta in streaming da Blazor
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
I più letti di oggi
- Build 2017: segui con noi tutte le novità mercoledì 10 e giovedì 11 maggio da Seattle!
- Build 2016: segui con noi in live streaming!
- Microsoft Visual Studio Code: un nuovo editor gratuito per Windows, MacOSX e Linux per sviluppatori ASP.NET e Node.js
- ASP.NET 4.5 e Visual Studio 2012 Live - Online
- Utilizzare QuickGrid di Blazor con Entity Framework
- Gestire la cancellazione di una richiesta in streaming da Blazor
- Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
- Microsoft Security Bulletin MS02-026
- Speciale per il lancio di Visual Studio 2008, SQL Server 2008 e Windows Server 2008 dal 25/02 al 07/03
- Eseguire query in parallelo con Entity Framework Core and ASP.NET Core