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
- Microsoft Visual C++ 再頒布可能パッケージ をインストールします。
- New Relic Infrastructure Agent を1.11.4 以上をインストールまたはアップデートします。
- 新しく C:\Program Files\New Relic\newrelic-infra\logging.d フォルダが作成されます。
- logging.dフォルダ内にログファイルを指定するYAMLファイルを作成します。
- ログが追記されるのを待つあるいは、ユーザ自身で追記して動作確認をします。
- 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
- New Relic Infrastructure Agent を1.11.4 以上をインストールまたはアップデートします。
- 新たに/etc/newrelic-infra/logging.d/ ディレクトリが自動的に作成されます。
- logging.dディレクトリ直下にログファイルを指定するYAMLファイルを作成します。
- ログが追記されるのを待つあるいは、ユーザ自身で追記して動作確認をします。
- 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に向けて改善もすすみますのでトライアルいただければ幸いです。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。