Panoramica del monitoraggio delle applicazioni per app Azure Service

È ora più facile che mai abilitare il monitoraggio delle applicazioni Web in base a ASP.NET, ASP.NET Core, Java e Node.js in esecuzione nel servizio app Azure. In precedenza, era necessario instrumentare manualmente l'app, ma l'estensione o l'agente più recente è ora integrato nell'immagine servizio app per impostazione predefinita.

Abilita Application Insights

Esistono due modi per abilitare il monitoraggio per le applicazioni ospitate in servizio app:

  • Monitoraggio automatico delle applicazioni (ApplicationInsightsAgent).

    Questo metodo è il più semplice da abilitare e non sono necessarie modifiche al codice o configurazioni avanzate. Viene spesso definito monitoraggio "runtime". Per servizio app, è consigliabile abilitare almeno questo livello di monitoraggio. In base al proprio scenario specifico, è possibile valutare se è necessario un monitoraggio più avanzato tramite la strumentazione manuale.

    Quando si abilita la strumentazione automatica, Application Insights viene abilitata con un'impostazione predefinita (include anche il campionamento). Anche se è stata impostata in app Azure Insights: Campionamento: Tutti i dati 100% di questa impostazione verranno ignorati.

    Per un elenco completo degli scenari di strumentazione automatica supportati, vedere Ambienti, lingue e provider di risorse supportati.

    Per il monitoraggio dell'strumentazione automatica sono supportate le piattaforme seguenti:

  • Instrumentare manualmente l'applicazione tramite il codice installando Application Insights SDK.

    Questo approccio è molto più personalizzabile, ma richiede gli approcci seguenti: SDK per .NET Core, .NET, Node.js, Python e un agente autonomo per Java. Questo metodo significa anche che è necessario gestire gli aggiornamenti alla versione più recente dei pacchetti manualmente.

    Se è necessario effettuare chiamate API personalizzate per tenere traccia degli eventi o delle dipendenze non acquisiti per impostazione predefinita con il monitoraggio dell'strumentazione automatica, è necessario usare questo metodo. Per altre informazioni, vedere API di Application Insights per metriche ed eventi personalizzati.

Se vengono rilevati sia il monitoraggio automatico che la strumentazione manuale basata su SDK, in .NET vengono rispettate solo le impostazioni di strumentazione manuale, mentre in Java vengono generati solo i dati di telemetria. Questa procedura consiste nel impedire l'invio di dati duplicati.

Nota

Snapshot Debugger e Profiler sono disponibili solo in .NET e .NET Core.

Note sulla versione

Questa sezione contiene le note sulla versione per l'estensione azure App Web per la strumentazione di runtime con Application Insights.

Per trovare la versione dell'estensione in uso, passare a https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.

Note sulla versione

2.8.44

2.8.43

  • Separare il pacchetto .NET/.NET Core, Java e Node.js in diverse estensioni del sito di Windows servizio app.

2.8.42

  • Estensione JAVA: aggiornata all'agente Java 3.2.0 dalla versione 2.5.1.
  • estensione Node.js: aggiornamento di AI SDK alla versione 2.1.8 dalla versione 2.1.7. Aggiunta del supporto per le identità gestite di Microsoft Entra assegnate a Utenti e sistema.
  • .NET Core: sono state aggiunte distribuzioni autonome e supporto di .NET 6.0 con .NET Startup Hook.

2.8.41

  • estensione Node.js: aggiornamento di AI SDK alla versione 2.1.7 dalla versione 2.1.3.
  • .NET Core: rimozione della versione non supportata (2.1). Le versioni supportate sono 3.1 e 5.0.

2.8.40

  • Estensione JAVA: aggiornata all'agente Java 3.1.1 (GA) dalla versione 3.0.2.
  • estensione Node.js: aggiornamento di AI SDK alla versione 2.1.3 dalla versione 1.8.8.

2.8.39

  • .NET Core: aggiunta del supporto di .NET Core 5.0.

2.8.38

  • Estensione JAVA: aggiornata all'agente Java 3.0.2 (GA) dalla versione 2.5.1.
  • estensione Node.js: aggiornamento di AI SDK alla versione 1.8.8 dalla versione 1.8.7.
  • .NET Core: rimosse le versioni non supportate (2.0, 2.2, 3.0). Le versioni supportate sono 2.1 e 3.1.

2.8.37

  • Estensione Di Windows AppSvc: .NET Core funziona con qualsiasi versione di System.Diagnostics.DiagnosticSource.dll.

2.8.36

  • Estensione Di Windows AppSvc: abilitata per l'interazione tra operazioni con AI SDK in .NET Core.

2.8.35

  • Estensione Di Windows AppSvc: aggiunta del supporto di .NET Core 3.1.

2.8.33

  • Agenti .NET, .NET Core, Java e Node.js e l'estensione Windows: supporto per cloud sovrani. Connessione stringhe possono essere usate per inviare dati ai cloud sovrani.

