New Relic Now Start training on Intelligent Observability February 25th.
Save your seat.

New Relic Infrastructure agent log forwarder

これまで、New Relic Logsにログを送るにはfluentdやfluentbit などのインストールと構成が必要でした。

New Relic Infrastructure Agent がログファイル送信に対応したことで、LinuxやWindowsのログを簡単にNew Relic Logsに送る事ができるようになります。

機能概要

  • New Relic Infrastructure AgentからNew Relic Logsにログファイルを送信します。
  • この機能は現在パブリックベータとなります。今後設定方法や動作が変更される可能性があります。
  • 2020/03/30 時点ではWindows イベントログには非対応です。
  • WindowおよびLinuxのテキスト形式のログファイルを送信することができます。
  • systemd / journald / テキストファイル / ログファイルフォルダ を指定してログを送信することができます。
  • セキュリティーに配慮し意図しないログが送信されることが無いよう、New Relic Infrastructureをインストール/更新しただけではログは送信は開始されません。
  • 新しいNew Relic Infrastructure Agent がインストールされる際に一緒にfluentbit が展開され、YAMLファイルを特定のディレクトリに配置するだけでログの収集が可能になります。

設定方法

Windows

  1. Microsoft Visual C++ 再頒布可能パッケージ をインストールします。
  2. New Relic Infrastructure Agent を1.11.4 以上をインストールまたはアップデートします。
  3. 新しく C:\Program Files\New Relic\newrelic-infra\logging.d フォルダが作成されます。
  4. logging.dフォルダ内にログファイルを指定するYAMLファイルを作成します。
  5. ログが追記されるのを待つあるいは、ユーザ自身で追記して動作確認をします。
  6. New Relic One のLogsから取得したログが確認出来ます。

ログファイルを指定するYAMLは以下書式になります。

ファイル名:newrelic-infra-log.yml ※拡張子をymlにします

logs:

- name: "newrelic-infra_log" # name for decorating the logs

  file: C:\ProgramData\New Relic\newrelic-infra\newrelic-infra.log # input source

Linux

  1. New Relic Infrastructure Agent を1.11.4 以上をインストールまたはアップデートします。
  2. 新たに/etc/newrelic-infra/logging.d/ ディレクトリが自動的に作成されます。
  3. logging.dディレクトリ直下にログファイルを指定するYAMLファイルを作成します。
  4. ログが追記されるのを待つあるいは、ユーザ自身で追記して動作確認をします。
  5. New Relic One のLogsから取得したログが確認出来ます。

ログファイルを指定するYAMLは以下書式になります。

linux-logs.yml

logs:

- name: "messages"

  file: /var/log/messages

- name: "secure"

  file: /var/log/secure

- name: "maillog"

  file: /var/log/maillog

YAMLファイルの項目

YAMLファイルを作成する際には、次の項目が利用できます。

タイプ キー 説明文
decorator name 設定名 New Relicに送信はされません。設定ファイルの構造化に利用できます
source file ログファイルパス

エージェントは、tail -f コマンドと同じようにログファイルの変更を追跡します。

ワイルドカードやパターンを使用して、特定のログファイルや複数のログファイルを指し示すことができます。

例:/logs/*.log

source folder ログディレクトリへのパス。

ディレクトリ内のすべてのファイルを対象にすることができます。

source| (Linux) systemd サービス名。

systemd によって起動されるサービス名を指定します。

journald デーモンからログメッセージが収集されます。このタイプを指定する場合、エージェントをルートモードで実行する必要があります。

setting max_line_kb 1行当たりの最大ログサイズをKB単位で指定します。

このサイズを超えたログメッセージはスキップされます。

デフォルト値は128KBです。

filter pattern 正規表現に基づいて特定のレコードをのみを収集するようにフィルタリングすることができます。

 

ドキュメント

New Relic Infrastructure からのログ送信は現在パブリックベータとなります。

設定方法やYAMLファイルの書式、動作などが変更となる可能性があります。

利用を検討される際には、再度ドキュメントをご確認ください。

まとめ

これまで、New Relic Logsにログを送る場合にはFluentd plugin等のインストールやライセンスキーの取得

Configファイルの設定等多くの手順が必要となっていました。

New Relic Infrastructure からのログ送信の登場により、少量のYAMLファイルを記述するだけでOSのログを収集することが可能となります。

GAに向けて改善もすすみますのでトライアルいただければ幸いです。


無料トライアル