ログを 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 CentOS バージョン 8 および 9 ストリーム (Rocky Linux および AlmaLinux もサポートされています) RedHat バージョン 8 および 9 Debian バージョン 11 (Bullseye) および 12 (Bookworm)。 SUSE Linux Enterprise Server (SLES) バージョン 12 および 15 (ARM64 はサポートされていません)。 Ubuntuバージョン16.04.x、18.04.x、20.04.x、22.04.x、24.04.x(LTS バージョン)。 Windows Server 2016、2019、2022およびそれらのサービスパック。 Windows 10、Windows 11。 ガイド付きインストールによるログの自動転送 ガイド付きインストールを使用してインフラストラクチャ エージェントをインストールすると、インストール プロセス中にログ転送機能が自動的に構成されます。
インストールを開始するには、展開方法を選択します。
重要 Dockerコンテナからログを転送するには、このDockerイメージを Kubernetes統合で使用するベース イメージとして使用するか、さまざまな環境に合わせてカスタム設定を使用して独自のコンテナを構築することができます。
手動でインストールされたエージェントでログ転送を有効にする インフラストラクチャ エージェントを手動でインストールするには、 チュートリアルに従ってパッケージ マネージャーをインストールする か、 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: winlogメッセージに ANSI エンコードを使用します。Windows Server 2016 以前のバージョンではデフォルトで ANSI エンコードが使用され、それ以降のバージョンでは UTF-8 が使用されます。これらのデフォルトがユースケースに合わない場合は、この設定でこの動作をオーバーライドできます。 これにより、ANSI 文字コード ログが空の文字列になる問題が解決されます。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
- name : windows - application
logtype : windows_application
channel : Microsoft - Windows - Windows Defender/Operational
- name : windows - clustering
channel : Microsoft - Windows - FailoverClustering/Operational
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 が使用されます。これらのデフォルトがユースケースに合わない場合は、この設定でこの動作をオーバーライドできます。 これにより、ANSI 文字コード ログが空の文字列になる問題が解決されます。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
- name : windows - application
logtype : windows_application
channel : Microsoft - Windows - Windows Defender/Operational
- name : windows - clustering
channel : Microsoft - Windows - FailoverClustering/Operational
ステップ 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です。
パターン レコードをフィルタリングするための正規表現。file 、 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 、最小許容値は33です。
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. ログデータを表示する すべてが正しく構成され、データが収集されている場合は、次の場所にログと関連するテレメトリデータが表示されます。
ログUI インフラストラクチャUIで、ホスト テーブルから、 特定のホストのアイコンをクリックし、 View logs クリックします。 NRQL クエリ を実行するためのツール。たとえば、次のようなクエリを実行できます。オンホスト統合のログを有効にする インフラストラクチャエージェントをインストールすると、最も一般的なオンホスト統合の自動ログ解析と転送を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 /
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
次に、ファイルアクセスを再度確認します。
$ sudo -u nri-agent namei -ml /var/log/restrictedLogs/logFile.log
f: /var/log/restrictedLogs/logFile.log
drwxr-xr-x root root /
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ユーザーもファイルを読み取れるようにする必要があります。これを確認するには、次を使用します。
$ sudo -u nri-agent head /var/log/restrictedLogs/logFile.log
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 )。
次のコマンドを実行して、証明書を確認できます。
$ openssl s_client -connect log-api.newrelic.com:443 -servername log-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ウォッチを増やす 方法の詳細をご覧ください。
最新の Fluent Bit バージョンをインストールする (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
最新の Fluent Bit バージョンにアップグレードするには、次のコマンドを実行します。
RPM:
$ sudo yum install fluent-bit
DEB:
$ sudo apt install fluent-bit
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\