Solução de problemas e perguntas e respostas para o Application Insights para JavaTroubleshooting and Q and A for Application Insights for Java

Dúvidas ou problemas com o Azure Application Insights em Java?Questions or problems with Azure Application Insights in Java? Aqui estão algumas dicas.Here are some tips.

Erros de compilaçãoBuild errors

No Eclipse ou Intellij Idea, ao adicionar o Application Insights SDK via Maven ou Gradle, eu recebo erros de validação de soma ou compilação.In Eclipse or Intellij Idea, when adding the Application Insights SDK via Maven or Gradle, I get build or checksum validation errors.

  • Se o elemento <version> de dependência estiver usando um padrão com caracteres curinga (ex.: Maven <version>[2.0,)</version> ou Gradle version:'2.0.+'), tente definir uma versão específica, como 2.0.1.If the dependency <version> 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. Veja as notas de versão da versão mais recente.See the release notes for the latest version.

Sem dadosNo data

Adicionei o Application Insights com êxito e executei meu aplicativo, mas nunca vi dados no portal.I added Application Insights successfully and ran my app, but I've never seen data in the portal.

  • Espere um minuto e clique em Atualizar.Wait a minute and click Refresh. Os gráficos são atualizados periodicamente, mas você também pode atualizá-los manualmente.The charts refresh themselves periodically, but you can also refresh manually. O intervalo de atualização depende do intervalo de tempo do gráfico.The refresh interval depends on the time range of the chart.
  • Verifique se você tem uma chave de instrumentação definida no arquivo ApplicationInsights.xml (na pasta de recursos em seu projeto) ou configurada como variável 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.
  • Verifique se não há um nó <DisableTelemetry>true</DisableTelemetry> no arquivo xml.Verify that there is no <DisableTelemetry>true</DisableTelemetry> node in the xml file.
  • Em seu firewall, talvez você precise abrir as portas TCP 80 e 443 para o tráfego de saída de dc.services.visualstudio.com.In your firewall, you might have to open TCP ports 80 and 443 for outgoing traffic to dc.services.visualstudio.com. Consulte a lista completa de exceções do firewallSee the full list of firewall exceptions
  • No painel inicial do Microsoft Azure, veja o mapa de status de serviço.In the Microsoft Azure start board, look at the service status map. Se houver indicações de alerta, espere até que elas tenham voltado a OK; então, feche e abra novamente a folha do Application Insights de seu aplicativo.If there are some alert indications, wait until they have returned to OK and then close and re-open your Application Insights application blade.
  • Ative o registro em log adicionando um <SDKLogger /> elemento sob o nó raiz no arquivo de ApplicationInsights.xml (na pasta recursos em seu projeto) e verifique se há entradas precedidas com ia: info/Warn/erro para quaisquer logs suspeitos.Turn on logging 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.
  • Certifique-se de que o arquivo ApplicationInsights.xml correto foi carregado com êxito pelo SDK do Java, examinando as mensagens de saída do console para uma instrução "Arquivo de configuração foi descoberto com êxito".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 não for encontrado no arquivo de configuração, verifique as mensagens de saída para ver onde o arquivo de configuração está sendo procurado e certifique-se de que o ApplicationInsights.xml seja localizado em um desses locais de pesquisa.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. Como regra geral, você pode colocar o arquivo de configuração perto dos JARs do SDK do Application Insights.As a rule of thumb, you can place the config file near the Application Insights SDK JARs. Por exemplo: no Tomcat, isso poderia significar que a pasta WEB-INF/classes.For example: in Tomcat, this would mean the WEB-INF/classes folder. Durante o desenvolvimento, você pode colocar ApplicationInsights.xml na pasta de recursos de seu projeto Web.During development you can place ApplicationInsights.xml in resources folder of your web project.
  • Também consulte a página de problemas no GitHub para problemas conhecidos com o SDK.Please also look at GitHub issues page for known issues with the SDK.
  • Certifique-se de usar a mesma versão do Application Insights principal, web, agente e log appenders para evitar quaisquer problemas de conflito de versão.Please ensure to use same version of Application Insights core, web, agent and logging appenders to avoid any version conflict issues.

Eu costumava ver os dados, mas eles foram interrompidosI used to see data, but it has stopped

  • Você atingiu sua cota mensal de pontos de dados?Have you hit your monthly quota of data points? Abra configurações/cota e preços para descobrir. Nesse caso, você pode atualizar seu plano ou pagar por capacidade adicional.Open Settings/Quota and Pricing to find out. If so, you can upgrade your plan, or pay for additional capacity. Consulte o esquema de preços.See the pricing scheme.
  • Você atualizou recentemente o SDK?Have you recently upgraded your SDK? Certifique-se de que apenas os jars SDK exclusivo estão presentes no diretório do projeto.Please ensure that only Unique SDK jars are present inside the project directory. Não deve haver duas versões diferentes do SDK presente.There should not be two different versions of SDK present.
  • Você está analisando o recurso AI correto?Are you looking at the correct AI resource? Corresponda a iKey do seu aplicativo para o recurso em que você está esperando telemetria.Please match the iKey of your application to the resource where you are expecting telemetry. Eles devem ser iguais.They should be the same.

