Monitoramento de aplicativos baseados em .NET e .NET Core

Visão geral

Instana oferece monitoramento abrangente para aplicações do tipo ".NET " por meio de:
  • Instrumentação automática : sem necessidade de alterações no código com o ` AutoTrace `
  • Rastreamento distribuído : visibilidade de ponta a ponta em todos os seus serviços
  • Métricas de desempenho : CPU, memória, bloqueios de threads e muito mais
  • AutoProfile : Análise contínua de desempenho para otimização
  • OpenTelemetry Suporte : Integração com implementações existentes do OTel

Como funciona o monitoramento d.NET

Crie qualquer aplicativo com o .NET 5.0 e versões posteriores ou use um já existente. Instale o agente do Instana no seu ambiente. O agente detecta o processo .NET e carrega o sensor .NET. Ele coleta automaticamente métricas de desempenho e dados de integridade das suas aplicações do .NET Core.

É necessário configurar explicitamente o rastreamento d.NET s para capturar dados detalhados de rastreamento das solicitações que passam pela sua aplicação e pelos serviços conectados. O Tracing acompanha o percurso de cada solicitação pela sua aplicação, mostrando quanto tempo cada etapa leva e onde ocorrem os problemas.

Você pode configurar o rastreamento por meio das seguintes abordagens:

  • AutoTrace : Configuração automática por meio do agente
  • Rastreamento manual : instalação explícita do pacote ` NuGet `

Para mais informações, consulte Abordagens de instrumentação.

Quando o rastreamento está ativado, o ` Instana ` ativa o `.NET Tracer`, que captura rastreamentos utilizando um ou ambos os seguintes métodos de instrumentação:

  • Reescrita de IL : O ` Instana ` se conecta ao processo `.NET ` e reescreve o código da Linguagem Intermediária (IL) selecionado em tempo de execução para inserir lógica de rastreamento.
  • Instrumentação orientada a eventos : o Instana monitora eventos e dados de ActivitySource emitidos pelas bibliotecas compatíveis e converte esses eventos em traços distribuídos sem reescrever o código IL. Para obter mais informações, consulte Configuração da instrumentação orientada a eventos.

Tanto os sensores quanto os traçadores trabalham em conjunto para proporcionar uma observabilidade completa. Para conhecer as versões mais recentes do Sensor e do Tracer, consulte .NET Core (Sensor), .NET e .NET Core (Tracer).

Pré-requisitos

Certifique-se de que os seguintes pré-requisitos sejam atendidos:

  • Requisitos de hardware do sistema:

    • RAM: 8 GB ou mais de memória disponível
    • CPU: 4 ou mais núcleos de CPU para um desempenho ideal
    • Espaço em disco: 100 MB para logs de rastreamento e arquivos temporários
  • Instana O agente está instalado : o agente do host deve estar em execução na sua infraestrutura.

  • Conectividade de rede : Sua aplicação .NET deve conseguir se conectar ao agente Instana. Para obter mais informações, consulte Requisitos de rede.

  • Compatível com o ambiente de execução do `.NET `

    • .NET 5.0 ou posterior
    • .NET Core 2.x e 3.x (obsoleto)

    Para mais detalhes, consulte as informações de suporte.

Informações de suporte

Para verificar se o Instana é compatível com sua configuração atual, consulte os ambientes de execução, bibliotecas e frameworks compatíveis com o .NET.

Configurando o monitorament.NET

Para configurar o monitorament.NET, execute as seguintes tarefas nesta ordem:

Passo 1: Compreender as abordagens de instrumentação

Você pode configurar o rastreamento para suas aplicações do .NET de forma automática ou manual, dependendo do seu ambiente.

Se o seu ambiente for compatível com o AutoTrace,, o Instana instrumenta automaticamente sua aplicação .NET. No entanto, se o recurso " AutoTrace " não for compatível, você deverá usar o rastreamento manual.

AutoTrace

