• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Limite de descritores de arquivo excedido

Problema

Você verá a seguinte mensagem de erro nos logs do seu agente eBPF:

The number of used file descriptors (820) is above the threshold (819). This may cause issues with attaching uprobes. Consider increasing the process FD limit

Este erro indica que o agente eBPF atingiu o número máximo de descritores de arquivo que pode usar, o que pode impedi-lo de monitorar corretamente seu aplicativo.

Solução

Você precisa aumentar o limite de descritores de arquivo para o serviço ou pod do agente eBPF.

Para hosts Linux:

Use o mecanismo de sobreposição systemd para definir um limite superior para o serviço do agente.

  1. Aumente temporariamente o limite de descritores de arquivo:

    bash
    $
    ulimit -n 4096
  2. Execute o seguinte comando para editar a alteração persistente em /etc/security/limits.conf:

    bash
    $
    sudo nano /etc/security/limits.conf

    Adicione as seguintes linhas:

    * soft nofile 4096
    * hard nofile 8192
  3. Reinicie o agente eBPF:

    bash
    $
    sudo systemctl restart newrelic-ebpf-agent
  4. Verifique o novo limite:

    bash
    $
    # Check current limits
    $
    cat /proc/$(pgrep newrelic-ebpf-agent)/limits | grep "Max open files"

Para Kubernetes:

  1. Edite o arquivo values.yaml usado para a implantação do Helm:

    # values.yaml
    agent:
    resources:
    limits:
    memory: "2Gi"
    # Add security context if needed
    securityContext:
    capabilities:
    add:
    - SYS_ADMIN
  2. Aplique as alterações:

    bash
    $
    helm upgrade nr-ebpf-agent newrelic/nr-ebpf-agent -n newrelic -f values.yaml
  3. Verifique se o pod foi reiniciado e se está no estado "Em execução":

    bash
    $
    kubectl get pods -n newrelic -w

Soluções alternativas

Se aumentar os limites de recursos não for viável, você pode reduzir o uso de descritores de arquivo do agente limitando o escopo do que ele monitora.

  1. Reduza o escopo filtrando namespaces ou serviços:

    • Para hosts Linux (/etc/newrelic-ebpf-agent/newrelic-ebpf-agent.conf):

      bash
      $
      # Exclude specific processes or entities
      $
      DROP_DATA_FOR_ENTITY="process1,process2"
    • Para Kubernetes (values.yaml):

      # Exclude namespaces or services
      dropDataForNamespaces: ["kube-system", "monitoring"]
      dropDataServiceNameRegex: "kube-dns|system-service"
  2. Desative o monitoramento de protocolos específicos para reduzir o número de sondagens:

    • Para hosts Linux:

      bash
      $
      PROTOCOLS_MYSQL_ENABLED="false"
      $
      PROTOCOLS_MONGODB_ENABLED="false"
    • Para Kubernetes:

      protocols:
      mysql:
      enabled: false
      mongodb:
      enabled: false

Verificação

  1. Verifique se o erro não aparece mais nos logs do agente:

    • Para hosts Linux:

      bash
      $
      sudo journalctl -u newrelic-ebpf-agent -f
    • Para Kubernetes:

      bash
      $
      kubectl logs -f <ebpf-agent-pod> -n newrelic
  2. Confirme se o agente está funcionando normalmente, verificando a mensagem de inicialização nos logs:

    [STEP-7] => Successfully started the eBPF Agent.
  3. Verifique se os dados estão fluindo para a interface New Relic filtrando a entidade com instrumentation.name = nr_ebpf.

Notas adicionais

  • O erro de limite de descritores de arquivo é mais comum em ambientes com muitos processos ou serviços em execução.
  • Cada processo/serviço monitorado requer descritores de arquivo para a conexão da sonda eBPF.
  • O limite padrão do sistema (geralmente 1024) pode ser insuficiente para implantações em larga escala.
  • Aumentar o limite para 4096 geralmente é seguro e suficiente para a maioria dos casos de uso.
Copyright © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.