O agente .NET da New Relic oferece suporte tanto ao .NET Framework quanto ao ..NET Core. Este documento descreve a compatibilidade e o suporte para tempos de execução, estrutura e biblioteca do .NET.
O agente inclui instrumentação integrada para algumas das partes mais populares do ecossistema .NET, incluindo estrutura, banco de dados e sistemas de enfileiramento de mensagens. Depois de fazer download e instalar o agente, ele será executado no processo do monitor. O agente não cria um processo ou serviço separado.
O agente requer seu firewall para permitir conexões de saída para redes e portas específicas.
Foi verificado que o agente funciona com o seguinte sistema operacional:
Sistema operacional
Versões suportadas
Windows (arquitetura compatível com Intel de 32 e 64 bits)
Servidor Windows 2008 R2 SP1
Servidor Windows 2012
Servidor Windows 2012 R2
Servidor Windows 2016
Servidor Windows 2019
Servidor Windows 2022
Windows 10
Windows 11
Contêiner Windows rodando no Server 2016 (imagens baseadas em NanoServer não são suportadas)
Linux (compatível apenas com Intel de 64 bits)
Todas as distribuições x64 Linux suportadas pelo tempo de execução .NET Core 2.0+/.NET 5+ são suportadas pelo agente .NET. Para obter uma lista completa, consulte a documentação da Microsoft sobre a versão do tempo de execução que você está usando.
Linux (ARM64/aarch64 arquitetura)
Todas as distribuições Linux ARM64 suportadas pelo tempo de execução .NET 5+ são suportadas pelo agente .NET, com as seguintes exceções conhecidas:
Alpino Linux
Instalar e executar o agente .NET requer estas permissões:
Componente
Permissões necessárias
Instale o agente
O processo ou usuário que instala o agente deve ter permissões suficientes para configurar variáveis de ambiente e acesso de gravação ao diretório onde o agente está instalado.
Execute o agente
O processo monitor deve ter acesso de leitura/gravação ao diretório no qual você instalou o agente. O agente é executado como parte do processo de monitoramento e depende dessas permissões para funcionar.
Para aplicativos que usam IIS via proxy reverso, o grupo IIS_IUSRS é frequentemente usado.
O agente está disponível nas versões de 32 bits (x86) e 64 bits (x64) no Windows, bem como nas versões de 64 bits (x64) e ARM64 (aarch64) no Linux.
Importante
Na plataforma Linux ARM64, o agente .NET suporta apenas versões do .NET 5.0 ou superiores.
O agente .NET suporta apenas aplicativos direcionados ao ..NET Core 3.1 e .NET 5.0, 6.0 e 8.0. Você pode encontrar o framework destino no seu arquivo .csproj. A compatibilidade do agente varia entre diferentes versões do .NET Core.
Suportado:
<TargetFramework>netcoreapp3.1</TargetFramework>
<TargetFramework>net5.0</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
Importante
Na plataforma Linux ARM64, o agente .NET only suporta estrutura de destino de net5.0 ou superior.
Não suportado:
<TargetFramework>net452</TargetFramework>
Se você quiser monitor um aplicativo ASP..NET Core direcionado ao .NET Framework, certifique-se de ter habilitado o suporte ao .NET Framework após instalar o agente .NET.
Instrumentação automática
Se o seu aplicativo estiver hospedado em ASP..NET Core, o agente cria automaticamente um instrumento de transação. O agente .NET instrumenta automaticamente seu aplicativo após a instalação. Se seu aplicativo não for instrumentado automaticamente ou se você quiser adicionar instrumentação, use instrumentação personalizada.
O agente .NET utiliza automaticamente esta estrutura de aplicativos:
ASP..NET Core MVC 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0 e 8.0 (inclui API Web)
ASP.NET Core Razor páginas 6.0, 7.0 e 8.0 (começando com o agente .NET versão 10.19.0)
O agente .NET instrumenta automaticamente o desempenho das chamadas do aplicativo .NET para estes datastores:
Última versão compatível verificada: 4.0.0-preview.4
Versão mínima do agente necessária: 10.33.0
O agente .NET não monitor diretamente os processos do armazenamento de dados. Além disso, a captura de parâmetros SQL do .NET em um trace de consulta não lista parâmetros para uma consulta parametrizada ou um procedimento armazenado.
A coleta de detalhes da instância para datastores compatíveis está habilitada por padrão. Para solicitar informações em nível de instância de armazenamentos de dados não listados atualmente, obtenha suporte em support.newrelic.com.
Se seu armazenamento de dados não estiver listado aqui, você poderá adicionar instrumentação personalizada usando o método RecordDatastoreSegment na API do agente .NET.
O agente .NET utiliza automaticamente esta biblioteca de chamada externa:
Bibliotecas
Supported methods
HttpCliente
O agente utiliza estes métodos HttpClient:
SendAsync
GetAsync
PostAsync
PutAsync
DeleteAsync
GetStringAsync
GetStreamAsync
GetByteArrayAsync
O agente .NET pode ser configurado para instrumentar automaticamente esta estrutura LLM:
O agente .NET não suporta a implantação Native Ahead of Time (AOT) para o aplicativo .NET porque a compilação just-in-time (JIT) é necessária para que o agente funcione corretamente.
Conecte o agente a outros produtos New Relic
Além do APM, o agente .NET se integra a outros produtos New Relic para oferecer visibilidade de ponta a ponta:
Para aplicativos Web ASP..NET Core v6.0 e posteriores (MVC, Razor e Blazor), o agente .NET (a partir da versão 10.19.0) injeta automaticamente o agente JavaScript do browser quando você habilita a instrumentação automática.
Depois de ativar a injeção do browser, você pode visualizar os dados do browser na página Resumo do APM e alternar rapidamente entre o APM e os dados do browser para um aplicativo específico. Para opções de configuração e instrumentação manual, consulte monitoramento de Browser e agente .NET.
Ao instalar a infraestrutura e o agente APM no mesmo host, eles detectam um ao outro automaticamente. Você pode então visualizar uma lista de hosts na interface do APM e filtrar seus hosts de infraestrutura por aplicativo APM em nossa interface de infraestrutura. Para obter mais informações, consulte Dados do APM na interface de infraestrutura.
Para executar o aplicativo .NET Framework 4.6.2 ou superior, você deve executar o New Relic .NET agent 10.0 ou superior. Para executar um aplicativo no .NET Framework versão 4.0 ou inferior, você deve executar uma versão do New Relic .NET Agent inferior a 7.0. Para obter mais informações e procedimentos de download, consulte Suporte técnico para .NET Framework 4.0 ou inferior.
The .NET agent doesn't support .NET Framework versions 4.5.1, 4.5.2, and 4.6.1
O agente .NET carrega dados no final de cada ciclo de coleta (uma vez por minuto). Se seu aplicativo .NET não funcionar por tanto tempo, você poderá definir o atributo sendDataOnExit de service element como true no arquivo newrelic.config .
Você deve usar um destes servidores de aplicativo/web:
IIS
OWIN auto-hospedado
WCF auto-hospedado
Francelho
Kestrel com proxy reverso do IIS via AspNetCoreModule
Kestrel com proxy reverso do IIS via AspNetCoreModuleV2
O agente cria automaticamente transações para aplicativos hospedados no IIS. Se você se auto-hospedar com WCF e OWIN versão 3 ou superior, o agente também cria transação automaticamente. Para outros serviços auto-hospedados, será necessário criar transações via instrumentação customizada.
O agente requer o CLR versão 4.0. O aplicativo legado rodando em CLR 2.0 pode ser instrumentado com versões de agente inferiores a 7.0.
O uso do Code Access Security é compatível com o agente .NET somente quando Full Trust é fornecido. O agente não é compatível com níveis de confiança mais restritivos.
O agente requer seu firewall para permitir conexões de saída para redes e portas específicas.
O agente requer um destes sistemas operacionais:
Servidor Windows 2008
Servidor Windows 2008 R2
Servidor Windows 2012
Servidor Windows 2012 R2
Servidor Windows 2016
Servidor Windows 2019
Servidor Windows 2022
Windows 10
Windows 11
Windows Azure (família de SO 1, 2 e 3)
Contêiner Windows rodando no Windows 2016 (imagens baseadas em NanoServer não são suportadas)
A instalação requer privilégios elevados (administrador). Por exemplo, você pode:
Faça login como usuário administrador.
Seja membro do grupo administrador.
No sistema operacional mais recente, forneça credenciais de elevação quando solicitado.
O processo monitor deve ter acesso de leitura/gravação ao diretório no qual o agente está instalado. O agente é executado como parte do processo de monitoramento e depende dessas permissões para funcionar.
Recommendation:
Restrinja as permissões para o arquivo newrelic.config e conceda acesso de leitura/gravação somente ao proprietário do processo monitor.
Revise as permissões do log criado pelo agente para minimizar o número de usuários com acesso e seus privilégios.
O agente está disponível nas versões de 32 e 64 bits. Em sistemas de 64 bits, o agente de 64 bits pode utilizar aplicativos de 32 e 64 bits.
O .NET Common Language Runtime (CLR) permite apenas que um profiler acesse a API de criação de perfil de um processo a qualquer momento. Executar nosso agente .NET junto com outro software de monitoramento resultará em um conflito de perfil. Para obter mais informações, consulte Erros ao usar outro software APM.
Instrumentação automática
Se seu aplicativo estiver hospedado no ASP.NET ou em outro frameworktotalmente suportado, o agente .NET instrumentará automaticamente seu aplicativo após a instalação. Se seu aplicativo não for instrumentado automaticamente ou se você quiser adicionar instrumentação, use instrumentação personalizada.
O agente .NET não monitor diretamente os processos do armazenamento de dados. Além disso, por padrão, a captura de parâmetros SQL do .NET em um trace de consulta não lista parâmetros para uma consulta parametrizada ou um procedimento armazenado. A coleta do parâmetro de consulta SQL pode ser habilitada na configuração do agente.
O agente instrumenta automaticamente alguns frameworks de aplicativos; nos referimos a esses frameworks como fully supported, que estão listados abaixo:
ASP.NET MVC 2
ASP.NET MVC 3
ASP.NET MVC 4
ASP.NET MVC 5
API Web ASP.NET v2
ASP.NET Core MVC 2.0
ASP.NET Core 2.1
ASP.NET Core 2.2
Formulários Web ASP.NET
Castle MonoRail v2 (não é mais compatível com o agente .NET versão 10.0 ou superior)
Aplicativo de API da web hospedado por OWIN no .NET framework usando:
A instrumentação WCF foi testada para os seguintestipos de vinculação comuns (cliente e serviço). Vários níveis de suporte estão disponíveis para distributed tracing (DT) e rastreamento multiaplicativo (CAT):
Vinculativo
Suporte para distributed tracing (DT)
Suporte ao rastreamento multiaplicativo (CAT) (obsoleto)
A coleta de detalhes da instância para armazenamentos de dados compatíveis requer o agente .NET versão 6.5.29.0 ou superior e está habilitada por padrão. Para solicitar informações em nível de instância de datastores não listados atualmente, obtenha suporte no centro de suporte da New Relic.
Para instrumentar automaticamente o desempenho das chamadas do aplicativo .NET framework para esses datastores, certifique-se de ter o agente .NET versão 8.14 ou superior:
Última versão compatível verificada: 4.0.40
Versões incompatíveis conhecidas: 4.0.44 ou superior
Última versão compatível verificada: 4.0.0-preview.4
Versão mínima do agente necessária: 10.33.0
Se seu armazenamento de dados não estiver listado aqui, você poderá adicionar instrumentação personalizada usando o método RecordDatastoreSegment na API do agente .NET.
O agente utiliza automaticamente o sistema de gerenciamento de conteúdo EPiServer .
O agente automaticamente utiliza esta biblioteca de chamada externa:
O agente utiliza automaticamente estes sistemas de mensagens:
Bibliotecas
Supported methods
Confluent.Kafka
Produzir e consumir sobre temas.
Os seguintes métodos são instrumentados:
IProducer.Produce
IProducer.ProduceAsync
IConsumer.Consume
Versão mínima suportada: 1.4.0
Última versão compatível verificada: 2.5.3
MSMQ
Envio e recebimento de mensagens, visualização e eliminação de filas
NServiceBus
Coloca e recebe mensagens.
Versão mínima suportada: 5.0
RabbitMQ
Coloca e recebe mensagens e limpa filas.
Ao receber mensagens usando um IBasicConsumer, o EventingBasicConsumer é a única implementação instrumentada pelo agente .NET.
BasicGet é instrumentado, mas o agente não suporta distributed tracing para BasicGet.
Os seguintes métodos são instrumentados:
IModel.BasicGet
IModel.BasicPublish
IModel.BasicConsume
IModel.QueuePurge
EventingBasicConsumer.HandleBasicDeliver
Versão mínima suportada: 3.5.2
Última versão compatível verificada: 6.6.0
MassTransit (agente versões 10.19.0 e mais recentes)
Publicação/envio e consumo de mensagens
Versão mínima suportada: 7.1.0
Última versão compatível verificada: 8.2.5
AWSSDK.SQS (Amazon Simple Queue Service) (versões do agente 10.27.0 e mais recentes)
Enviar e receber mensagens
Versão mínima suportada: 3.7.0
Última versão compatível verificada: 3.7.400.33
As linguagens e tecnologias .NET listadas são compatíveis com nosso painel de observabilidade instantânea . Se você usar qualquer uma dessas linguagens ou tecnologias, poderá visualizar seus dados em um dashboard New Relic, pronto para uso:
Linguagem/tecnologia
Configuração adicional
Aplicativo C#
New Relic pode instrumentar automaticamente serviços escritos em C#. Acesse nossa página de início rápido do C# para instalar o painel do C#.
ADO.net
Se seu aplicativo usa ADO.net, você pode instalar uma combinação de agente New Relic que gera um dashboard ADO.net. Aqui está o que você precisa fazer:
Instale o agente New Relic APM .NET e o agente de infraestrutura seguindo as etapas em nossa instalação guiada.
Em one.newrelic.com, vá para APM & services e selecione seu aplicativo. Para verificar se sua instalação foi bem-sucedida, consulte o seguinte:
FROMTransactionSELECTcount(*) FACET request.uri
Se aparecerem dados, você instrumentou seu aplicativo corretamente.
Essas estruturas não são totalmente suportadas:
ASP.NET Web API v1: Consulte as informações de resolução de problemas sobre o uso da API Web ASP.NET v1 com o agente .NET 5.0 ou superior da New Relic para aplicativos direcionados ao .NET framework 4.0. (Isso não afeta o .NET framework 4.5 ou superior.)
Mono: New Relic não oferece suporte a Mono, uma framework .NET de código aberto que roda em Linux. Isso ocorre porque não há API profiler para injetar no agente .NET como um profiler no aplicativo .NET baseado em Mono. A API profiler é uma interface baseada em Component Object Model (COM) e não é suportada no Linux.
O ASP clássico é not supported, porque o agente só pode usar aplicativos baseados no instrumento .NET framework .
O Sharepoint é not supported.
Recurso indisponível
A compilação just-in-time (JIT) é um requisito para a funcionalidade do agente .NET, portanto, as imagens nativas criadas com o Native Image Generator (NGEN) não são suportadas pelo agente .NET.
Conecte o agente a outros produtos New Relic
Além do APM, o agente se integra a outros produtos da New Relic para oferecer visibilidade de ponta a ponta:
Para o aplicativo Web ASP.NET, o agente .NET injeta automaticamente o agente JavaScript do browser quando você habilita a instrumentação automática.
Depois de ativar a injeção do browser, você poderá visualizar os dados do browser na página Resumo do APM e alternar rapidamente entre os dados e de um aplicativo específico. Para opções de configuração e instrumentação manual, consulte monitoramento de Browser e agente .NET.
Ao instalar a infraestrutura e o agente APM no mesmo host, eles detectam um ao outro automaticamente. Você pode então visualizar uma lista de hosts na interface do APM e filtrar seus hosts por aplicativo APM em nossa interface de infraestrutura. Para obter mais informações, consulte Dados do APM na interface de infraestrutura.