Risolvere i problemi di strumentazione automatica di Application Insights

Questo articolo illustra come risolvere i problemi che influiscono sulla strumentazione automatica in Application Insights.

Note

L'strumentazione automatica è nota come collegamento senza codice prima di ottobre 2021.

I dati di telemetria non vengono segnalati dopo l'abilitazione dell'strumentazione automatica

Se è stata abilitata l'strumentazione automatica di Application Insights per il servizio app ma non vengono visualizzati i dati di telemetria segnalati, esaminare gli scenari comuni nelle sezioni seguenti.

Application Insights SDK è stato installato in precedenza

La strumentazione automatica ha esito negativo se è già installato Application Insights SDK per le app .NET e .NET Core.

Per essere in grado di implementare automaticamente l'app, rimuovere Application Insights SDK.

Un'app è stata pubblicata usando una versione non supportata di .NET o .NET Core

Verificare che sia stata usata una versione supportata di .NET o .NET Core per compilare e pubblicare applicazioni.

Per determinare se la versione è supportata, vedere la documentazione di .NET o .NET Core seguente:

La strumentazione automatica fallisce quando gli assembly di avvio dell'hosting .NET Core vengono sovrascritti

ASP.NET Core strumentazione automatica su Azure App Service utilizza il ASPNETCORE_HOSTINGSTARTUPASSEMBLIES meccanismo per caricare il bootstrap di avvio di Application Insights durante l'esecuzione. Se un'applicazione configura in modo esplicito gli assembly di avvio dell'hosting, ad esempio con WebHostDefaults.HostingStartupAssembliesKey, tale configurazione sostituisce le impostazioni dell'ambiente del Servizio App.

Quando ciò si verifica e Microsoft.ApplicationInsights.StartupBootstrapper non è incluso, l'agente di Application Insights non può allegare e i dati di telemetria non vengono raccolti anche se Application Insights viene visualizzato abilitato nel portale di Azure.

Per risolvere questo problema, rimuovere la configurazione di avvio dell'hosting personalizzata o assicurarsi che Microsoft.ApplicationInsights.StartupBootstrapper sia inclusa in modo esplicito negli assembly di avvio dell'hosting configurati. Se si intende controllare gli assembly di avvio a livello di codice, la configurazione host ha la precedenza sulla ASPNETCORE_HOSTINGSTARTUPASSEMBLIES variabile di ambiente. Per ulteriori informazioni, consultare Utilizzare gli assembly di avvio per l'hosting in ASP.NET Core.

Viene rilevata una libreria di diagnostica

Instrumentazione automatica ha esito negativo se rileva le librerie seguenti:

  • System.Diagnostics.DiagnosticSource
  • Microsoft.AspNet.TelemetryCorrelation
  • Microsoft.ApplicationInsights

Per il funzionamento corretto dell'autostrumentazione, è necessario rimuovere queste librerie.

Si verificano problemi dell'SDK dopo l'abilitazione della strumentazione automatica

Se si verificano problemi causati dall'SDK di Application Insights stesso dopo aver abilitato l'strumentazione automatica, raccogliere i log di auto-diagnostica per diagnosticare i problemi. Per altre informazioni, vedere Come raccogliere log di auto-diagnostica per gli SDK di Application Insights.

Problemi di distribuzione dell'estensione dell'agente di monitoraggio di Application Insights per macchine virtuali e set di scalabilità di macchine virtuali

Note

Questi suggerimenti per la risoluzione dei problemi si applicano alle applicazioni .NET.

Se si verificano problemi durante la distribuzione dell'estensione, esaminare il risultato dell'esecuzione registrato dall'estensione nei file nelle directory seguenti.

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\

Se l'estensione è stata distribuita correttamente ma non è possibile visualizzare i dati di telemetria, potrebbe trattarsi di uno dei problemi seguenti illustrati nella risoluzione dei problemi dell'agente:

  • Librerie a collegamento dinamico in conflitto (DLL) nella directory bin di un'app.
  • Conflitto con la configurazione condivisa di IIS.

Problemi con l'app Java in esecuzione in Funzioni di Azure

Tempi di avvio lenti

Le funzioni Java potrebbero avere tempi di avvio lenti se questa funzionalità è stata adottata prima di febbraio 2023. Nel riquadro Panoramica dell'app per le funzioni, passare a Configurazione nel menu di navigazione. Selezionare quindi Impostazioni applicazione e seguire questa procedura per risolvere il problema.

  1. Verificare se esistono le impostazioni seguenti e rimuoverle:

    XDT_MicrosoftApplicationInsights_Java -> 1
    ApplicationInsightsAgent_EXTENSION_VERSION -> ~2
    
  2. Abilitare la versione più recente aggiungendo questa impostazione:

    APPLICATIONINSIGHTS_ENABLE_AGENT: true
    

Registri duplicati

Se si utilizza log4j o logback per il logging della console, la traccia distribuita per le Funzioni Java crea log duplicati. Questi log duplicati vengono quindi inviati ad Application Insights. Per evitare questo comportamento, usare le soluzioni alternative seguenti.

Log4j

Aggiungere il filtro seguente al log4j.xml:

<Filters>
  <ThresholdFilter level="ALL" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>

Esempio:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
      <Filters>
        <ThresholdFilter level="ALL" onMatch="DENY" onMismatch="NEUTRAL"/>
      </Filters>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>

Logback

Aggiungere il filtro seguente al logback.xml:

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  <level>OFF</level>
</filter>  

Esempio:

<configuration debug="true">
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are  by default assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern>
      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>OFF</level>
      </filter>  
    </encoder>
  </appender>
  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

Maggiori informazioni

Per altre domande sull'installazione automatica di Application Insights, è possibile pubblicarle nella pagina domande di Microsoft Q&A.

Clausola di esclusione di responsabilità per il contatto di terze parti

Microsoft fornisce informazioni di contatto di terze parti per aiutarti a trovare ulteriori informazioni su questo argomento. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza delle informazioni di contatto di terze parti.