重ね合わされたデータが使われたオレンジとブルーの画面

概要

本ブログでは、ファーストステップガイドとしてNew Relic Logsの利用を開始するためのステップについてご紹介いたします。

New Relic アカウントをお持ちでない場合は  これからはじめるNew Relicライフ! 無料でアカウントを開設しよう!をご覧ください。

New Relic Logsとは

New RelicではあらゆるログをNew Relicに集約することができます。例えば、マイクロサービスなどの分散システムでは、トラブルシューティングに必要なログが分散していると調査に時間がかかり、各種ログの関連性を分析するのも困難になります。大量のログの中から必要な情報だけを抽出するために複雑な運用手順が必要なケースもあるでしょう。

分散しているあらゆるログをNew Relicに集約し、システムを横断して分析できるようになれば、トラブルシューティングを迅速に行うことができるようになります。

New Relic Logsの主な特徴は以下4点になります。

  • SaaSによるログの集中管理
  • 高速にログを検索することができるインターフェース
  • テキストや属性値で簡単にログ検索
  • 多様なツールからのログの収集

New Relicでは投稿日時点で以下のログ転送のオプションをサポートしています。

New Relic Logsを利用するまでのステップ

New Relic Logsを利用するまでのステップは以下3点になります。

  1. ログ転送オプションの選定
  2. 利用するログ転送オプションの設定
  3. ログが取り込まれていることを確認

1. ログ転送オプションの選定

New Relicにログを転送するには、以下の方法を選択することができます。

ユースケース毎の選定例

ユースケース毎にどのログ転送オプションを選定できるか幾つか選定例を記載します。

ユースケース 選択オプション
ユースケースディスク上のローカルファイルに書き込まれたログを収集する 選択オプション
  • インフラストラクチャエージェントを使用
  • Fluent Bit、Fluentdなど既存のログフォワーダーのプラグインを使用
  • ユースケースクラウドプラットフォームからログを収集する 選択オプション
  • Amazon AWSGoogle Cloud PlatformMicrosoft AzureHerokuなどのクラウド プラットフォームから、サービスレベル ログ、アプリケーション ログ、インフラストラクチャ ログ、または上記のすべてを収集します。
  • ユースケースアプリケーションのログを収集する 選択オプション
  • APMエージェントを使用
  • ユースケースsyslogクライアントを使用してログを転送する 選択オプション
  • New Relic TCPエンドポイントを使用
  • ユースケース上記にあてはまらないユースケース 選択オプション
  • New Relic Log APIを使用
  • その他利用可能なオプションを使用
  • クラウドプラットフォームの転送オプションでは、Amazon AWSの場合、以下5つのオプションをサポートしています。

    2.利用するログ転送オプションの設定

    それぞれの転送オプションに合わせた設定を実施します。

    各プラグインの設定方法については公式ドキュメントをご参照ください。

    インフラストラクチャエージェントの設定例

    本ブログではLinuxのインフラストラクチャエージェントでログ転送を設定する方法を紹介します。

    インフラストラクチャエージェントをインストール

    ガイド付きインストールを使用してインフラストラクチャエージェントをインストールします。

     

    ガイド付きインストールの「Copy and run the command」で案内されているコマンドをLinuxサーバーで実行することでインフラストラクチャエージェントがインストールされます。

    curl -Ls https://download.newrelic.com/install/newrelic-cli/scripts/install.sh | bash && sudo  NEW_RELIC_API_KEY=**** NEW_RELIC_ACCOUNT_ID=**** /usr/local/bin/newrelic install

    ログ転送設定

    インフラストラクチャエージェントはYAML形式で記述された構成ファイルを取り込むことができます。構成ファイルにログを転送する設定を記述することで簡単にログ転送を実現できます。

    Linux、Windowsの構成ファイルの格納場所は以下になります。

    • Linux : /etc/newrelic-infra/logging.d/
    • Windows : C:\Program Files\New Relic\newrelic-infra\logging.d\

    これらのディレクトリに構成ファイルを配置すれば、インフラストラクチャエージェントを再起動しなくてもログ転送を開始できます。

    例で、nginxのアクセスログを転送する設定を記載します。

    logs:
      - name: nginx-access-log
        file: /var/log/nginx/access.log
        attributes:
          logtype: nginx
          env: dev
    • ファイルパス名:  /etc/newrelic-infra/logging.d/nginx.yml
    • name: 転送するログファイルの名前を設定します
    • file: 実際に転送するログファイルのパスを指定します。ワイルドカードを使用して、複数のファイルを指定することができます(例:/var/log/nginx/*.log)など
    • attributes: ログにカスタムの属性(Key-Value)を付与します。例えば、「env: dev」と設定することで、このログがDev環境のログであることが判別できるようになります。logtypeを指定すると、自動的にログの中身が属性として変換・認識されてNew Relicに取り込まれます。上の例ではnginxのログフォーマットを指定していますが、New Relicでは、LinuxのSyslogやApacheなど多くのログタイプがサポートされています。ログタイプの詳細はこちらをご参照下さい。

     

    3.ログが取り込まれていることを確認

    ログの転送設定が完了しましたら、ログが取り込まれているかNew Relic Logs UI上で確認します。

    attributesの属性(Key-Value)でログの検索ができるため、今回は[Search for Logs using Lucene]の箇所]にenv:"dev"と入力して検索をかけてみます。

     

    検索に引っかかったログをクリックすると、ログの詳細を確認することができます。

    おわりに

    あらゆるログデータをNew Relicに集約することで、様々な観点でログを高速に検索、分析できるようになります。また、ログの検索結果からEmailやSlackにアラートを通知、ダッシュボードで可視化することなどが出来るようになりますので是非、ご利用ください。