• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Utilice TCP extremo para reenviar el registro a New Relic

Ofrecemos una amplia gama de soluciones para introducir sus datos log en New Relic. Pero en otras situaciones en las que no tiene un reenviador de registros (como CDN, dispositivos de hardware o servicios administrados), puede usar protocolos syslog a través de un extremo TCP. Puede reenviar su registro a New Relic utilizando clientes syslog como rsyslog y syslog-ng.

Compatibilidad y requisitos

Para reenviar el registro a New Relic usando un cliente syslog, necesita:

  • Una New Relic válida

    para la cuenta a la que desea enviar el registro

  • Algunos cambios menores en la configuración del cliente syslog, como se explica en este documento

Configurar rsyslog versiones 8 y superiores (Amazon Linux, RedHat, Centos)

Importante

Si está utilizando una cuenta de la región de la UE, debe usar newrelic.syslog.eu.nr-data.net como extremo, en lugar de newrelic.syslog.nr-data.net. No olvide reemplazarlo en los archivos de configuración; usar el extremo de EE. UU. para una cuenta de la UE no funcionará.

Para reenviar registros a New Relic con rsyslog para distribuciones de Amazon Linux, RedHat y Centos:

  1. Instale los paquetes necesarios para permitir que rsyslog envíe registros mediante TLS cifrado:

    bash
    $
    sudo yum install rsyslog-gnutls ca-certificates
  2. Opcional: Configure rsyslog para seguir el archivo de registro y reenviar su contenido a New Relic. Agregue lo siguiente al archivo /etc/rsyslog.conf para habilitar su módulo de entrada de archivos de texto:

    module(load="imfile"
    PollingInterval="10"
    )
  3. En el directorio /etc/rsyslog.d/ , cree un archivo de texto llamado newrelic.conf.

  4. Compruebe si las opciones $IncludeConfig en /etc/rsyslog.conf ya tienen un comodín coincidente que incluirá el archivo newrelic.conf recién creado en el directorio /etc/rsyslog.d . De lo contrario, deberá incluir explícitamente /etc/rsyslog.d/newrelic.conf en /etc/rsyslog.conf usando $IncludeConfig /etc/rsyslog.d/newrelic.conf

  5. Agregue lo siguiente a newrelic.conf. Reemplace los valores resaltados. Para YOUR_LICENSE_KEY, usa tu 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): Agrega un atributo personalizado a tus datos syslog .

    Para que sus datos syslog sean consistentes con el resto de sus telemetry data, puede agregar un atributo personalizado. Hay dos maneras de hacer esto:

    • Add custom attributes directly in the template string. Deberá evitar las comillas dobles (") para los valores de cadena. Por ejemplo:

      [<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 la necesidad de escapar de los valores de cadena.

      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"]';

Asegúrese de reemplazar la sección %structured-data% en la cadena de la plantilla con una etiqueta/atributo personalizado.

  1. Reinicie el servicio rsyslog ejecutando:

    bash
    $
    sudo systemctl restart rsyslog
  2. Consulte su cuenta New Relic para ver los registros.

Configurar rsyslog versiones 8 y superiores con compresión (Amazon Linux, RedHat, Centos)

Para configurar rsyslog versiones 8 y superiores para distribuciones de Amazon Linux, RedHat y Centos:

  1. Siga los pasos 1 a 4 descritos en configurar rsyslog.

    Importante

    Tenga en cuenta que el número de puerto configurado es 6516 en lugar de 6514.

  2. Agregue lo siguiente a newrelic.conf. Reemplace todos los valores resaltados. Para YOUR_LICENSE_KEY, usa tu 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 el servicio rsyslog ejecutando:

    bash
    $
    sudo systemctl restart rsyslog
  4. Consulte su cuenta New Relic para ver los registros.

Archivo de configuración legacy para rsyslog versiones 7 o inferiores (Amazon Linux, RedHat, Centos)

Si está utilizando rsyslog versión 7 o inferior, los archivos de configuración deben adaptarse al formato legacy obsoleto. Este formato sólo se conserva con fines de retrocompatibilidad. Recomendamos encarecidamente evitar su uso, como se indica en la documentación de rsyslog. Para configurar el registro para distribuciones de Amazon Linux, RedHat y Centos:

  1. Instale los paquetes necesarios para permitir que rsyslog envíe registros mediante TLS cifrado:

    bash
    $
    sudo yum install rsyslog-gnutls ca-certificates
  2. Opcional: Configure rsyslog para seguir el archivo de registro y reenviar su contenido a New Relic. Agregue lo siguiente al archivo /etc/rsyslog.conf para habilitar su módulo de entrada de archivos de texto:

    $ModLoad imfile
    $InputFilePollInterval 10
    $PrivDropToGroup adm
    $WorkDirectory /var/spool/rsyslog
  3. En el directorio /etc/rsyslog.d/ , cree un archivo de texto llamado newrelic.conf.

  4. Compruebe si las opciones $IncludeConfig en /etc/rsyslog.conf ya tienen un comodín coincidente que incluirá el archivo newrelic.conf recién creado en el directorio /etc/rsyslog.d . De lo contrario, deberá incluir explícitamente /etc/rsyslog.d/newrelic.conf en /etc/rsyslog.conf usando $IncludeConfig /etc/rsyslog.d/newrelic.conf.

  5. Agregue lo siguiente a newrelic.conf. Reemplace los valores resaltados. Para YOUR_LICENSE_KEY, usa tu 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 el servicio rsyslog ejecutando:

    bash
    $
    sudo systemctl restart rsyslog
  7. Verifique su cuenta New Relic para iniciar sesión.

Configurar syslog-ng

Para reenviar el registro a New Relic con syslog-ng:

  1. Es necesario instalar ca-certificates para permitir que syslog-ng envíe el registro mediante cifrado TLS:

    bash
    $
    sudo yum install ca-certificates
  2. Abra el archivo de configuración syslog-ng (/etc/syslog-ng/syslog-ng.conf) en un editor de texto.

  3. Defina las fuentes a monitorear agregando:

    source s_src {
    internal();
    };
  4. Opcional: Configure syslog-ng para seguir los archivos agregando lo siguiente al bloque de configuración Sources :

    source s_files {
    file("PATH_TO_FILE");
    };
  5. Defina el formato New Relic syslog. Para YOUR_LICENSE_KEY, usa tu New Relic .

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

    destination d_newrelic {
    network("newrelic.syslog.nr-data.net" port(6514)
    transport("tls")
    tls(peer-verify(no))
    template(NRFormat)
    );
    };
  7. Agregue el siguiente resultado al bloque de configuración de la ruta log :

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

    bash
    $
    sudo service syslog-ng restart
  9. Verifique su cuenta New Relic para iniciar sesión.

Sugerencia

Si está ejecutando syslog-ng desde un contenedor Docker y experimenta problemas, consulte la documentación de la imagen balait/syslog.

Copyright © 2024 New Relic Inc.

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