2.8.31

  • L'agente ASP.NET Core ha risolto un problema con Application Insights SDK. Se il runtime ha caricato la versione non corretta di System.Diagnostics.DiagnosticSource.dll, l'estensione senza codice non arresta l'applicazione e ne esegue il backup. Per risolvere il problema, i clienti devono rimuovere System.Diagnostics.DiagnosticSource.dll dalla cartella bin o usare la versione precedente dell'estensione impostando ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. In caso contrario, il monitoraggio delle applicazioni non è abilitato.

2.8.26

  • ASP.NET agente Core: è stato risolto un problema correlato all'SDK di Application Insights aggiornato. L'agente non tenta di caricare AiHostingStartup se il ApplicationInsights.dll è già presente nella cartella bin. Risolve i problemi relativi alla reflection tramite Assembly<AiHostingStartup>. GetTypes().
  • Problemi noti: è possibile generare un'eccezione System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' se viene caricata un'altra versione della DiagnosticSource dll. Può verificarsi, ad esempio, se System.Diagnostics.DiagnosticSource.dll è presente nella cartella di pubblicazione. Come mitigazione, usare la versione precedente dell'estensione impostando le impostazioni dell'app nei servizi app: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.

2.8.24

  • Ripacchetto della versione 2.8.21.

2.8.23

  • Aggiunta ASP.NET supporto per il monitoraggio senza codice core 3.0.
  • Aggiornamento di ASP.NET Core SDK alla versione 2.8.0 per le versioni di runtime 2.1, 2.2 e 3.0. Le app destinate a .NET Core 2.0 continuano a usare la versione 2.1.1 dell'SDK.

2.8.14

  • Aggiornamento ASP.NET versione di Core SDK dalla versione 2.3.0 alla versione più recente (2.6.1) per le app destinate a .NET Core 2.1, 2.2. Le app destinate a .NET Core 2.0 continuano a usare la versione 2.1.1 dell'SDK.

2.8.12

  • Supporto per le app ASP.NET Core 2.2.

  • Correzione di un bug nell'estensione ASP.NET Core che causa l'inserimento dell'SDK anche quando l'applicazione è già instrumentata con l'SDK. Per le app 2.1 e 2.2, la presenza di ApplicationInsights.dll nella cartella dell'applicazione ora causa il back off dell'estensione. Per le app 2.0, l'estensione viene disattivata solo se ApplicationInsights è abilitato con una UseApplicationInsights() chiamata.

  • Correzione permanente per la risposta HTML incompleta per ASP.NET app Core. Questa correzione è ora estesa per funzionare per le app .NET Core 2.2.

  • Aggiunta del supporto per disattivare l'inserimento javaScript per ASP.NET app Core (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). Per ASP.NET core, l'inserimento javaScript è in modalità "Opt-Out" per impostazione predefinita, a meno che non sia esplicitamente disattivato. L'impostazione predefinita viene eseguita per mantenere il comportamento corrente.

  • Correzione ASP.NET bug dell'estensione Core che causava l'inserimento anche se ikey non era presente.

  • Correzione di un bug nella logica del prefisso della versione dell'SDK che causava una versione non corretta dell'SDK nei dati di telemetria.

  • Aggiunta del prefisso della versione dell'SDK per ASP.NET app Core per identificare il modo in cui sono stati raccolti i dati di telemetria.

  • Correzione della pagina SCM- ApplicationInsights per visualizzare correttamente la versione dell'estensione preinstallata.

2.8.10

  • Correzione per la risposta HTML incompleta per ASP.NET app Core.

Domande frequenti

Questa sezione fornisce le risposte alle domande comuni.

Quali modifiche apporta Application Insights al progetto?

Dipende dal tipo di progetto. Per un'applicazione Web:

  • Aggiunge questi file al progetto:
    • ApplicationInsights.config
    • ai.js
  • Installa questi pacchetti NuGet:
    • API di Application Insights: API di base
    • API di Application Insights per applicazioni Web: usato per inviare dati di telemetria dal server
    • API di Application Insights per applicazioni JavaScript: usato per inviare dati di telemetria dal client
  • I pacchetti includono questi assembly:
    • Microsoft.ApplicationInsights
    • Microsoft.ApplicationInsights.Platform
  • Inserisce gli elementi in:
    • Web.config
    • packages.config
  • Solo per i nuovi progetti, è possibile aggiungere Application Insights a un progetto esistente manualmente. Inserisce frammenti di codice nel codice client e server per inizializzarli con l'ID risorsa di Application Insights. Ad esempio, in un'app MVC, il codice viene inserito nella pagina principale Views/Shared/_Layout.cshtml.

Passaggi successivi

Informazioni su come abilitare il monitoraggio automatico delle applicazioni per .NET Core, .NET, Java, Nodejs o Python in esecuzione in servizio app.