Não vejo todos os dados que eu esperavaI don't see all the data I'm expecting

  • Abra a página Uso e custos estimados e verifique se a amostragem está funcionando.Open the Usage and estimated cost page and check whether sampling is in operation. (100% de transmissão significa que a amostragem não está em operação.) O serviço de Application Insights pode ser definido para aceitar apenas uma fração da telemetria que chega do seu aplicativo.(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. Isso o ajuda a se manter dentro de sua cota mensal de telemetria.This helps you keep within your monthly quota of telemetry.
  • Você está com a amostragem do SDK ativada?Do you have SDK Sampling turned on? Se sim, os dados seriam amostrados na taxa especificada para todos os tipos aplicáveis.If yes, data would be sampled at the rate specified for all the applicable types.
  • Você está executando uma versão mais antiga do SDK do Java?Are you running an older version of Java SDK? Começando com a versão 2.0.1, apresentamos mecanismo de tolerância para tratar intermitentes de rede e falhas de back-end, bem como a persistência de dados em unidades locais.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.
  • Está tendo limitação devido à excessiva Telemetria?Are you getting throttled due to excessive telemetry? Se você ativar o log de informações, você verá um log de mensagem "O aplicativo está limitado".If you turn on INFO logging, you will see a log message "App is throttled". Nosso limite atual é a telemetria de 32 k itens/segundo.Our current limit is 32k telemetry items/second.

Agente de Java não é possível capturar dados de dependênciaJava Agent cannot capture dependency data

  • Você configurou o agente de Java seguindo Configurar Agente de Java ?Have you configured Java agent by following Configure Java Agent ?
  • Verifique se o jar do agente java e o arquivo AI-Agent.xml são colocados na mesma pasta.Make sure both the java agent jar and the AI-Agent.xml file are placed in the same folder.
  • Certifique-se de que a dependência que você está tentando coletar automaticamente tem suporte para coleta automática.Make sure that the dependency you are trying to auto-collect is supported for auto collection. No momento só há suporte para MySQL, MsSQL, Oracle DB e coleção de dependência Azure Cache para Redis.Currently we only support MySQL, MsSQL, Oracle DB and Azure Cache for Redis dependency collection.

Sem dados de usoNo usage data

Vejo dados sobre solicitações e tempos de resposta, mas não há dados de exibição de página, de navegador ou de usuário.I see data about requests and response times, but no page view, browser, or user data.

Você configurou com êxito seu aplicativo para enviar telemetria do servidor.You successfully set up your app to send telemetry from the server. Agora, a próxima etapa é configurar suas páginas da Web para enviar telemetria por meio do navegador da Web.Now your next step is to set up your web pages to send telemetry from the web browser.

Como alternativa, se o cliente for um aplicativo em um telefone ou outro dispositivo, você poderá enviar telemetria por meio dele.Alternatively, if your client is an app in a phone or other device, you can send telemetry from there.

Use a mesma chave de instrumentação para configurar a telemetria de seu cliente e do servidor.Use the same instrumentation key to set up both your client and server telemetry. Os dados serão exibidos no mesmo recurso do Application Insights, e você poderá correlacionar eventos do cliente e do servidor.The data will appear in the same Application Insights resource, and you'll be able to correlate events from client and server.

Desabilitando a telemetriaDisabling telemetry

Como desabilitar a coleta da telemetria?How can I disable telemetry collection?

No código:In code:


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

OrOr

Atualize o arquivo ApplicationInsights.xml (na pasta de recursos em seu projeto).Update ApplicationInsights.xml (in the resources folder in your project). Adicione o seguinte sob o nó raiz:Add the following under the root node:


    <DisableTelemetry>true</DisableTelemetry>

Usando o método XML, você precisa reiniciar o aplicativo ao alterar o valor.Using the XML method, you have to restart the application when you change the value.

Alterando o destinoChanging the target

Como posso alterar a qual recurso do Azure meu projeto envia dados?How can I change which Azure resource my project sends data to?

  • Obtenha a chave de instrumentação do novo recurso.Get the instrumentation key of the new resource.
  • Se você tiver adicionado o Application Insights a seu projeto usando o Kit de Ferramentas do Azure para Eclipse, clique com o botão direito do mouse em seu projeto Web, selecione Azure, Configurar Application Insights e altere a chave.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 você configurou a chave de instrumentação como variável de ambiente atualize o valor da variável de ambiente com iKey novo.If you had configured the Instrumentation Key as environment variable please update the value of the environment variable with new iKey.
  • Caso contrário, atualize a chave em ApplicationInsights.xml na pasta de recursos em seu projeto.Otherwise, update the key in ApplicationInsights.xml in the resources folder in your project.

Depurar dados do SDKDebug data from the SDK

Como descobrir o que o SDK está fazendo?How can I find out what the SDK is doing?

Para saber mais sobre o que está acontecendo na API, adicione <SDKLogger/> ao nó raiz do arquivo de configuração 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.

ApplicationInsights.xmlApplicationInsights.xml

Você também pode instruir o agente para enviar a saída para um arquivo:You can also instruct the logger to output to a file:

  <SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
    <Level>TRACE</Level>
    <UniquePrefix>AI</UniquePrefix>
    <BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>

Iniciador do Spring bootSpring Boot Starter

Para habilitar o log do SDK com aplicativos Spring boot usando o iniciador do Spring boot Application Insights, adicione o seguinte ao application.properties arquivo:To enable SDK logging with Spring Boot Apps using the Application Insights Spring Boot Starter, add the following to the application.properties file:

azure.application-insights.logger.type=file
azure.application-insights.logger.base-folder-path=C:/agent/AISDK
azure.application-insights.logger.level=trace

ou para imprimir para o erro padrão:or to print to standard error:

azure.application-insights.logger.type=console
azure.application-insights.logger.level=trace

Agente de JavaJava Agent

Para habilitar o log do agente JVM, atualize o arquivo deAI-Agent.xml:To enable JVM Agent Logging update the AI-Agent.xml file:

<AgentLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
    <Level>TRACE</Level>
    <UniquePrefix>AI</UniquePrefix>
    <BaseFolderPath>C:/agent/AIAGENT</BaseFolderPath>
</AgentLogger>

Propriedades de linha de comando JavaJava Command Line Properties

Desde a versão 2.4.0Since version 2.4.0

Para habilitar o registro em log usando opções de linha de comando, sem alterar os arquivos de configuração:To enable logging using command line options, without changing configuration files:

java -Dapplicationinsights.logger.file.level=trace -Dapplicationinsights.logger.file.uniquePrefix=AI -Dapplicationinsights.logger.baseFolderPath="C:/my/log/dir" -jar MyApp.jar

ou para imprimir para o erro padrão:or to print to standard error:

java -Dapplicationinsights.logger.console.level=trace -jar MyApp.jar

A tela inicial do AzureThe Azure start screen

Estou olhando para o portal do Azure. O mapa me diz algo sobre meu aplicativo?I'm looking at the Azure portal. Does the map tell me something about my app?

Não, ele mostra a integridade dos servidores do Azure em todo o mundo.No, it shows the health of Azure servers around the world.

No painel inicial do Azure (tela inicial), como localizar dados sobre meu aplicativo?From the Azure start board (home screen), how do I find data about my app?

Supondo que você tenha configurado seu aplicativo para o Application Insights, clique em Procurar, selecione Application Insights e selecione o recurso de aplicativo criado para seu aplicativo.Assuming you set up your app for Application Insights, click Browse, select Application Insights, and select the app resource you created for your app. Para acessar essa opção mais rapidamente no futuro, você pode fixar o aplicativo no painel inicial.To get there faster in future, you can pin your app to the start board.

Servidores de intranetIntranet servers

Posso monitorar um servidor em minha intranet?Can I monitor a server on my intranet?

Sim, desde que o servidor possa enviar telemetria para o portal do Application Insights pela Internet pública.Yes, provided your server can send telemetry to the Application Insights portal through the public internet.

Em seu firewall, você terá que abrir as portas TCP 80 e 443 para tráfego de saída de 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.

Retenção de dadosData retention

Por quanto tempo os dados são mantidos no portal? É seguro?How long is data retained in the portal? Is it secure?

Consulte Privacidade e retenção de dados.See Data retention and privacy.

Registro em log de depuraçãoDebug logging

O Application Insights usa org.apache.http.Application Insights uses org.apache.http. Isso é realocado no jars do núcleo do Application Insights no namespace com.microsoft.applicationinsights.core.dependencies.http.This is relocated within Application Insights core jars under the namespace com.microsoft.applicationinsights.core.dependencies.http. Isso habilita o Application Insights a lidar com cenários em que diferentes versões do mesmo org.apache.http existem em uma base de código.This enables Application Insights to handle scenarios where different versions of the same org.apache.http exist in one code base.

Observação

Se você habilitar o registro em log de nível DEBUG para todos os namespaces no aplicativo, isso será respeitado por todos os módulos em execução, incluindo org.apache.http renomeado como 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. O Application Insights não poderá aplicar a filtragem a essas chamadas, pois a chamada de log estará sendo feita pela biblioteca Apache.Application Insights will not be able to apply filtering for these calls because the log call is being made by the Apache library. O registro em log do nível DEBUG gera uma quantidade considerável de dados de log e não é recomendado para instâncias de produção.DEBUG level logging produce a considerable amount of log data and is not recommended for live production instances.

Próximas etapasNext steps

Configurei o Application Insights para meu aplicativo de servidor Java. O que mais posso fazer?I set up Application Insights for my Java server app. What else can I do?

Obter ajudaGet help