Problema
Depois de instalar o agente .NET da New Relic para Azure, você terá um ou mais dos seguintes problemas:
- Você não vê nenhum dado.
- Você percebe que o nome do aplicativo aparece no New Relic, mas faltam dados.
Solução
Coisas importantes para verificar e entender:
- Certifique-se de que as etapas de instalação e execução foram seguidas, incluindo a reinicialização do seu aplicativo web.
- Você must desativa o aplicativo Insights para que o agente .NET funcione corretamente.
- O aplicativo must está recebendo tráfego para a inicialização do agente .NET.
- A partir do agente .NET versão 8.22.181.0, A configuração
Always On
do Azure pode ser habilitada sem interferir no agente. Se o seu aplicativo for .NET framework 4.0 ou inferior,Always On
interferirá no agente e as soluções alternativas aqui ainda serão aplicáveis.
Etapa 1: verificar o log do agente do aplicativo
Importante
Você pode usar o Kudu para verificar o log do agente, que é um site executado em paralelo com o seu site e fornece várias ferramentas que podem ser usadas para examinar processos, examinar o sistema de arquivos e baixar arquivos e diretórios.
Se o URL do seu site for example.azurewebsites.net
, o site Kudu será example.scm.azurewebsites.net
. Use as credenciais de implantação do seu site para log no site Kudu.
Dicas importantes ao verificar o log:
- Ao usar a extensão de site do Azure New Relic, supondo que seu aplicativo Web do Azure use uma raiz do sistema de arquivos
D:
, o local do log será padronizado comoD:\home\LogFiles\NewRelic
. Se o seu Azure Web usar uma raizC:
, você precisará usar a letra de unidade correta. - Se você instalou o agente com o pacote NuGet
NewRelic.Agent
ouNewRelic.Azure.WebSites
, encontrará a pastalogs
no diretório onde o agente foi extraído em seu projeto. Geralmente é a pastanewrelic
dentro da pastawwwroot
.
Para verificar o log do agente:
- Certifique-se de estar analisando os dados atuais. Exclua ou mova quaisquer arquivos existentes no diretório de log para ter certeza de que o log gerado reflete o estado atual do seu sistema.
- Reinicie seu aplicativo.
- Exercite seu aplicativo por pelo menos alguns minutos de uma forma que gere o tráfego que você espera ver em sua conta New Relic.
- Anote o ID do processo (PID) em que seu aplicativo está sendo executado, para que você possa verificar se um log está sendo criado para esse processo. Você pode encontrar o PID usando Process Explorer integrado do Kudu.
- Volte para o diretório de log do agente e procure um arquivo de log com um nome que contenha o ID do processo do seu aplicativo, por exemplo,
NewRelic.Profiler.[PID].log
. - Se você vir esse arquivo de log profiler no diretório de logs, verifique também se há um log de agente correspondente. O log do agente contém o prefixo
newrelic_agent
. Se você estiver executando vários aplicativos .NET em seu host, pode haver mais de um deles. Se você vir um ou mais, deverá determinar qual corresponde ao aplicativo que está tentando monitor. - Procure no log do agente a sequência
(pid [your PID])
, por exemplo(pid 1573)
. Se você encontrar essa string no arquivo de log, saberá que é o log do agente associado ao seu aplicativo. - Procure erros de rede ou outros erros que possam fazer com que o agente não consiga enviar dados para a New Relic.
Etapa 2: verifique se o profiler do agente .NET está carregado no processo do aplicativo
Para verificar se o profiler está carregado:
- Use o Process Explorer integrado do Kudu para instalações do Windows. Para instalações do Linux, consulte os comandos neste artigo.
- Em Process Explorer, encontre o processo que você está tentando monitor e anote o número na coluna PID. Se você estiver tentando monitor um aplicativo Web, o nome do processo provavelmente será
w3wp.exe
sem o rótulo SCM, que se refere ao próprio processo Kudu. O agente não deve instrumentalizar o processo SCM (Kudu). - Ao localizar o processo do seu aplicativo, clique no botão
Properties
. - Clique na guia Modules e procure por
NewRelic.Profiler.dll
— esta DLL é necessária para que o agente monitor seu aplicativo. Se você não conseguir encontrá-lo, certifique-se de que as variáveis de ambiente corretas estejam presentes (mais sobre isso na etapa 3) e que o aplicativo Microsoft Insights esteja desabilitado.
Se você não vir NewRelic.Profiler.dll
, continue na próxima etapa. Se você vir essa DLL e o aplicativo estiver recebendo tráfego, você deverá ver o log conforme descrito na etapa 1.
Etapa 3: verificar as variáveis de ambiente necessárias
Para verificar as variáveis de ambiente necessárias:
- Em Process Explorer, localize o processo do seu aplicativo e clique no botão
Properties
. - Selecione a guia Environment .
Se as variáveis corretas estiverem definidas e o aplicativo que você está tentando monitor tiver acesso a elas, você deverá ver um conjunto específico de variáveis de ambiente, dependendo se o agente que você instalou é .NET framework ou .NET Core.
Importante
Todos esses exemplos pressupõem que seu aplicativo Web do Azure usa uma raiz do sistema de arquivos D:
. Se o seu Azure Web usar uma raiz C:
, você precisará usar a letra de unidade correta ao configurar esses caminhos.
Para ler mais sobre essas variáveis de ambiente e suas funcionalidades, veja como entender as variáveis env do agente .NET.
Se o nome do aplicativo estiver aparecendo no New Relic, mas nenhuma transação estiver aparecendo, é provável que nenhum tráfego esteja atingindo o aplicativo ou o agente não esteja encontrando uma framework conhecida que possa instrumentar automaticamente:
- Para framework instrumentado automaticamente para ..NET Core e .NET framework, consulte nossa página de compatibilidade.
- Se o seu aplicativo não usar uma dessas estruturas de aplicativos compatíveis, talvez seja necessário implementar instrumentação personalizada para informar ao agente quais partes do seu aplicativo são importantes para monitoramento e o que constitui o escopo de uma transação.
Se as etapas acima não ajudaram a resolver seus problemas, recomendamos que você entre em contato com o suporte ou peça ajuda em nosso Fórum de suporte.