Instana AutoTrace oferece instrumentação automática sem a necessidade de alterar o código. Com essa abordagem, não é necessária nenhuma configuração ou ajuste manual. Instana detecta, instrumenta e rastreia automaticamente os componentes da sua aplicação para você.

Importante:
Por padrão, o rastreamento automático para `.NET Core ` está desativado. É necessário ativá-lo explicitamente.

Para configurar o rastreamento d.NET o automaticamente, habilite o rastreamento no arquivo de configuração do agente. O agente detecta os processos d.NET e e injeta automaticamente o rastreamento nos processos d.NET e. Não são necessários pacotes do ` NuGet ` nem modificações no código.

O agente cria um arquivo instana_dotnet_global_env.sh de ambiente global que contém as variáveis de ambiente necessárias para o rastreamento d.NET.

Instana começa imediatamente a gerar spans para as solicitações recebidas, e então você pode visualizar os rastreamentos na interface do usuário do Instana.

Traçado manual

O rastreamento manual envolve a utilização de pacotes d NuGet. Com essa abordagem, você tem mais controle sobre o que é rastreado, mas ela requer configuração e ajustes adicionais.

Nota:
Certifique-se de que os diagnósticos estejam habilitados para o `.NET `, definindo as variáveis de ambiente e COMPlus_EnableDiagnostics DOTNET_EnableDiagnostics como 1. Se estiverem desativadas, o reescritor de IL não poderá se conectar ao processo e, portanto, as chamadas não poderão ser reescritas e os rastreamentos não poderão ser gerados.

Para configurar manualmente o rastreamento d.NET, siga estas etapas:

  1. Adicione os seguintes pacotes Instana NuGet ao seu projeto. Esses pacotes adicionam lógica de rastreamento e permitem a instrumentação em tempo de execução.

    • Instana.Tracing.Core
    • Instana.Tracing.Core.Rewriter
    Nota:
    Escolha a variante correta do pacote Rewriter para sua plataforma de destino ( Windows, Linux ou Alpine Linux ).
  2. Configure as variáveis de ambiente a seguir:

    • CORECLR_ENABLE_PROFILING
    • CORECLR_PROFILER_PATH
    • CORECLR_PROFILER
    • DOTNET_STARTUP_HOOKS
  3. Implemente sua aplicação com as bibliotecas de rastreamento incluídas.

O traçado manual é ideal nos seguintes casos:

  • Aplicativos independentes
  • Ambientes em que o ` AutoTrace ` não está disponível

Etapa 2: Selecionar o guia de configuração específico para a plataforma

Selecione o guia adequado ao seu ambiente de implantação:

Tabela 1. Guia de configuração específico para cada plataforma
Ambiente de Implementação Guia do
Funções do AWS Lambda Configurando o rastreamento d.NET no AWS Lambda
Azure App Services Configurando o rastreamento d.NET no Azure App Services
Azure Container Apps Configurando o rastreamento d.NET em aplicativos em contêineres d Azure
Azure Functions Configurando o rastreamento d.NET no Azure Functions
Cloud Foundry plataforma Configurando o rastreamento d.NET no Cloud Foundry
Contêineres do Docker Configurando o rastreamento d.NET no Docker
Aplicativos web hospedados no IIS Configurando o rastreamento d.NET s no IIS
Clusters do Kubernetes Configurando o rastreamento d.NET no Kubernetes
Standard Linux ou Alpine Linux Configurando o rastreamento d.NET em Linux ou Alpine Linux
Windows serviços ou processos independentes Configurando o rastreamento d.NET no Windows
z/OS Configurando o rastreamento d.NET no z/OS

Etapa 3: Configurar recursos adicionais (opcional)

Depois de configurar o monitoramento básico, você pode definir os seguintes recursos opcionais adicionais para aprimorar as capacidades de monitoramento do .NET :

Para obter instruções detalhadas sobre a configuração, consulte “Configurando recursos adicionais ”.

Visualização de métricas e rastreamentos

