• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Utilisez le point de terminaison TCP pour transférer le log vers New Relic

Nous proposons une large gamme de solutions pour intégrer vos données log dans New Relic. Mais dans d'autres situations où vous n'avez pas de redirecteur de log (tels que les CDN, les périphériques matériels ou les services gérés), vous pouvez utiliser les protocoles syslog via un point de terminaison TCP. Vous pouvez transférer votre log vers New Relic à l'aide de clients syslog tels que rsyslog et syslog-ng.

Compatibilité et exigences

Pour transférer le log vers New Relic à l'aide d'un client syslog , vous avez besoin de :

  • New Relic valide pour le compte auquel vous souhaitez envoyer le log
  • Quelques modifications mineures à la configuration du client syslog, comme expliqué dans ce document

Limites

Les lignes de log qui dépassent 1 Mo en taille compressée seront supprimées. D’autres limitations de l’ API Log peuvent également s’appliquer. Pour éviter toute perte de données, assurez-vous que vos lignes log respectent cette limite de taille.

Configurer les versions 8 et supérieures de rsyslog (Amazon Linux, RedHat, Centos)

Important

Si vous utilisez un compte de région UE, vous devez utiliser newrelic.syslog.eu.nr-data.net comme point de terminaison, au lieu de newrelic.syslog.nr-data.net. N'oubliez pas de le remplacer dans les fichiers de configuration, l'utilisation du point de terminaison américain pour le compte UE ne fonctionnera pas.

