• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

TCPエンドポイントを使用してログをNew Relicに転送する

ログデータをNewRelicに取り込むための幅広いソリューションを提供しています。ただし、ログフォワーダー(CDN、ハードウェアデバイス、マネージドサービスなど)がない他の状況では、TCPエンドポイントを介してsyslogプロトコルを使用できます。 rsyslogsyslog-ngなどのsyslogクライアントを使用して、ログをNewRelicに転送できます。

互換性と要件

syslogクライアントを使ってログをNew Relicに転送するには、以下が必要です。

  • ログを送信したいアカウントの有効な New Relic ライセンスキー
  • このドキュメントで説明されているように、syslogクライアントの設定にいくつかのマイナーな変更があります。

rsyslog バージョン 8 以降を構成する (Amazon Linux、Redhat、Centos)

重要

EUリージョンアカウントを使用している場合は、エンドポイントとしてnewrelic.syslog.nr-data.netではなくnewrelic.syslog.eu.nr-data.netを使用する必要があります。 EUアカウントにUSエンドポイントを使用しても機能しないため、構成ファイルで置き換えることを忘れないでください。

Amazon Linux、Redhat、および Centos ディストリビューションのrsyslogを使用してログを New Relic に転送するには:

  1. rsyslogがTLS暗号化を使用してログを送信できるようにするために必要なパッケージをインストールします。

    bash
    $
    sudo yum install rsyslog-gnutls ca-certificates
  2. オプション:ログファイルをテールし、その内容をNewRelicに転送するようにrsyslogを設定します。テキストファイル入力モジュールを有効にするには、 /etc/rsyslog.confファイルに以下を追加します。

    module(load="imfile"
    PollingInterval="10"
    )
  3. /etc/rsyslog.d/ディレクトリに、 newrelic.confという名前のテキストファイルを作成します。

  4. /etc/rsyslog.confの下の$IncludeConfigオプションに、 /etc/rsyslog.dディレクトリの下に新しく作成されたnewrelic.confファイルを含む一致するワイルドカードが既にあるかどうかを確認してください。それ以外の場合は、 /etc/rsyslog.conf/etc/rsyslog.d/newrelic.confを明示的に含める必要があります。 $IncludeConfig /etc/rsyslog.d/newrelic.conf

  5. 以下をnewrelic.confに追加します。強調表示された値を置き換えます。YOUR_LICENSE_KEYには、 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"
           DefaultNetstreamDriverCAFile="/etc/ssl/certs/ca-certificates.crt"
    )
    
    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. 次のコマンドを実行して、 rsyslogサービスを再起動します。

    bash
    $
    sudo systemctl restart rsyslog
  7. New Relic アカウント のログを確認してください。

圧縮を使用して rsyslog バージョン 8 以降を構成する (Amazon Linux、Redhat、Centos)

Amazon Linux、Redhat、Centos ディストリビューション用にrsyslogバージョン 8 以降を設定するには:

  1. configure rsyslogで説明されているステップ 1 から 4 に従います。

重要

構成されたポート番号は { 6514 } ではなく6516であることに注意してください。

  1. 以下をnewrelic.confに追加します。強調表示されたすべての値を置き換えます。YOUR_LICENSE_KEYには、 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"
           DefaultNetstreamDriverCAFile="/etc/ssl/certs/ca-certificates.crt"
    )
    
    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"
    )
  2. 次のコマンドを実行して、 rsyslogサービスを再起動します。

    bash
    sudo systemctl restart rsyslog
  3. New Relic アカウント のログを確認してください。

rsyslog バージョン 7 以下のレガシー構成ファイル (Amazon Linux、Redhat、Centos)

rsyslog バージョン 7 以下を使用している場合は、構成ファイルを廃止されたレガシー形式に適合させる必要があります。この形式は、レトロな互換性のためにのみ保持されています。rsyslog ドキュメントに記載されているように、使用を避けることを強くお勧めします。Amazon Linux、Redhat、Centos ディストリビューションのログを設定するには:

  1. rsyslogがTLS暗号化を使用してログを送信できるようにするために必要なパッケージをインストールします。

    bash
    sudo yum install rsyslog-gnutls ca-certificates
  2. オプション:ログファイルをテールし、その内容をNewRelicに転送するようにrsyslogを設定します。テキストファイル入力モジュールを有効にするには、 /etc/rsyslog.confファイルに以下を追加します。

    $ModLoad imfile
    $InputFilePollInterval 10
    $PrivDropToGroup adm
    $WorkDirectory /var/spool/rsyslog
  3. /etc/rsyslog.d/ディレクトリに、 newrelic.confという名前のテキストファイルを作成します。

  4. /etc/rsyslog.confの下の$IncludeConfigオプションに、 /etc/rsyslog.dディレクトリの下に新しく作成されたnewrelic.confファイルを含む一致するワイルドカードが既にあるかどうかを確認してください。それ以外の場合は、 $IncludeConfig /etc/rsyslog.d/newrelic.conf } を使用して/etc/rsyslog.conf/etc/rsyslog.d/newrelic.confを明示的に含める必要があります。

  5. 以下をnewrelic.confに追加します。強調表示された値を置き換えます。YOUR_LICENSE_KEYには、 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
    
    $DefaultNetstreamDriverCAFile /etc/ssl/certs/ca-certificates.crt
    $ActionSendStreamDriver gtls
    $ActionSendStreamDriverMode 1
    $ActionSendStreamDriverAuthMode x509/name
    $ActionSendStreamDriverPermittedPeer *.syslog.nr-data.net
    
    *.* @@newrelic.syslog.nr-data.net:6514;NRLogFormat
  6. 次のコマンドを実行して、 rsyslogサービスを再起動します。

    bash
    $
    sudo systemctl restart rsyslog
  7. New Relic アカウント のログを確認してください。

syslog-ngの設定

ログをsyslog-ngでNewRelicに転送するには:

  1. syslog-ngがTLS暗号化を使用してログを送信できるようにするために必要なca-certificatesをインストールします。

    bash
    sudo yum install ca-certificates
  2. テキストエディタでsyslog-ng構成ファイル( /etc/syslog-ng/syslog-ng.conf )を開きます。

  3. を追加してモニターするソースを定義します。

    source s_src {
    internal();
    };
  4. オプション: Sources構成ブロックに以下を追加して、 syslog-ngをテールファイルに構成します。

    source s_files {
            file("PATH_TO_FILE");
    };
  5. New Relic syslogフォーマットを定義します。YOUR_LICENSE_KEYには、 New Relic ライセンス キーを使用します。

    template NRFormat { template("YOUR_LICENSE_KEY <${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} ${SDATA:--} $MSG\n");
            template_escape(no);
    };
  6. New Relic Syslogのエンドポイントを追加します。

    destination d_newrelic {
    network("newrelic.syslog.nr-data.net" port(6514)
    transport("tls")
    tls(peer-verify(no))
    template(NRFormat)
    );
    };
  7. ログパス設定ブロックに以下の出力を追加します。

    log {
    source(s_src);
    source(s_files); ## in case step 4 is implemented.
    destination(d_newrelic);
    };
  8. 次のコマンドを実行してsyslog-ngを再起動します。

    bash
    $
    sudo service syslog-ng restart
  9. New Relic アカウント のログを確認してください。

ヒント

Docker コンテナーから syslog-ng を実行していて問題が発生した場合は、 balait/syslog イメージのドキュメントを確認してください。

Copyright © 2022 New Relic Inc.

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