Nota:
A coleta de métricas no Windows está disponível automaticamente. No site Linux, é necessária uma configuração adicional. Consulte “Ativando métricas” em Linux.

Depois de configurar o monitoramento, você poderá visualizar as métricas e os rastreamentos relacionados às aplicações d.NET s na interface do usuário do Instana.

Para visualizar as métricas, siga estas etapas:

  1. No menu de navegação da interface do usuário do Instana, selecione Infraestrutura.
  2. Clique em um host monitorado específico.

Você pode acessar um painel do host com todas as métricas coletadas e os processos monitorados.

Para visualizar os traços, siga estas etapas:

  1. No menu de navegação da interface do usuário do Instana, clique em Aplicativos.
  2. No painel de aplicativos, selecione um aplicativo ou serviço do .NET.
  3. No painel de aplicativos ou serviços, clique em Analisar chamadas.
  4. No painel do Analytics, selecione “Chamadas” ou “Rastreamentos” no menu “Aplicativos ”.

Os guias a seguir fornecem instruções detalhadas sobre como visualizar os dados das suas aplicações:

Ativando métricas no Linux

No Linux, implante seu aplicativo com o pacote Instana.Tracing.CoreNuGet 1.1.34 ou uma versão posterior. Defina a seguinte variável de ambiente:

DOTNET_STARTUP_HOOKS=[path-to-your-app]/Instana.Tracing.Core.dll
 

Para confirmar se o pacote foi carregado com sucesso, procure a seguinte linha na saída do seu aplicativo:

INSTANA Agent for .NET Core applications installed. Running on 
 

É possível usar o mesmo pacote para o rastreio

Dados de configuração

Tabela 2. Dados de configuração
Configuração rastreada Descrição
Nome Nome do aplicativo
Versão Versão do tempo de execução do CLR
Argumentos Fundamentos do pedido

Métricas de desempenho

Tabela 3. Métricas de desempenho
Métrica Descrição
Atividade de GC Mostra com que frequência e por quanto tempo o coletor de lixo do mecanismo de memória dinâmica (.NET ) é executado
Uso de memória Informa a quantidade de memória que o aplicativo está utilizando
Bloqueios de encadeamento Indica quando os threads estão bloqueados aguardando bloqueios
Contenção Mede a disputa entre threads por recursos compartilhados
Exceções Exibe o número e os tipos de exceções de tempo de execução

Assinaturas de funcionamento

Instana avalia continuamente os indicadores de integridade em relação às métricas recebidas e notifica problemas ou incidentes com base no impacto sobre os usuários.

Os eventos integrados acionam problemas ou incidentes com base em assinaturas de integridade com falha nas entidades, enquanto os eventos personalizados acionam problemas ou incidentes com base nos limites de uma métrica específica de qualquer entidade.

Para obter informações sobre eventos integrados do .NET, consulte a Referência de eventos integrados.

Desativando o rastreamento

Para desativar o rastreamento em aplicativos do tipo “.NET ”, siga estas etapas:

  1. Atualize o arquivo de configuração: abra o arquivo do agente configuration.yaml (*instanaAgentDir*/etc/instana/configuration.yaml) e defina o sinalizador de rastreamento `.NET ` como enabled: false.

    O exemplo a seguir mostra o arquivo ` configuration.yaml ` com o rastreamento `.NET ` desativado:

    # netcore Tracing
    com.instana.plugin.netcore:
    tracing:
       enabled: false
     
  2. Reinicie o agente do Instana para que a configuração atualizada seja aplicada.

  3. Reinicie o processo do host.

Problemas Conhecidos e Limitações

Consulte os problemas conhecidos e as limitações do rastreamento do `.NET `:

Application Insights para monitoramento do ASP.NET Core e do Instana .NET Core

Devido a algumas limitações do Application Insights para o ASP.NET Core, é possível que você observe dados incompletos ou ausentes no Application Insights quando o monitoramento do Instana .NET Core for executado em paralelo.