Pour transférer le log vers New Relic avec rsyslog pour les distributions Amazon Linux, RedHat et Centos :

  1. Le package d'installation est requis pour permettre à rsyslog d'envoyer le log à l'aide du chiffrement TLS :

    bash
    $
    sudo yum install rsyslog-gnutls ca-certificates
  2. Facultatif : configurez rsyslog pour suivre le fichier log et transmettre son contenu à New Relic. Ajoutez ce qui suit au fichier /etc/rsyslog.conf afin d'activer son module d'entrée de fichier texte :

    module(load="imfile"
    PollingInterval="10"
    )
  3. Dans le répertoire /etc/rsyslog.d/ , créez un fichier texte nommé newrelic.conf.

  4. Vérifiez si les options $IncludeConfig sous /etc/rsyslog.conf ont déjà un caractère générique correspondant qui inclura le fichier newrelic.conf nouvellement créé sous le répertoire /etc/rsyslog.d . Sinon, vous devrez inclure explicitement /etc/rsyslog.d/newrelic.conf dans /etc/rsyslog.conf en utilisant $IncludeConfig /etc/rsyslog.d/newrelic.conf

  5. Ajoutez ce qui suit à newrelic.conf. Remplacez les valeurs en surbrillance. Pour YOUR_LICENSE_KEY, utilisez votre 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. (Facultatif) : Ajoutez un attribut personnalisé à vos données syslog .

    Pour rendre vos données syslog cohérentes avec le reste de vos données télémétriques, vous pouvez ajouter l'attribut personnalisé. Il y a deux façons de procéder :

    • Add custom attributes directly in the template string. Vous devrez échapper les guillemets doubles (") pour les valeurs de chaîne. Par exemple:

      [<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. Cette méthode évite d’avoir à échapper les valeurs de chaîne.

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

Assurez-vous de remplacer la section %structured-data% dans la chaîne de modèle par une balise/un attribut personnalisé.

  1. Redémarrez le service rsyslog en exécutant :

    bash
    $
    sudo systemctl restart rsyslog
  2. Vérifiez votre compte New Relic pour les logs.

Configurer les versions rsyslog 8 et supérieures avec compression (Amazon Linux, RedHat, Centos)

Pour configurer les versions 8 et supérieures de rsyslog pour les distributions Amazon Linux, RedHat et Centos :

  1. Suivez les étapes 1 à 4 décrites dans configurer rsyslog.

    Important

    Notez que le numéro de port configuré est 6516 au lieu de 6514.

  2. Ajoutez ce qui suit à newrelic.conf. Remplacer toutes les valeurs mises en surbrillance. Pour YOUR_LICENSE_KEY, utilisez votre 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. Redémarrez le service rsyslog en exécutant :

    bash
    $
    sudo systemctl restart rsyslog
  4. Vérifiez votre compte New Relic pour les logs. Vous pouvez également trouver des logs en recherchant l'attribut plugin.type:"syslog-newrelic".

fichier de configuration hérité pour les versions 7 ou inférieures de rsyslog (Amazon Linux, RedHat, Centos)

Si vous utilisez rsyslog version 7 ou inférieure, les fichiers configuration doivent être adaptés au format legacy obsolète. Ce format est conservé uniquement à des fins de rétrocompatibilité. Nous vous recommandons fortement d'éviter de l'utiliser, comme indiqué dans la documentation de rsyslog. Pour configurer le log pour les distributions Amazon Linux, RedHat et Centos :

  1. Le package d'installation est requis pour permettre à rsyslog d'envoyer le log à l'aide du chiffrement TLS :

    bash
    $
    sudo yum install rsyslog-gnutls ca-certificates
  2. Facultatif : configurez rsyslog pour suivre le fichier log et transmettre son contenu à New Relic. Ajoutez ce qui suit au fichier /etc/rsyslog.conf afin d'activer son module d'entrée de fichier texte :

    $ModLoad imfile
    $InputFilePollInterval 10
    $PrivDropToGroup adm
    $WorkDirectory /var/spool/rsyslog
  3. Dans le répertoire /etc/rsyslog.d/ , créez un fichier texte nommé newrelic.conf.

  4. Vérifiez si les options $IncludeConfig sous /etc/rsyslog.conf ont déjà un caractère générique correspondant qui inclura le fichier newrelic.conf nouvellement créé sous le répertoire /etc/rsyslog.d . Sinon, vous devrez inclure explicitement /etc/rsyslog.d/newrelic.conf dans /etc/rsyslog.conf en utilisant $IncludeConfig /etc/rsyslog.d/newrelic.conf.

  5. Ajoutez ce qui suit à newrelic.conf. Remplacez les valeurs en surbrillance. Pour YOUR_LICENSE_KEY, utilisez votre 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. Redémarrez le service rsyslog en exécutant :

    bash
    $
    sudo systemctl restart rsyslog
  7. Vérifiez votre compte New Relic pour le log.

Configurer syslog-ng

Pour transférer le log vers New Relic avec syslog-ng:

  1. L'installation ca-certificates est requise pour permettre syslog-ng d'envoyer le log à l'aide du chiffrement TLS :

    bash
    $
    sudo yum install ca-certificates
  2. Ouvrez le fichier de configuration syslog-ng (/etc/syslog-ng/syslog-ng.conf) dans un éditeur de texte.

  3. Définissez les sources à monitorer en ajoutant :

    source s_src {
    internal();
    };
  4. Facultatif : configurez syslog-ng pour terminer les fichiers en ajoutant ce qui suit au bloc de configuration Sources :

    source s_files {
    file("PATH_TO_FILE");
    };
  5. Définissez le format New Relic syslog . Pour YOUR_LICENSE_KEY, utilisez votre New Relic .

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

    destination d_newrelic {
    network("newrelic.syslog.nr-data.net" port(6514)
    transport("tls")
    tls(peer-verify(no))
    template(NRFormat)
    );
    };
  7. Ajoutez la sortie suivante log au configuration bloc du chemin :

    log {
    source(s_src);
    source(s_files); ## in case step 4 is implemented.
    destination(d_newrelic);
    };
  8. Redémarrez syslog-ng en exécutant :

    bash
    $
    sudo service syslog-ng restart
  9. Vérifiez votre compte New Relic pour le log.

Conseil

Si vous exécutez syslog-ng à partir d'un conteneur Docker et rencontrez des problèmes, consultez la documentation de l'image balait/syslog.

Les transitaires qui ne permettent pas de modifier le format syslog

Certains transitaires, CDN ou plateformes (comme AirWatch) n'autorisent pas la modification du format syslog mais permettent de modifier le message lui-même en ajoutant ou en préfixant des données.

Dans de tels cas, vous pouvez utiliser un mécanisme alternatif pour transmettre la clé de licence utilisée pour transmettre votre log. Ajoutez, préfixez ou incluez simplement nrLicenseKey=<YOUR_LICENSE_KEY> dans le message. Cette méthode garantit que vos logs sont authentifiés et transmis à New Relic sans avoir besoin de modifier le format syslog .

Par exemple, si votre transitaire vous permet d'ajouter des données au message de log, vous pouvez le configurer pour ajouter nrLicenseKey=<YOUR_LICENSE_KEY> au début de chaque message de log. De même, si l'ajout de données est autorisé, vous pouvez ajouter la clé de licence à la fin de chaque message de log.

Cette approche est particulièrement utile pour les CDN, les périphériques matériels ou les services gérés où la modification du format syslog n’est pas possible. En incluant la clé de licence dans le message, vous vous assurez que vos logs sont correctement authentifiés et reçus par New Relic.

Si vous rencontrez des problèmes ou avez besoin d'une assistance supplémentaire, reportez-vous à la documentation fournie par votre transitaire ou CDN pour obtenir des instructions spécifiques sur la façon d'ajouter ou de préfixer des données au message de log.

Important

N'oubliez pas de remplacer <YOUR_LICENSE_KEY> par votre clé de licence New Relic actuelle.

Prudence

Si les deux méthodes sont utilisées (modification du format syslog et inclusion de nrLicenseKey=<YOUR_LICENSE_KEY> dans le message), la clé de licence incluse dans le message aura la priorité.

Droits d'auteur © 2025 New Relic Inc.

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