ログを New Relic に転送すると、すべてのログ データが 1 か所で利用できるようになり、アプリケーションとプラットフォームのパフォーマンス データの両方をより詳細に可視化できます。ログを 1 か所にまとめて、ログ データで見つかったエラーや異常を収集、処理、調査、クエリ、およびアラートできます。
ホストの UI から、選択した期間のイベントのコンテキストにログが配置されます。強調表示された属性の詳細データにドリルダウンできます。
インフラストラクチャ エージェントはログ転送機能を有効にするため、ログの転送方法はインフラストラクチャ エージェントのインストール方法によって異なります。次の方法でインフラストラクチャ エージェントをインストールできます。
ガイド付きインストール (ほとんどのユーザーに推奨) 手動インストール Linux ターボール 重要 Linux バージョンのインフラストラクチャ エージェント、具体的にはバージョン 1.42.0 は、td-agent-bit パッケージの使用から Fluent-bit パッケージに移行しました。この変更は、メジャー バージョン 2.x アップデートの後、fluent-bit が td-agent-bit フレーバーで配布されなくなったため、必要になりました。
スムーズな操作を確保し、fluent-bit パッケージに問題が発生した場合に td-agent-bit に戻すオプションを提供するために、インフラストラクチャ エージェントは両方のパッケージ (td-agent-bit と fluent-bit) をインストールするようになりました。デフォルトでは、エージェントは Fluent-bit を使用するように構成されています。
ロールバック方法の詳細については 、「Fluent Bit 1.9 へのロールバック」 を参照してください。
システム要求 インフラストラクチャ・エージェント・バージョン1.11.4以上 流暢なビット 。インフラストラクチャエージェントは、すでに最新バージョンをインストールしています。特定のバージョンに更新またはダウングレードするには、FluentBitのインストール 手順を参照してください。OpenSSL ライブラリ 1.1.0以上 LinuxシステムでのARM64アーキテクチャ(AWS Gravitonアーキテクチャなど)の組み込みサポートがインフラストラクチャエージェント1.20.6 に追加されました。 Amazon Linux 2 および 2023 (ARM64 は 2023 ではサポートされません) CentOS バージョン 7、8、および 9 ストリーム (Rocky Linux および AlmaLinux もサポートされています) RedHat バージョン 7、8、9 Debian バージョン 9 (ストレッチ)、10 (バスター)、および 11 (ブルズアイ)。 SUSE Linux Enterprise Server (SLES) バージョン 12 および 15 (ARM64 はサポートされていません)。 Ubuntu バージョン 16.04.x、18.04.x、20.04.x、22.04.x(LTS バージョン)。 Windows Server 2012、2016、2019、2022、およびそれらのサービスパック。 Windows 10、Windows 11。 ガイド付きインストールによるログの自動転送 ガイド付きインストールを使用してインフラストラクチャ エージェントをインストールすると、インストール プロセス中にログ転送機能が自動的に構成されます。まだお持ちでない場合は、以下で無料の New Relic アカウントを作成して、今すぐデータの監視を開始してください。
インストールを開始するには、展開方法を選択します。
手動でインストールされたエージェントでログ転送を有効にする インフラストラクチャ エージェントを手動でインストールするには、 チュートリアルに従ってパッケージ マネージャーをインストールする か、 MSI インストーラー (Windows) を確認してください。
手順 1.インフラストラクチャ エージェントを構成する 構成ファイルは、New Relic に表示するログ ソースをシステムに転送するように指示します。構成ファイルはいくつでも追加できます。インフラストラクチャ エージェントは、 .yml
ファイルを使用してロギングを構成します。UI の [データの追加] からインフラストラクチャ エージェントをインストールすると、ファイルlogging.yml
が自動的に作成されます。
ログ転送機能の新しい構成ファイルを追加するには、次のようにします。
ログフォワーダー構成フォルダーに移動します。
Linux: /etc/newrelic-infra/logging.d/
ウィンドウズ: C:\Program Files\New Relic\newrelic-infra\logging.d\
logging.yml
構成ファイルを作成し、必要なパラメータを追加します。 logging.d
ディレクトリには、参照または開始点として使用できるさまざまな .yml.example
ファイルがあります。Windows の例については、 Github リポジトリを 参照してください。
file : /var/log/logFile.log
- name : file - with - spaces - in - path
file : /var/log/folder with spaces/logFile.log
- name : file - with - attributes
file : /var/log/logFile.log
maintainer : example@mailprovider.com
- name : log - files - in - folder
- name : log - file - with - long - lines
file : /var/log/logFile.log
- name : only - records - with - warn - and - error
file : /var/log/logFile.log
エージェントは、インフラストラクチャ監視サービスを再起動しなくても、新しい構成ファイルを自動的に処理します。これに対する唯一の例外は、カスタムFluentBit構成を構成する場合です。
ステップ 2. ログ転送パラメーターを設定する ログ転送.yml
構成ファイルでname
およびログ ソース パラメータを設定する必要があります。まず、New Relic に転送するログのname
を定義します。
ログ ソースに何を使用するかは、ログのソースとなる場所によって異なります。ログ ソースに使用できるオプションは次のとおりです。
ファイル ログ ファイルへのパス。エージェントは、 tail -f
シェルと同様の方法でログ ファイルの変更を追跡します。
Example:
file : /var/log/example.log
file : /var/log/example - two.log
file
パラメータは、名前と拡張子に適用されるワイルドカードを使用して、特定のログファイルまたは複数のファイルを指すことができます。たとえば、 /logs/*.log
。ファイルパス内のディレクトリの代わりにワイルドカードを使用できます。これを使用して、別のディレクトリにあるファイルを調整できます。
Example:
file : /var/lib/docker/containers/ */*.log
重要 ワイルドカードを使用すると、ファイル記述子の数が大幅に増加し、Fluent Bitプロセスが開いたままになるのを監視します。これにより、ホストのファイル記述子の制限に達した場合にログの収集が妨げられる可能性があります。多数のファイルをテーリングするには、ファイル記述子の最大数を増やし、オペレーティングシステムで許可されているウォッチャーをinotifyする必要がある場合があります。ログファイルを増やす方法の詳細については、大量のログファイルをテーリングするときのエラーを 参照してください。
systemd Linux環境でjournald
デーモンによって収集されたログメッセージを転送するには、 systemd
パラメーターを使用します。この入力タイプでは、エージェントがルートモード で実行されている必要があります。
Example:
syslog Syslogデータソース。
Parameters:
uri:
Syslogソケット。形式はプロトコルによって異なります。
TCP / UDPネットワークソケット: [tcp/udp]://LISTEN_ADDRESS:PORT
Unixドメインソケット: unix_[tcp/udp]:// + /socket/path
parser:
Syslogパーサー。デフォルトはrfc3164
です。メッセージに秒の小数部が含まれている場合は、 rfc5424
を使用します。注: rfc3164
は現在SuSEでは機能しません。
unix_permissions:
ドメインソケットのデフォルトは0644
です。これにより、エントリは root として実行されるプロセスに制限されます。0666
を使用すると、root 以外のプロセスをリッスンできます (自己責任で)。
エージェントを特権モード で実行する場合、他のプロセスがソケットにログを書き込むことができるように、ポートとソケットは、 nri-agent
によって使用可能または所有されており、 0666
ファイル権限を持つ必要があります。
- name : syslog - unix - tcp - test
uri : unix_tcp : ///var/unix - tcp - socket - test
- name : syslog - unix - udp - test
uri : unix_udp : ///var/unix - udp - socket - test
tcp TCP接続を介して取得されたログ。
Parameters:
uri:
受信データをリッスンするための TCP/IP ソケット。URI 形式はtcp://LISTEN_ADDRESS:PORT
です。
format:
データの形式。json
またはnone
を指定できます。
separator:
format: none
を使用する場合は、レコードを分割するための区切り文字列を定義できます(デフォルト: \n
)。
winevtlog 重要 インフラストラクチャ エージェント v.1.24.3 以降で利用可能Windows Server 2019 以降とのみ互換性があります。以前のバージョンでは代わりにwinlog を 使用してください。
winevtlog Fluent Bitプラグイン を使用して、新しいWindowsイベントログAPIを使用してWindowsログチャネルからイベントを収集します。
Parameters:
channel
: ログが収集されるチャネルの名前。
collect-eventids
: 収集され、New Relic に転送される Windows イベント ID のリスト。イベント ID の範囲がサポートされています。
exclude-eventids
: 収集から除外する Windows イベント ID のリスト。イベント ID の範囲がサポートされています。
use-ansi
: winevtlog メッセージには ANSI エンコードを使用します。Windows Server 2016 以前のバージョンではデフォルトで ANSI エンコードを使用し、新しいバージョンでは UTF-8 を使用します。これらのデフォルトがユースケースに適合しない場合は、この構成パラメータでこの動作をオーバーライドできます。
デフォルトでは、すべてのイベントは指定されたチャネルから収集されます。New Relicアカウントに不要なログが送信されないように、 collect-eventids
セクションとexclude-eventids
セクションを構成します。
イベントIDまたは範囲をcollect-eventids
またはexclude-eventids
に追加して、特定のイベントを転送またはドロップします。同じイベントIDが両方のセクションに存在する場合、 exclude-eventids
はcollect-eventids
よりも優先されます。
Example:
logtype : windows_security
- name : windows - application
logtype : windows_application
winlog 重要 Winlog は従来のイベント ログのみを収集できます。他のユーザーをキャプチャしようとすると、サイレント モードでアプリケーション ログが収集されます。
Windowsログチャネルからイベントを収集します。
Parameters:
channel
: ログが収集されるチャネルの名前。カスタムチャンネルでは機能しません。
collect-eventids
: 収集され、New Relic に転送される Windows イベント ID のリスト。イベント ID の範囲がサポートされています。
exclude-eventids
: 収集から除外する Windows イベント ID のリスト。イベント ID の範囲がサポートされています。
use-ansi
: winlog メッセージに ANSI エンコードを使用します。Windows Server 2016 以前のバージョンではデフォルトで ANSI エンコードを使用し、新しいバージョンでは UTF-8 を使用します。これらのデフォルトがユースケースに適合しない場合は、この構成パラメータでこの動作をオーバーライドできます。
デフォルトでは、すべてのイベントは指定されたチャネルから収集されます。New Relicアカウントに不要なログが送信されないように、 collect-eventids
セクションとexclude-eventids
セクションを構成します。
イベントIDまたは範囲をcollect-eventids
またはexclude-eventids
に追加して、特定のイベントを転送またはドロップします。同じイベントIDが両方のセクションに存在する場合、 exclude-eventids
はcollect-eventids
よりも優先されます。
Example:
logtype : windows_security
- name : windows - application
logtype : windows_application
ステップ 3. 主要な属性を定義する これらの構成パラメータは必須ではありませんが、これらの構成をlogging.yml
ファイルに適用して、ログ転送を最大限に活用することをお勧めします。
属性 キーと値のペアとして指定されたカスタム属性のリスト。ログとともに追加のデータを送信するために使用でき、その後クエリを実行できます。attributes
構成パラメーターは、任意のログソースで使用できます。
重要 attributes
構成パラメーターは、外部Fluent Bit構成を介して(たとえば、 fluentbit
構成パラメーターを使用して)転送されるログにカスタム属性を追加しません。このシナリオでは、 FluentBitドキュメント のrecord_modifier
オプションを参照する必要があります。
attributes
設定の問題の一般的な使用法の 1 つは、 logtype
属性を指定することです。 この属性により、New Relic のログ管理 機能でサポートされる組み込みの解析ルールの 1 つを利用できるようになります。
Example:
- name : example - file - attributes
file : /var/log/example.log
- name : example - tcp - attributes
インフラストラクチャエージェントによって自動的に挿入される属性 インフラストラクチャエージェントは、便宜上、ログ属性を自動的に挿入します。それらのいくつかはログレコードに挿入されますが、その他はログフォワーダーのセットアップ中に使用した構成パラメーターに依存します。
属性名
説明
entity.guids
常に挿入されます。
インフラストラクチャ エージェントは、New Relic によって割り当てられた エンティティ GUID を 挿入して、実行されているホストを識別します。これは、 entity.guids
フィールドで使用できます。
注:キャプチャされたログがAPMを使用してインストルメント化されたアプリケーションに属している場合、 entity.guids
フィールドには、インフラストラクチャのエンティティGUIDとAPMのGUIDの両方が、パイプ(|)区切り文字で区切られて含まれます。
fb.input
常に挿入されます。
ログのキャプチャに使用される基になるFluentBit入力プラグインタイプ 。現在、その値はtail
、 systemd
、 winlog
、 syslog
、およびtcp
です。
filePath
file
入力タイプを使用するときに挿入されます。
監視対象のファイルの絶対ファイルパス。
hostname
常に挿入されます。
インフラストラクチャエージェントを実行しているマシン/VM/コンテナのホスト名。
plugin.type
常に挿入されます。
ログのキャプチャに使用されるユーティリティを示します。この場合、それはインフラストラクチャエージェント自体であるため、この属性の値は常にnri-agent
です。
パターン レコードをフィルタリングするための正規表現。tail
、 systemd
、 syslog
、およびtcp
(形式none
の場合のみ)のソースでのみサポートされます。
このフィールドは、Unixシステムのgrep -E
と同じように機能します。たとえば、キャプチャされている特定のファイルについて、次を使用してWARN
またはERROR
のいずれかを含むレコードをフィルタリングできます。
- name : only - records - with - warn - and - error
file : /var/log/logFile.log
デフォルトでは、フィルタリングは適用されません。
max_line_kb ログエントリ/行の最大サイズ(KB単位)。ログエントリが制限を超えると、スキップされます。デフォルトは128
です。
fluentbit 外部FluentBit 構成およびパーサーファイル。定義されている場合、それらはインフラストラクチャエージェントによって生成された既存の構成ファイルおよびパーサーファイルとマージされます。
インフラストラクチャエージェントは、 logging.d
ディレクトリにある構成ファイルを処理し、適切な[INPUT]
、 [FILTER]
、および[OUTPUT]
セクションを含むランタイムFluentBit構成ファイルを生成します。オプションで、 fluentbit
オプションを介して外部Fluent Bit構成ファイルを提供した場合は、 @INCLUDE
も宣言します。
ランタイム ファイルで[SERVICE]
セクション が定義されていないため、すべてのデフォルトの Fluent Bit 構成値が残されています。外部の Fluent Bit 構成ファイルで独自の[SERVICE]
セクションを定義し、 fluentbit
オプションを介して含めることで、Fluent Bit のデフォルト設定をオーバーライドできます。
Parameters:
config_file:
既存の Fluent Bit 構成ファイルへのパス。重複するソースがあると、ログ UI で重複したメッセージが表示されることに注意してください。
parsers_file:
既存のFluentBitパーサーファイルへのパス。次のパーサー名が予約されています: rfc3164
、 rfc3164-local
、およびrfc5424
。
重要 このドキュメントで説明されているように、インフラストラクチャ エージェントでは、 logging.d/
ディレクトリ内の YAML ファイルに単純なログ転送構成を定義することで、最も一般的なユースケースのログを転送できます。これらのファイルは、正しい形式と適切な構成デフォルトを備えた Fluent Bit 構成ファイルに内部で変換されます。New Relic は、生成された設定ファイルが正しく動作することを保証するため、これらの設定オプションの公式サポートを提供します。
ただし、サポートされている構成オプションでカバーされていないユースケースについては、 fluentbit
、 config_file
、およびparsers_file
オプションを使用して、外部で生成された Fluent Bit 構成およびパーサー ファイルを使用する可能性を提供します。
注: 提供された構成は完全に任意であり、エージェントによって生成/検証されていないため、この場合、転送されたログが正しく動作することは保証できません。したがって、New Relic は、これらのオプションで指定された外部構成に対する公式サポートを提供しません。
サンプル構成ファイル YAML形式のlogging.d/
構成ファイルの例を次に示します。その他の構成例については、インフラストラクチャエージェントリポジトリを参照してください 。
logging.d/sample.yaml - name : file - with - attributes
- name : syslog - unix - tcp - test
uri : unix_tcp : ///var/unix - tcp - socket - test
- name : syslog - unix - udp - test
uri : unix_udp : ///var/unix - udp - socket - test
someOtherAttribute : associatedValue
yetAnotherAttribute : 12345
config_file : /path/to/fluentbit.config
parsers_file : /path/to/fluentbit/parsers.conf
ステップ 4. ログデータを表示する すべてが正しく構成され、データが収集されている場合は、次の場所にログと関連するテレメトリデータが表示されます。
オンホスト統合のログを有効にする インフラストラクチャエージェントをインストールすると、最も一般的なオンホスト統合の自動ログ解析と転送を1つのステップで有効にできます。この機能を有効にするには、 on-host-log.yml.example
ファイルの名前をon-host-log.yml
に変更します。完了すると、統合のログが自動的に解析され、NewRelicに送信されます。
このオプションは、サポートされているLinuxプラットフォーム で使用できます。
オンホスト統合ログ転送機能を有効にするには:
Elasticsearchログ elasticsearch-log.yml.example
ファイルをコピーするか、名前をelasticsearch-log.yml
に変更して、Elasticsearch JSON 形式のログの自動解析と New Relic への転送を有効にします。エージェントを再起動する必要はありません。
Example:
$ sudo cp /etc/newrelic-infra/logging.d/elasticsearch-log.yml.example /etc/newrelic-infra/logging.d/elasticsearch-log.yml
MySQLログ MySQL エラー ログの自動解析と New Relic への転送を有効にするには、 mysql-log.yml.example
ファイルをコピーするか名前をmysql-log.yml
に変更します。エージェントを再起動する必要はありません。
Example:
$ sudo cp /etc/newrelic-infra/logging.d/mysql-log.yml.example /etc/newrelic-infra/logging.d/mysql-log.yml
NGINXログ nginx-log.yml.example
ファイルをコピーするか、名前をnginx-log.yml
に変更して、自動 NGINX アクセスとエラー ログの解析と New Relic への転送を有効にします。エージェントを再起動する必要はありません。
Example:
$ sudo cp /etc/newrelic-infra/logging.d/nginx-log.yml.example /etc/newrelic-infra/logging.d/nginx-log.yml
Rabbitmqログ rabbitmq-log.yml.example
ファイルをコピーするか、名前をrabbitmq-log.yml
に変更して、Rabbitmq エラー ログの自動解析と New Relic への転送を有効にします。エージェントを再起動する必要はありません。
Example:
$ sudo cp /etc/newrelic-infra/logging.d/rabbitmq-log.yml.example /etc/newrelic-infra/logging.d/rabbitmq-log.yml
Redisログ Redis エラー ログの自動解析と New Relic への転送を有効にするには、 redis-log.yml.example
ファイルをコピーするか名前をredis-log.yml
に変更します。エージェントを再起動する必要はありません。
Example:
$ sudo cp /etc/newrelic-infra/logging.d/redis-log.yml.example /etc/newrelic-infra/logging.d/redis-log.yml
Linuxtarballを使用してインストールされたエージェントでログ転送を有効にする インフラストラクチャ監視用のカスタム Linux インストール プロセスを使用すると、インストール プロセスのあらゆる側面を調整し、マシン上にファイルやフォルダを配置できます。支援 または手動の tarball インストール プロセスを選択した場合は、次の手順に従ってログ フォワーダー機能を実装します。
次のディレクトリを作成します。 /var/db/newrelic-infra/newrelic-integrations/logging
/etc/newrelic-infra/logging.d
次のようなコマンドを実行して、New Relicのfluent-bit-package(RPM) をダウンロードしてインストールします。
$ yum localinstall fluent-bit- < some-version > .rpm`
New Relicのfluentbitプラグイン をダウンロードし、 /var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so
として保存します。
この Github リポジトリ からparsers.conf
ファイルをダウンロードまたはコピーし、 /var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf
として保存します。
このドキュメントはインストールの役に立ちましたか? トラブルシューティング ログフォワーダーの構成で問題が発生した場合は、次のトラブルシューティングのヒントを試してください。
ファイルをテーリングするときにデータが表示されない ログ転送機能では、エージェントがデータソースを読み取るためのアクセス許可を持っている必要があります。インフラストラクチャエージェントを特権モードまたは非特権モード で実行する場合は、転送するログファイル(およびそのパス内の中間ディレクトリ)が、 nri-agent
を実行しているユーザーが読み取れることを確認してください。
Example: Check file access under Linux
nri-agent
ユーザーがファイル/var/log/restrictedLogs/logFile.log
を監視できるかどうかを確認しましょう。Linuxでは、 namei
コマンドを使用して簡単なチェックを行うことができます。
$ sudo -u nri-agent namei -ml /var/log/restrictedLogs/logFile.log
$ f: /var/log/restrictedLogs/logFile.log
$ drwxr-xr-x root root var
$ drwxrwxr-x root syslog log
$ drwxr--r-- root root restrictedLogs
$ logFile.log - No such file or directory
ファイルがnri-agent
ユーザーに表示されないため、このコマンドは失敗しました。前の出力を調べることにより、 restrictedLogs
ディレクトリにothers
の実行フラグがないことを検出できます。
これを修正するには、次を実行します。
$ sudo chmod 755 /var/log/restrictedLogs
次に、ファイルアクセスを再度確認します。
$ f: /var/log/restrictedLogs/logFile.log
$ drwxr-xr-x root root var
$ drwxrwxr-x root syslog log
$ drwxr-xr-x root root restrictedLogs
$ -rw-r----- vagrant vagrant logFile.log
これで、ファイルはnri-agent
ユーザーに表示されます。nri-agent
ユーザーもファイルを読み取れるようにする必要があります。これを確認するには、次を使用します。
$ head: cannot open '/var/log/restrictedLogs/logFile.log' for reading: Permission denied
この例では、ファイルにothers
グループ( vagrant
およびvagrant
ユーザーグループ以外のユーザー)の読み取り権限がありません。others
に読み取り権限を付与することでこれを修正できますが、アプリケーションは再起動時にこれらの権限を変更する可能性があります。
これを回避するには、 nri-agent
ユーザーをvagrant
ユーザーグループに追加することをお勧めします。
Syslogソケットを介してキャプチャするときにデータが表示されない ログ転送機能には、エージェントがデータソースを読み取る権限を持っている必要があります。インフラストラクチャエージェントを特権モードまたは非特権モード で実行する場合:
Unixドメインソケットファイルを使用している場合は、nri-agent
ユーザーがこれらのファイルにアクセスできること(前のセクションを参照してください)と、他のユーザーが読み取りおよび書き込み権限(666
)を持っていることを確認してください。 nri-agent
よりも多くのユーザーが書き込み可能です。
IPソケットを使用している場合は、使用しているポートがシステムで予約されているポートではないことを確認してください(たとえば、ポート80
など)。
ログ管理を有効にしてもデータが表示されない場合は、標準のログ管理のトラブルシューティング手順 に従ってください。
インフラストラクチャエージェントプロキシを使用してデータが表示されない インフラストラクチャ エージェントの構成ガイドライン で説明されているように、 proxy
パラメータは HTTP または HTTPS を使用し、 https://user:password@hostname:port
の形式にする必要があります。エージェントは HTTP または HTTPS を使用せずにパラメーターを解析できますが、ログ フォワーダーは解析できません。エージェントの詳細ログに次のようなエラーが表示されます。
[ERROR] building HTTP transport: parse \"hostname:port\":
first path segment in URL cannot contain colon
この問題を解決するには、 newrelic-infra.yml
ファイルをチェックし、 proxy
パラメータがこのフォームに準拠していることを確認してください。
証明書を指定するためにcaBundleFile
またはcaBundleDir
を使用している場合は、OSごとに以下のルールに従うことをお勧めします。
Linux
HTTP
プロキシの場合は、証明書を設定する必要はありません。 プラグインはシステム証明書をロードし、New Relic はログをロギングエンドポイントに送信します。 ただし、 caBundleFile
またはcaBundleDir
のいずれかを使用して、プロキシの自己署名証明書 (PEM ファイル) を指定できます。
Windows
HTTP
プロキシの場合、証明書を設定する必要はありません。プラグインはシステム証明書をロードします。
HTTPS
の場合、次のいずれかの方法で構成できます。
(推奨) プロキシ証明書をシステム プールにインポートします。 MMC ツールを使用して、プロキシ自己署名証明書 (PEM ファイル) をインポートします。 このリンク を参照し、 Step 2 で、それをIntermediate Certification Authorities
ではなくTrusted Root Certification Authorities
にインポートしてください。 caBundleFile
およびcaBundleDir
パラメータを使用する Windows では、システム証明書プールからの証明書と、 caBundleFile
caBundleDir
パラメータで指定された証明書の両方をロードすることはできません。したがって、 caBundleFile
またはcaBundleDir
を使用している場合は、次の証明書が同じ PEM ファイル ( caBundleFile
を使用する場合) または同じディレクトリ ( caBundleDir
を使用する場合) に配置されていることを確認してください。プロキシ証明書 ( HTTPS
プロキシであるため)。
ロギング エンドポイント証明書 (例:https://log-api.newrelic.com/log/v1
)。
インフラストラクチャ エージェント証明書 (例:https://infra-api.newrelic.com
)。
次のコマンドを実行して、証明書を確認できます。
インフラストラクチャエージェントのログをNewRelicに送信する 独自のログをNewRelicに送信するようにインフラストラクチャエージェントを設定できます。これは、ログ転送、エージェントに関する問題のトラブルシューティング、またはサポート に連絡するときに役立ちます。
重要 トレース ログは、大量のデータを非常に迅速に生成します。ディスク容量の消費とデータの取り込みを減らすために、ログの生成が終了したら、必ずlevel: info
(またはそれ以下) を設定してください。
インフラストラクチャエージェントのログをNewRelicに転送するには:
newrelic-infra.yml
ファイルを編集します。
次の構成スニペットを追加して、New Relic へのログ転送を有効にします。
エージェントを再起動して 、新しい設定をロードします。
この設定では、エージェントがトラブルシューティングモードに設定されますが、ログフォワーダ( Fluent Bit に基づく)は非冗長モードで続行されます。
ログ転送で詳細モードを有効にする (Fluent Bit) 場合によっては、ログ フォワーダー自体に問題が発生することがあります。たとえば、Windows ログ イベントの送信時や特定のログ ファイルへのアクセス時に、特定のチャネルへのアクセスに問題が発生する場合があります。このような状況では、ログ フォワーダーの冗長モードを有効にすることもできます。
重要 トレース ログは、大量のデータを非常に迅速に生成します。ディスク容量の消費とデータの取り込みを減らすために、ログの生成が終了したら、必ずlevel: info
(またはそれ以下) を設定してください。
newrelic-infra.yml
ファイルを編集します。
次の構成スニペットを追加して、Fluent Bit の詳細ログを有効にします。
エージェントを再起動して 、新しい設定をロードします。
FluentBitがインフラエージェントで開始しない 重要 FluentBitのテールプラグインはネットワークドライブをサポートしていません。
2016より前のバージョンのLinuxの場合、OpenSSLライブラリを1.1.0に更新する必要がある場合があります(以上)。この問題があるかどうかを確認するには:
次のコマンドを実行して、 infra-agent
がFluentBitを開始したかどうかを確認します。
$ ps -aux | grep fluent-bit
実行されていない場合は、 /var/db/newrelic-infra/newrelic-integrations/logging
に移動して実行します。
$ ./fluent-bit -i systemd -o stdout
次のエラーが発生した場合:
error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
OpenSSL を 1.1.0 に更新してください。以上。
Windowsでのランタイムエラー Windowsでログ転送を有効にすると、次のエラーメッセージのいずれかが表示される場合があります。
The code execution cannot proceed because VCRUNTIME140.dll was not found.
また
error="exit status 3221225781" process=log-forwarder
これは、DLLが見つからないことが原因です。
この問題を解決するには、必要に応じてMicrosoft VisualC++再頒布 可能パッケージをインストールします。
大量のログファイルをテーリングするときのエラー(Linux) 大量のファイルを追尾しようとすると、次のいずれかのエラーメッセージが表示されるのが一般的です。
Too many open files
The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource
オペレーティングシステムは、割り当て可能なファイル記述子の最大量(通常はデフォルトで1024)と、割り当て可能なinotifyウォッチの最大量(通常はデフォルトで8192)を定義します。これらの制限を超えようとするプロセスは失敗し、上記のエラーの1つを返します。
ログの転送に使用する基盤テクノロジーであるFluent Bit は 、1 つのファイル記述子を開き、転送するように設定した各ファイルに対して inotify ウォッチを設定します。 さらに、このセクションの執筆時点では、Fluent Bit は通常の動作に 32 個のファイル記述子の追加セットを使用し、シャットダウン時に別の追加のファイル記述子を使用します。 したがって、 to capture a large amount of files you need to ensure that both the file descriptor and inotify watch limits are slightly greater than the amount of log files you wish to tail 。
次の手順は、10,000個のログファイルを追跡する場合にこれらの制限を増やす方法をまとめたものです。また、インフラストラクチャエージェントがroot
実行モード でインストールされていることを前提としているため、 root
ユーザーを使用して実行する必要があります。
プロセスごとのファイル記述子の量の現在のハード制限を確認してください。通常、この制限は非常に高く、変更する必要はありません。
次の行を/etc/security/limits.conf
に追加します。Fluent Bitが機能する必要のある追加のファイル記述子を割り当てることができるように、ここでは10000
ではなく10100
の制限を指定しました。
再起動時に前の制限が適用されるように、次の行を/etc/pam.d/common-session
に追加します。
$ session required pam_limits.so
次の行を/etc/sysctl.conf
に追加して、ユーザーごとに許可されるinotifyウォッチャーの数を増やします。ここでは、 10000
ではなく18192
の制限を指定して、 root
ユーザーが引き続き8192
のinotifyウォッチ(デフォルト値)を使用できるようにしました。
$ fs.inotify.max_user_watches = 18192
システムを再起動します。
次のコマンドを実行して、新しい制限が適用されていることを確認します。
$ cat /proc/sys/fs/inotify/max_user_watches
開いているファイルの制限を増やす 方法、またはinotifyウォッチを増やす 方法の詳細をご覧ください。
特定のFluentBitバージョンをインストールする(Linux) バージョン1.19.0 (またはSLES 12.5の場合はバージョン1.20.3)より前は、LinuxインフラストラクチャエージェントにFluentBit バイナリがバンドルされていました。このバージョン以降、FluentBitは個別のrecommended
パッケージ依存関係として含まれるようになりました。
これは、Fluent Bitをエージェントとは別にインストール、更新、またはダウングレードできることを意味します。便宜上、インフラストラクチャが存在する同じリポジトリにいくつかのFluent Bitパッケージが含まれているため、FluentBitをアップグレードするために追加のリポジトリをインストールする必要はありません。
エージェントは、最初にインストールしたときに、利用可能な最新バージョンを使用してFluentBitを自動的にインストールすることに注意してください。最初のインストール後、Linuxパッケージで通常行うようにFluentBitをアップグレードできます。
次のコマンドを実行して、使用可能なFluentBitバージョンを一覧表示できます。
RPM:
$ yum list fluent-bit --showduplicates
DEB:
$ apt-cache showpkg fluent-bit
特定のFluentBitバージョンにアップグレードするには、次のコマンドを実行します(次の例では、バージョン2.2.2
が使用されています)。
RPM:
$ sudo yum remove fluent-bit
$ sudo yum install fluent-bit-2.2.2-1
DEB:
$ sudo apt install fluent-bit = 2.2 .2
Linux 上のインフラストラクチャ エージェント 1.42.0 後の Fluent-bit 1.x へのロールバック td-agent-bit は次のディストリビューションでは使用できないため、ロールバックできないことに注意してください。
任意のテキスト エディタを使用してファイル /etc/newrelic-infra.yml
を開きます。
ファイルの最後に次の行を追加します: fluent_bit_exe_path: /opt/td-agent-bit/bin/td-agent-bit
。
変更を保存します。
コマンド sudo systemctl restart newrelic-infra
を実行して、インフラストラクチャ エージェントを再起動します。
これらの手順を完了すると、インフラストラクチャ エージェントは、fluent-bit の代わりに td-agent-bit を使用するように構成されます。
次は何ですか? ログ UI を使用して、プラットフォーム全体のログ データを調べます。
ログ転送を無効にする ログ転送機能を無効にするには、 logging.d
ディレクトリに移動し、構成 プロセス中に最初に追加された.yml
拡張子のファイルを削除します。
Linux: /etc/newrelic-infra/logging.d/
ウィンドウズ: C:\Program Files\New Relic\newrelic-infra\logging.d\