概要
本ブログでは、ファーストステップガイドとして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. ログ転送オプションの選定
New Relicにログを転送するには、以下の方法を選択することができます。
- New Relicのエージェントを使用する方法。
- サードパーティのログサービスを使用する方法。Amazon、Microsoft、Fluentd、Fluent Bit、Kubernetes、Logstashなど、他のログ サービスとの幅広いインテグレーションがあります。
- New Relic Log APIを使用する方法
- New Relic TCPエンドポイントを使用する方法
ユースケース毎の選定例
ユースケース毎にどのログ転送オプションを選定できるか幾つか選定例を記載します。
ユースケース | 選択オプション |
---|---|
ユースケースディスク上のローカルファイルに書き込まれたログを収集する | 選択オプション |
ユースケースクラウドプラットフォームからログを収集する | 選択オプション |
ユースケースアプリケーションのログを収集する | 選択オプション |
ユースケースsyslogクライアントを使用してログを転送する | 選択オプション |
ユースケース上記にあてはまらないユースケース | 選択オプション |
クラウドプラットフォームの転送オプションでは、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にアラートを通知、ダッシュボードで可視化することなどが出来るようになりますので是非、ご利用ください。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。