• /
  • EnglishEspañol日本語한국어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

Use endpoint TCP para encaminhar o log para o New Relic

Oferecemos uma ampla gama de soluções para transferir seus dados log para New Relic. Mas em outras situações em que você não possui um encaminhador de logs (como CDNs, dispositivos de hardware ou serviços gerenciados), você pode usar protocolos syslog por meio de um endpoint TCP. Você pode encaminhar seu registro para New Relic usando clientes syslog como rsyslog e syslog-ng.

Compatibilidade e requisitos

Para encaminhar o log para o New Relic usando um cliente syslog, você precisa:

  • Uma New Relic válida para a conta para a qual você deseja enviar o registro
  • Algumas pequenas alterações na configuração do cliente syslog, conforme explicado neste documento

Configure o rsyslog versões 8 e superiores (Amazon Linux, RedHat, Centos)

Importante

Se estiver usando uma conta da região da UE, você deverá usar newrelic.syslog.eu.nr-data.net como endpoint, em vez de newrelic.syslog.nr-data.net. Não se esqueça de substituí-lo nos arquivos de configuração, usar o endpoint dos EUA para a conta da UE não funcionará.

Para encaminhar o registro para New Relic com rsyslog para distribuições Amazon Linux, RedHat e Centos:

  1. Instale os pacotes necessários para permitir que rsyslog envie log usando criptografia TLS:

    bash
    $
    sudo yum install rsyslog-gnutls ca-certificates
  2. Opcional: Configure rsyslog para seguir o arquivo de log e encaminhar seu conteúdo para o New Relic. Adicione o seguinte ao arquivo /etc/rsyslog.conf para ativar seu módulo de entrada de arquivo de texto:

    module(load="imfile"
    PollingInterval="10"
    )
  3. No diretório /etc/rsyslog.d/ , crie um arquivo de texto denominado newrelic.conf.

  4. Verifique se as opções $IncludeConfig em /etc/rsyslog.conf já possuem um curinga correspondente que incluirá o arquivo newrelic.conf recém-criado no diretório /etc/rsyslog.d . Caso contrário, você precisará incluir explicitamente /etc/rsyslog.d/newrelic.conf em /etc/rsyslog.conf usando $IncludeConfig /etc/rsyslog.d/newrelic.conf

  5. Adicione o seguinte a newrelic.conf. Substitua os valores destacados. Para YOUR_LICENSE_KEY, use sua New Relic :

    ## Specify each of the files to be tailed in case step 1 is done
    input(type="imfile" Tag="YOUR_FILE_TAG" File="PATH_TO_FILE")
    ## Template expected by the New Relic Syslog endpoint
    template(name="newrelic-rfc5424"
    type="string"
    string="YOUR_LICENSE_KEY <%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% %structured-data% %msg%\n"
    )
    ## Configure TLS and log forwarding
    global(DefaultNetstreamDriver="gtls"
    ##Specify the full path to the system's CA certificate:
    DefaultNetstreamDriverCAFile="<path to certificate>"
    ## RHEL/CentOS/Amazon Linux:
    ##/etc/pki/tls/certs/ca-bundle.crt
    ## Ubuntu:
    ##/etc/ssl/certs/ca-certificates.crt
    ##Other systems:
    ##Specify the full path to the system's generic CA certificate.
    )
    action(type="omfwd"
    Target="newrelic.syslog.nr-data.net"
    Port="6514"
    Protocol="tcp"
    Template="newrelic-rfc5424"
    ResendLastMSGOnReconnect="on"
    StreamDriver="gtls"
    StreamDriverAuthMode="x509/name"
    StreamDriverPermittedPeers="*.syslog.nr-data.net"
    StreamDriverMode="1"
    )
  6. (Opcional): Adicione atributo personalizado aos seus dados syslog .

    Para tornar seus dados syslog consistentes com o restante de seus dados de telemetria, você pode adicionar um atributo personalizado. Existem duas maneiras de fazer isso:

    • Add custom attributes directly in the template string. Você precisará escapar das aspas duplas (") para os valores da string. Por exemplo:

      [<STRUCTURED_DATA_ID> <ATTR_NAME_1>="<ATTR_VALUE_1>" <ATTR_NAME_2>="<ATTR_VALUE_2>" ...]

      template(name="newrelic-rfc5424"
      type="string"
      string="YOUR_LICENSE_KEY <%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% [someId environment=\"prod\" region=\"US\"] %msg%\n"
      )
    • Add custom attributes using a custom property variable in the template string. Este método evita a necessidade de escapar de valores de string.

      template(name="newrelic-rfc5424"
      type="string"
      string="YOUR_LICENSE_KEY <%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% %!custom-structured-data% %msg%\n"
      )
      set $!custom-structured-data = '[someId1 environment="prod" region="US"][someId2 team="sre" cost-center="123"]';

Certifique-se de substituir a seção %structured-data% na string do modelo por tag/atributo personalizado.

  1. Reinicie o serviço rsyslog executando:

    bash
    $
    sudo systemctl restart rsyslog
  2. Verifique se há registros em sua conta New Relic .

Configure o rsyslog versões 8 e superiores com compactação (Amazon Linux, RedHat, Centos)

Para configurar rsyslog versões 8 e superiores para distribuições Amazon Linux, RedHat e Centos:

  1. Siga as etapas 1 a 4 descritas em configurar rsyslog.

    Importante

    Observe que o número da porta configurada é 6516 em vez de 6514.

  2. Adicione o seguinte a newrelic.conf. Substitua todos os valores destacados. Para YOUR_LICENSE_KEY, use sua New Relic :

    ## Specify each of the files to be tailed in case step 1 is done
    input(type="imfile" Tag="YOUR_FILE_TAG" File="PATH_TO_FILE"
    ## Template expected by the New Relic Syslog endpoint
    template(name="newrelic-rfc5424"
    type="string"
    string="YOUR_LICENSE_KEY <%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% %structured-data% %msg%\n"
    )
    ## Configure TLS and log forwarding
    global(DefaultNetstreamDriver="gtls"
    ##Specify the full path to the system's CA certificate:
    DefaultNetstreamDriverCAFile="<path to certificate>"
    ## RHEL/CentOS/Amazon Linux:
    ##/etc/pki/tls/certs/ca-bundle.crt
    ## Ubuntu:
    ##/etc/ssl/certs/ca-certificates.crt
    ##Other systems:
    ##Specify the full path to the system's generic CA certificate.
    )
    action(type="omfwd"
    Target="newrelic.syslog.nr-data.net"
    Port="6516"
    Protocol="tcp"
    Template="newrelic-rfc5424"
    ResendLastMSGOnReconnect="on"
    StreamDriver="gtls"
    StreamDriverAuthMode="x509/name"
    StreamDriverPermittedPeers="*.syslog.nr-data.net"
    StreamDriverMode="1"
    compression.Mode="stream:always"
    )
  3. Reinicie o serviço rsyslog executando:

    bash
    $
    sudo systemctl restart rsyslog
  4. Verifique se há registros em sua conta New Relic .

Arquivo de configuração legado para rsyslog versões 7 ou inferiores (Amazon Linux, RedHat, Centos)

Se você estiver usando o rsyslog versão 7 ou inferior, os arquivos de configuração precisarão ser adaptados ao formato legado obsoleto. Este formato é mantido apenas para fins de retrocompatibilidade. Recomendamos fortemente evitar usá-lo, conforme indicado na documentação do rsyslog. Para configurar o log para distribuições Amazon Linux, RedHat e Centos:

  1. Instale os pacotes necessários para permitir que rsyslog envie log usando criptografia TLS:

    bash
    $
    sudo yum install rsyslog-gnutls ca-certificates
  2. Opcional: Configure rsyslog para seguir o arquivo de log e encaminhar seu conteúdo para o New Relic. Adicione o seguinte ao arquivo /etc/rsyslog.conf para ativar seu módulo de entrada de arquivo de texto:

    $ModLoad imfile
    $InputFilePollInterval 10
    $PrivDropToGroup adm
    $WorkDirectory /var/spool/rsyslog
  3. No diretório /etc/rsyslog.d/ , crie um arquivo de texto denominado newrelic.conf.

  4. Verifique se as opções $IncludeConfig em /etc/rsyslog.conf já possuem um curinga correspondente que incluirá o arquivo newrelic.conf recém-criado no diretório /etc/rsyslog.d . Caso contrário, você precisará incluir explicitamente /etc/rsyslog.d/newrelic.conf em /etc/rsyslog.conf usando $IncludeConfig /etc/rsyslog.d/newrelic.conf.

  5. Adicione o seguinte a newrelic.conf. Substitua os valores destacados. Para YOUR_LICENSE_KEY, use sua New Relic :

    ## Template expected by the New Relic Syslog endpoint
    $template NRLogFormat,"YOUR_LICENSE_KEY <%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% %structured-data% %msg%\n"
    ## Specify each of the files to be tailed in case step 1 is done
    $InputFileName /path/to/file
    $InputFileTag YOUR_FILE_TAG
    $InputFileSeverity info
    $InputRunFileMonitor
    ## Configure TLS and log forwarding
    ##Specify the full path to the system's CA certificate:
    $DefaultNetstreamDriverCAFile <path to certificate>
    ## RHEL/CentOS/Amazon Linux:
    ##/etc/pki/tls/certs/ca-bundle.crt
    ## Ubuntu:
    ##/etc/ssl/certs/ca-certificates.crt
    ##Other systems:
    ##Specify the full path to the system's generic CA certificate.
    $ActionSendStreamDriver gtls
    $ActionSendStreamDriverMode 1
    $ActionSendStreamDriverAuthMode x509/name
    $ActionSendStreamDriverPermittedPeer *.syslog.nr-data.net
    *.* @@newrelic.syslog.nr-data.net:6514;NRLogFormat
  6. Reinicie o serviço rsyslog executando:

    bash
    $
    sudo systemctl restart rsyslog
  7. Verifique o registro da sua conta New Relic .

Configurar syslog-ng

Para encaminhar o registro para New Relic com syslog-ng:

  1. A instalação ca-certificates é necessária para permitir que syslog-ng envie log usando criptografia TLS:

    bash
    $
    sudo yum install ca-certificates
  2. Abra o arquivo de configuração syslog-ng (/etc/syslog-ng/syslog-ng.conf) em um editor de texto.

  3. Defina as fontes a serem monitoradas adicionando:

    source s_src {
    internal();
    };
  4. Opcional: Configure syslog-ng para arquivos finais adicionando o seguinte ao bloco de configuração Sources :

    source s_files {
    file("PATH_TO_FILE");
    };
  5. Defina o formato da New Relic syslog. Para YOUR_LICENSE_KEY, use sua New Relic .

    template NRFormat { template("YOUR_LICENSE_KEY <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} ${SDATA:--} $MSG\n");
    template_escape(no);
    };
  6. Adicione o endpoint Syslog do New Relic:

    destination d_newrelic {
    network("newrelic.syslog.nr-data.net" port(6514)
    transport("tls")
    tls(peer-verify(no))
    template(NRFormat)
    );
    };
  7. Adicione a seguinte saída ao bloco de configuração do caminho de log:

    log {
    source(s_src);
    source(s_files); ## in case step 4 is implemented.
    destination(d_newrelic);
    };
  8. Reinicie syslog-ng executando:

    bash
    $
    sudo service syslog-ng restart
  9. Verifique o registro da sua conta New Relic .

Dica

Se você estiver executando o syslog-ng a partir de um contêiner Docker e tiver problemas, verifique a documentação da imagem balait/syslog.

Encaminhadores que não permitem modificar o formato do syslog

Alguns encaminhadores, CDNs ou plataformas (como o AirWatch) não permitem a modificação do formato do syslog, mas permitem alterar a mensagem em si, acrescentando ou prefixando dados.

Nesses casos, você pode usar um mecanismo alternativo para passar a chave de licença usada para encaminhar seus logs. Basta anexar, preceder ou incluir nrLicenseKey=<YOUR_LICENSE_KEY> na mensagem. Este método garante que seus logs sejam autenticados e encaminhados para o New Relic sem precisar modificar o formato do syslog.

Por exemplo, se o seu encaminhador permitir que você adicione dados ao log de mensagens, você poderá configurá-lo para adicionar nrLicenseKey=<YOUR_LICENSE_KEY> no início de cada log de mensagens. Da mesma forma, se for permitido anexar dados, você pode adicionar a chave de licença no final de cada mensagem do log.

Essa abordagem é particularmente útil para CDNs, dispositivos de hardware ou serviços gerenciados onde não é possível modificar o formato do syslog. Ao incluir a chave de licença na mensagem, você garante que seus logs sejam devidamente autenticados e recebidos pelo New Relic.

Se você encontrar algum problema ou precisar de mais assistência, consulte a documentação fornecida pelo seu encaminhador ou CDN para obter instruções específicas sobre como anexar ou preceder dados ao registro de mensagem.

Importante

Lembre-se de substituir <YOUR_LICENSE_KEY> pela sua chave de licença atual do New Relic.

Cuidado

Se ambos os métodos forem usados (modificando o formato do syslog e incluindo nrLicenseKey=<YOUR_LICENSE_KEY> na mensagem), a chave de licença incluída na mensagem terá precedência.

Copyright © 2025 New Relic Inc.

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