6

Sono in procinto di provare MS Application Insgihts su un'applicazione Web distribuita in Azure.Informazioni sulle applicazioni VS per un'applicazione Web distribuita in più ambienti

Una cosa che non sembra essere disponibile fuori dalla scatola è la separazione delle statistiche/anayltics per ambiente di distribuzione.

Basta chiedersi qualcuno ha già fatto questo e come è andato a realizzarlo?

Ecco cosa stavo pensando.

  • Crea 4 "Applicazioni" separati all'interno di AI (ciascuna con il proprio App Nome & componente Id)

  • Aggiungere un singolo ApplicationInsights.config al Web Application progetto

  • aggiungerlo manualmente App .Config Trasforma all'applicazione per sostituire ComponentName & ComponentId al momento della compilazione in base al Configuratoin (QA, UAT o Prod)

  • aggiungere simboli di compilazione condizionale per l'applicazione Web costruire Configurazioni (QA, SVS, CODICE)

  • Add "#if QA" direttive pre-processore per il rasoio _layout vista scambiare nella corretta ComponentId nelle javascript snippet accumulo tempo.

Pensieri?

risposta

6

Ecco cosa abbiamo fatto.

  • creare 4 applicazioni di intelligenza artificiale
  • Nel nostro ApplicationInsights.config abbiamo impostato al nostro ComponentID sviluppo.
  • per la prova, stage e Prod usiamo uno script di build che sostituisce il ComponentID e componentName in base a quale ambiente ci troviamo in
  • Nel layout di javascript ottenere l'appId:.

    appInsights.start("@ServerAnalytics.ApplicationInsightsId"); 
    
0

L'ho trovato su msdn blog dal 7 gennaio 2015 Application Insights support for Multiple Environments, Stamps and App Versions.

Fondamentalmente, è possibile rimuovere la chiave di strumentazione da ApplicationInsights.config e inserirla in Web.config come un'impostazione applicazione e impostarla all'avvio.

Ciò significa che è possibile mantenere la configurazione per ciascun ambiente direttamente in azzurro.

miei passi:

  1. eliminare <InstrumentationKey> da ApplicationInsights.config
  2. aggiungere l'impostazione in Web.config

    <add key="appInsightsInstrumentationKey" value="id_from hre"/>

  3. Aggiungi impostazioni porta.azure.com per Dev, Sta, ecc
  4. All'avvio:

    var aiInstrumentationKey = System.Web.Configuration.WebConfigurationManager.AppSettings["appInsightsInstrumentationKey"]; if(string.IsNullOrEmpty(aiInstrumentationKey)) { throw new ApplicationException("appInsightsInstrumentationKey missing in web.config"); } Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = aiInstrumentationKey;

Problemi correlati