Se você deseja usar o Application Insights e o Instana simultaneamente, é necessário desativar a propagação do contexto de rastreamento do W3C, desativando a injeção do cabeçalho W3C pelo Instana.

Para impedir que o ` Instana ` insira cabeçalhos ` W3C `, defina a seguinte variável de ambiente:

INSTANA_W3C_DISABLE_INJECT_HEADERS=1
 

Limitações da instrumentação na versão de biblioteca

Instana com o sensor .NET Core, 1.0.90 e .NET; a versão do Tracer 1.315.1 (13 de março de 2026) restringe a instrumentação às versões de bibliotecas explicitamente listadas na seção “Bibliotecas e frameworks compatíveis para rastreamento ”. As versões não compatíveis não são monitoradas.

Para garantir suporte contínuo, atualize para as versões compatíveis. Para obter mais detalhes e opções de solução alternativa, consulte a nota técnica.

Métricas limitadas no nível do IIS para aplicativos do.NET e 5 e versões posteriores executados em No Managed Code pools de aplicativos

Ao hospedar aplicativos d.NET e 5 ou versões posteriores (incluindo o.NET e 6, 7, 8 e versões posteriores) no IIS, o pool de aplicativos deve ser configurado para ser executado com No Managed Code. Neste modo, o Instana não consegue coletar métricas no nível do IIS.

Quando um pool de aplicativos do IIS está definido como No Managed Code, o Instana não consegue coletar as seguintes métricas no nível do IIS:

  • Nomes dos pools de aplicativos
  • w3wp.exe métricas de processo
  • Dados de monitoramento no nível do processo de trabalho

Essa limitação é inerente à forma como o IIS hospeda aplicativos do..NET. 5 e versões posteriores. A instrumentação e o rastreamento no nível da aplicação continuam funcionando conforme o esperado, mas as métricas no nível do IIS não estão disponíveis.

Se você precisar de métricas no nível do IIS, considere usar aplicativos do..NET Framework e 4 ou versões anteriores, que oferecem suporte a pools de aplicativos de código gerenciado.

Resolução de problemas no monitoramento d.NET

Se você encontrar problemas com o monitoramento ou rastreamento d.NET, proceda da seguinte forma para solucionar o problema:

Passos comuns para a resolução de problemas

Se você não encontrar rastreamentos ou métricas na interface do usuário do Instana, siga estas etapas gerais de solução de problemas:

  1. Verifique os pré-requisitos:

    • Verifique se a versão do seu runtime do .NET é compatível (.NET5.0 ou posterior)
    • Verifique se o agente do Instana está em execução e acessível
    • Verifique a conectividade de rede entre seu aplicativo e o agente
  2. Verifique as variáveis de ambiente:

    • Verifique se todas as variáveis de ambiente necessárias estão definidas corretamente
    • Certifique-se de que os caminhos sejam válidos e acessíveis
    • Verifique se os nomes das variáveis estão escritos corretamente
  3. Verifique a inicialização do IL-Rewriter:

    • Verifique os logs do aplicativo em busca de mensagens de inicialização do IL-Rewriter
    • Certifique-se de que CORECLR_ENABLE_PROFILING, CORECLR_PROFILER_PATH, e CORECLR_PROFILER estejam configurados corretamente
  4. Ativar diagnósticos:

    • Se você usar o rastreamento que depende do reescritor de IL do Instana, defina COMPlus_EnableDiagnostics e DOTNET_EnableDiagnostics como 1
    • Sem o diagnóstico ativado, o IL-Rewriter não consegue se conectar ao processo
  5. Verifique a configuração de rastreamento:

    • Verifique se o rastreamento está ativado no arquivo do agente configuration.yaml
    • Reinicie o agente e o aplicativo após as alterações na configuração

Para obter informações detalhadas sobre cenários de solução de problemas específicos para cada plataforma e procedimentos de coleta de logs, consulte o guia de solução de problemas correspondente na seção a seguir.

Guias de solução de problemas específicos para cada plataforma