Sviluppando una Web Application, è possibile usare Visual Studio 2013.3 per aggiungere automaticamente tutte le librerie e le configurazioni di cui "Azure Application Insights" ha bisogno pre funzionare.
Ma invece per quanto riguarda i Web Sites? Se si crea un Web Site (oppure si vuole modificarne o gestirne uno già esistente) l'opzione per aggiungere l'Application Insights non è presente. Cosa possiamo fare, quindi? Com'è possibile raggiungere lo stesso risultato? Come possiamo integrare Azure Application Insights in un Web Site?
È possibile! Basta seguire questi step:
- Creare un nuovo servizio "Application Insights" usando il nuovo Azure portal (preview)
- Copiare lo snippet di codice JavaScript che viene proposto dal portale ed aggiungerlo a tutte le pagine che si vogliono monitorare (oppure alla master page, se ce n'è una)
- In Visual Studio 2013.3, creare una nuova web application vuota ed aggiungere ad essa Application Insights usando il menu contestuale
- Copiare i seguenti file dalla cartella "bin" della Web App alla cartella "bin" del Web Site:
Microsoft.ApplicationInsights.dll Microsoft.ApplicationInsights.Extensibility.RuntimeTelemetry.dll Microsoft.ApplicationInsights.Extensibility.Web.dll Microsoft.Diagnostics.Tracing.EventSource.dll (volendo è possibile anche copiare i relativi file .xml e .pdb)
- Tornare nell'Azure portal (preview), andare nella sezione dell'Application Insights creato precedentemente, cliccare sul bottone "Properties" e copiare il valore della texbox "Instrumentation Key"
- Copiare il file ApplicationInsights.config dalla root della Web App alla root folder del Web Site
- In questo file, sostituire il valore della chiave "InstrumentationKey" con quello copiato al punto 5
- Cambiare il file web.config del website aggiungendo le seguenti righe:
<system.web> [...] <httpModules> [...] <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTracking.WebRequestTrackingModule, Microsoft.ApplicationInsights.Extensibility.Web" /> [...] </httpModules> [...] </system.web> <system.webServer> [...] <validation validateIntegratedModeConfiguration="false" /> [...] <modules runAllManagedModulesForAllRequests="true"> [...] <remove name="ApplicationInsightsWebTracking" /> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Extensibility.Web.RequestTracking.WebRequestTrackingModule, Microsoft.ApplicationInsights.Extensibility.Web" preCondition="managedHandler" /> [...] </modules> [...] </system.webServer>
A questo punto è possibile avviare e testare il Web Site e, dopo qualche secondo, i dati e le statistiche saranno presenti nella blade dell'Application Insights (sempre sul nuovo Azure portal)
Nessun commento:
Posta un commento