Risoluzione dei problemi e domande e risposte relative ad Application Insights per JavaTroubleshooting and Q and A for Application Insights for Java

Domande o problemi relativi ad Azure Application Insights in Java?Questions or problems with Azure Application Insights in Java? Ecco alcuni suggerimenti.Here are some tips.

Errori di compilazioneBuild errors

In Eclipse o Intellij Idea quando si aggiunge l'SDK di Application Insights in Eclipse i in Intellij Idea tramite Maven o Gradle, vengono visualizzati errori di convalida relativi a build o checksum.In Eclipse or Intellij Idea, when adding the Application Insights SDK via Maven or Gradle, I get build or checksum validation errors.

  • Se l'elemento di dipendenza usa un criterio di ricerca con caratteri jolly, ad esempio (Maven) <version>[2.0,)</version> o (Gradle) version:'2.0.+', provare a indicare una versione specifica, come 2.0.1.If the dependency element is using a pattern with wildcard characters (e.g. (Maven) <version>[2.0,)</version> or (Gradle) version:'2.0.+'), try specifying a specific version instead like 2.0.1. Vedere le note sulla versione per la versione più recente.See the release notes for the latest version.

Dati non presentiNo data

Dopo avere aggiunto Application Insights correttamente ed avere eseguito l'app, nel portale non vengono visualizzati dati.I added Application Insights successfully and ran my app, but I've never seen data in the portal.

  • Attendere un minuto, quindi fare clic su Aggiorna.Wait a minute and click Refresh. I grafici si aggiornano autonomamente periodicamente, ma è anche possibile aggiornare manualmente.The charts refresh themselves periodically, but you can also refresh manually. L'intervallo di aggiornamento dipende dall'intervallo di tempo del grafico.The refresh interval depends on the time range of the chart.
  • Verificare di disporre di una chiave di strumentazione definita nel file ApplicationInsights.xml, presente nella cartella delle risorse del progetto, o configurata come variabile di ambiente.Check that you have an instrumentation key defined in the ApplicationInsights.xml file (in the resources folder in your project) or configured as Environment variable.
  • Verificare che non vi siano nodi <DisableTelemetry>true</DisableTelemetry> nel file XML.Verify that there is no <DisableTelemetry>true</DisableTelemetry> node in the xml file.
  • Nel firewall, potrebbe essere necessario aprire le porte TCP 80 e 443 per il traffico in uscita verso dc.services.visualstudio.com. Vedere l' elenco completo delle eccezioni del firewallIn your firewall, you might have to open TCP ports 80 and 443 for outgoing traffic to dc.services.visualstudio.com. See the full list of firewall exceptions
  • Nella schermata iniziale di Microsoft Azure osservare la mappa dello stato dei servizi.In the Microsoft Azure start board, look at the service status map. Se ci sono indicazioni di avviso, attendere che tornino alla normalità, quindi chiudere e riaprire il pannello dell'applicazione di Application Insights.If there are some alert indications, wait until they have returned to OK and then close and re-open your Application Insights application blade.
  • Attivare la registrazione nella finestra della console IDE aggiungendo un elemento <SDKLogger /> nel nodo radice del file ApplicationInsights.xml, nella cartella delle risorse del progetto, e verificare la presenza di voci con prefisso AI: INFO/WARN/ERROR per ogni log sospetto.Turn on logging to the IDE console window, by adding an <SDKLogger /> element under the root node in the ApplicationInsights.xml file (in the resources folder in your project), and check for entries prefaced with AI: INFO/WARN/ERROR for any suspicious logs.
  • Per verificare che Java SDK abbia caricato il file ApplicationInsights.xml corretto, esaminare i messaggi di output della console e cercare il messaggio "Configuration file has been successfully found".Make sure that the correct ApplicationInsights.xml file has been successfully loaded by the Java SDK, by looking at the console's output messages for a "Configuration file has been successfully found" statement.
  • Se il file di configurazione non è stato trovato, verificare i percorsi di ricerca di questo file nei messaggi di output e assicurarsi che il file ApplicationInsights.xml sia memorizzato in uno di tali percorsi.If the config file is not found, check the output messages to see where the config file is being searched for, and make sure that the ApplicationInsights.xml is located in one of those search locations. In linea di massima, il file di configurazione può essere salvato accanto ai file JAR di Application Insights SDK.As a rule of thumb, you can place the config file near the Application Insights SDK JARs. In Tomcat, ad esempio, questo percorso corrisponde alla cartella WEB-INF/classes.For example: in Tomcat, this would mean the WEB-INF/classes folder. Durante lo sviluppo è possibile inserire ApplicationInsights.xml nella cartella delle risorse del progetto Web.During developement you can place ApplicationInsights.xml in resources folder of your web project.
  • Esaminare anche la pagina dei problemi di GitHub per i problemi noti con l'SDK.Please also look at GitHub issues page for known issues with the SDK.
  • Assicurarsi di usare la stessa versione degli appender di core, Web, agente e registrazione di Application Insights per evitare eventuali problemi di conflitto di versione.Please ensure to use same version of Application Insights core, web, agent and logging appenders to avoid any version conflict issues.

Non vengono più visualizzati i dati disponibili in precedenzaI used to see data, but it has stopped

  • Controllare il blog sullo stato.Check the status blog.
  • È stata raggiunta la quota mensile relativa ai punti dati?Have you hit your monthly quota of data points? Per saperlo, aprire Impostazioni/Quota e Prezzi. Se la quota è stata raggiunta, è possibile aggiornare il piano oppure pagare per disporre di ulteriore capacità.Open Settings/Quota and Pricing to find out. If so, you can upgrade your plan, or pay for additional capacity. Vedere lo schema dei prezzi.See the pricing scheme.
  • L'SDK è stato aggiornato di recente?Have you recently upgraded your SDK? Verificare che all'interno della directory del progetto siano presenti solo file con estensione JAR dell'SDK univoco.Please ensure that only Unique SDK jars are present inside the project directory. Non devono essere presenti due versioni diverse dell'SDK.There should not be two different versions of SDK present.
  • È stata considerata la risorsa AI corretta?Are you looking at the correct AI resource? Confrontare la chiave di strumentazione dell'applicazione con la risorsa in cui sono previsti i dati di telemetria.Please match the iKey of your application to the resource where you are expecting telemetry. I valori devono corrispondere.They should be the same.

Non sono presenti tutti i dati previstiI don't see all the data I'm expecting

  • Aprire la pagina Utilizzo e costi stimati e controllare se il campionamento è in esecuzione.Open the Usage and estimated cost page and check whether sampling is in operation. La trasmissione al 100% indica che il campionamento non è abilitato. È possibile impostare il servizio Application Insights in modo che vengano accettati soltanto i dati di telemetria provenienti dall'app.(100% transmission means that sampling isn't in operation.) The Application Insights service can be set to accept only a fraction of the telemetry that arrives from your app. Ciò permette di evitare il superamento della quota mensile.This helps you keep within your monthly quota of telemetry.
  • Il campionamento dell'SDK è attivo?Do you have SDK Sampling turned on? In caso affermativo, i dati potrebbero essere campionati alla frequenza specificata per tutti i tipi applicabili.If yes, data would be sampled at the rate specified for all the applicable types.
  • Si esegue una versione precedente dell'SDK di Java?Are you running an older version of Java SDK? A partire dalla versione 2.0.1 è stato introdotto il meccanismo di tolleranza di errore per gestire i problemi di intermittenza della rete e gli errori di back-end, oltre alla persistenza dei dati sulle unità locali.Starting with version 2.0.1, we have introduced fault tolerance mechanism to handle intermittent network and backend failures as well as data persistence on local drives.
  • Si è limitati a causa di un numero eccessivo di dati di telemetria?Are you getting throttled due to excessive telemetry? Se attiva la registrazione delle informazioni, verrà visualizzato un messaggio del log "App is throttled" (L'app è limitata).If you turn on INFO logging, you will see a log message "App is throttled". Il limite corrente è 32.000 elementi di telemetria/secondo.Our current limit is 32k telemetry items/second.

L'agente Java non riesce ad acquisire i dati di dipendenzaJava Agent cannot capture dependency data

  • L'agente Java è stato configurato seguendo l'articolo sulla configurazione dell'agente Java?Have you configured Java agent by following Configure Java Agent ?
  • Verificare che sia il file con estensione JAR dell'agente Java che il file AI-Agent.xml si trovino nella stessa cartella.Make sure both the java agent jar and the AI-Agent.xml file are placed in the same folder.
  • Assicurarsi che la dipendenza che si sta tentando di raccogliere automaticamente sia supportata per la raccolta automatica.Make sure that the dependency you are trying to auto-collect is supported for auto collection. Attualmente sono supportate solo le raccolte delle dipendenze di MySQL, MsSQL, Oracle DB e Redis Cache.Currently we only support MySQL, MsSQL, Oracle DB and Redis Cache dependency collection.
  • Si sta usando JDK 1.7 o 1.8?Are you using JDK 1.7 or 1.8? Attualmente la raccolta di dipendenze in JDK 9 non è supportata.Currently we do not support dependency collection in JDK 9.

Dati di utilizzo non presentiNo usage data

I dati relativi a richieste e tempi di risposta vengono visualizzati, ma non sono presenti dati relativi alla visualizzazione di pagine, ai browser o dati relativi agli utenti.I see data about requests and response times, but no page view, browser, or user data.

L'app è stata correttamente configurata per inviare dati di telemetria dal server.You successfully set up your app to send telemetry from the server. Il passaggio successivo consiste nel configurare le pagine Web per inviare dati di telemetria dal Web browser.Now your next step is to set up your web pages to send telemetry from the web browser.

In alternativa, se il client è un'app in un telefono o altro dispositivo, è possibile inviare i dati di telemetria da tali dispositivi.Alternatively, if your client is an app in a phone or other device, you can send telemetry from there.

Usare la chiave di strumentazione per impostare la telemetria sia sul client che sul server.Use the same instrumentation key to set up both your client and server telemetry. I dati verranno visualizzati nella stessa risorsa di Application Insights e sarà possibile correlare eventi dal client e dal server.The data will appear in the same Application Insights resource, and you'll be able to correlate events from client and server.

Disabilitazione della telemetriaDisabling telemetry

In che modo è possibile disabilitare la raccolta di dati di telemetria?How can I disable telemetry collection?

Nel codice:In code:


    TelemetryConfiguration config = TelemetryConfiguration.getActive();
    config.setTrackingIsDisabled(true);

OppureOr

Aggiornare ApplicationInsights.xml (nella cartella resources del progetto).Update ApplicationInsights.xml (in the resources folder in your project). Aggiungere la riga seguente sotto il nodo radice:Add the following under the root node:


    <DisableTelemetry>true</DisableTelemetry>

Usando il metodo XML, dopo la modifica di questo valore sarà necessario riavviare l'applicazione.Using the XML method, you have to restart the application when you change the value.

Modifica della destinazioneChanging the target

In che modo è possibile modificare la risorsa di Azure che riceve i dati del progetto?How can I change which Azure resource my project sends data to?

  • Ottenere la chiave di strumentazione della nuova risorsa.Get the instrumentation key of the new resource.
  • Se si è aggiunto Application Insights al progetto usando Azure Toolkit for Eclipse, fare clic con il pulsante destro del mouse sul progetto Web, selezionare Azure, Configura Application Insights, quindi modificare la chiave.If you added Application Insights to your project using the Azure Toolkit for Eclipse, right click your web project, select Azure, Configure Application Insights, and change the key.
  • Se la chiave di strumentazione è stata configurata come variabile di ambiente aggiornare il valore della variabile di ambiente con la nuova chiave di strumentazione.If you had configured the Instrumentation Key as environment variable please update the value of the environment variable with new iKey.
  • Oppure, aggiornare la chiave nel file ApplicationInsights.xml presente nella cartella resources del progetto.Otherwise, update the key in ApplicationInsights.xml in the resources folder in your project.

Debug dei dati dall'SDKDebug data from the SDK

Come ottenere informazioni sulle attività dell'SDKHow can I find out what the SDK is doing?

Per ottenere altre informazioni su quello che accade nell'API, aggiungere <SDKLogger/> sotto il nodo radice del file di configurazione ApplicationInsights.xml.To get more information about what's happening in the API, add <SDKLogger/> under the root node of the ApplicationInsights.xml configuration file.

È anche possibile impostare il logger perché fornisca un file di output:You can also instruct the logger to output to a file:


    <SDKLogger type="FILE">
      <enabled>True</enabled>
      <UniquePrefix>JavaSDKLog</UniquePrefix>
    </SDKLogger>

I file si trovano in %temp%\javasdklogs o java.io.tmpdir nel caso di un server Tomcat.The files can be found under %temp%\javasdklogs or java.io.tmpdir in case of Tomcat server.

Schermata iniziale di AzureThe Azure start screen

Guardando nel portale di Azure. la mappa contiene informazioni sull'app?I'm looking at the Azure portal. Does the map tell me something about my app?

No, la mappa visualizza lo stato di integrità dei server Azure nelle varie parti del mondo.No, it shows the health of Azure servers around the world.

Dalla schermata iniziale (home) di Azure, in che modo è possibile trovare i dati relativi all'app?From the Azure start board (home screen), how do I find data about my app?

Supponendo che l'app sia stata impostata per Application Insights, fare clic su Esplora, selezionare Application Insights, quindi selezionare la risorsa dell'app creata per l'app specifica.Assuming you set up your app for Application Insights, click Browse, select Application Insights, and select the app resource you created for your app. Per raggiungere questa area più velocemente in futuro, è possibile aggiungere l'app alla schermata iniziale.To get there faster in future, you can pin your app to the start board.

Server IntranetIntranet servers

È possibile monitorare un server nella Intranet?Can I monitor a server on my intranet?

Sì, purché il server possa inviare dati di telemetria al portale di Application Insights tramite la rete Internet pubblica.Yes, provided your server can send telemetry to the Application Insights portal through the public internet.

Nel firewall, potrebbe essere necessario aprire le porte TCP 80 e 443 per il traffico in uscita verso dc.services.visualstudio.com e f5.services.visualstudio.com.In your firewall, you might have to open TCP ports 80 and 443 for outgoing traffic to dc.services.visualstudio.com and f5.services.visualstudio.com.

Conservazione dei datiData retention

Per quanto tempo vengono conservati i dati nel portale? Tale conservazione è sicura?How long is data retained in the portal? Is it secure?

Vedere Conservazione dei dati e privacy.See Data retention and privacy.

Registrazione del debugDebug logging

Application Insights usa org.apache.http.Application Insights uses org.apache.http. Questo è stato spostato all'interno dei file con estensione jar core di Application Insights nello spazio dei nomi com.microsoft.applicationinsights.core.dependencies.http.This is relocated within Application Insights core jars under the namespace com.microsoft.applicationinsights.core.dependencies.http. In questo modo Application Insights può gestire gli scenari in cui diverse versioni dello stesso org.apache.http coesistono in una base codice.This enables Application Insights to handle scenarios where different versions of the same org.apache.http exist in one code base.

Nota

Se si abilita la registrazione a livello di DEBUG per tutti gli spazi dei nomi nell'app, verrà rispettata da tutti i moduli in esecuzione incluso org.apache.http rinominato come com.microsoft.applicationinsights.core.dependencies.http.If you enable DEBUG level logging for all namespaces in the app, it will be honored by all executing modules including org.apache.http renamed as com.microsoft.applicationinsights.core.dependencies.http. Application Insights non sarà in grado di applicare il filtro per queste chiamate perché la chiamata del registro è stata effettuata dalla libreria di Apache.Application Insights will not be able to apply filtering for these calls because the log call is being made by the Apache library. La registrazione a livello di DEBUG produce una considerevole quantità di dati del registro e non è consigliata per le istanze di produzione in tempo reale.DEBUG level logging produce a considerable amount of log data and is not recommended for live production instances.

Passaggi successiviNext steps

Application Insights è stato correttamente impostato per l'app server Java. Cos'altro è possibile fare?I set up Application Insights for my Java server app. What else can I do?

Ottenere aiutoGet help