• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

インフラストラクチャ・エージェントのロギング動作

New Relicのインフラストラクチャエージェントは、独自のデータと統合のログを収集し、それらを単一のソースに統合します。デフォルトでは、ログはstandard-outputに表示され、 ログファイルに追加されます。標準出力でログを無効にするには、エージェントの構成オプションを参照してください

基本構成

次の例は、Linuxシステムでのエージェントログの一般的な構成を示しています(Windowsまたは他のプラットフォームを実行している場合はファイルパスを変更します)。

log:
level: info
file: '/var/log/newrelic-infra/newrelic-infra.log'
rotate:
max_size_mb: 100
max_files: 5
compression_enabled: true
file_pattern: YYYY-MM-DD_hh-mm-ss.log

ログの重大度レベル

インフラストラクチャーでは、標準的な Syslog の深刻度レベルのサブセットを使用しています

  • ERROR:エラー条件が満たされました
  • WARN:警告条件が満たされました
  • INFO:情報メッセージ
  • DEBUG:デバッグレベルのメッセージが含まれています(トラブルシューティング時に役立ちます)

ログのフォーマット

インフラストラクチャエージェント v1.4.9 以降 では、ログメッセージがコンテキスト値とともにインライン化されます。これにより、グループ化やフィルタリングがしやすくなります。

containerized agent found in container
containerID: VALUE

デフォルトでは、インフラストラクチャーのログはテキストとしてフォーマットされています。

  • フォアグラウンドモードでは、ログ出力はタイムスタンプなしのカラー表示となります。

    DEBUG Sending deltas divided in blocks component=PatchSender mentityKey=ohaimaci mnumberOfBlocks=1
  • バックグラウンドモードでは、ログはタイムスタンプ付きで出力されます。これは、サービスとして実行する場合や、ログをファイルにダンプする場合に使用されます。

    time="2019-07-12T09:54:15+02:00" level=info msg="Agent service manager shutdown completed successfully." component=AgentService service=newrelic-infra

また、ログをJSONファイルとしてフォーマットすることもできます。

{"context":{},"level":"info","msg":"upstart_interval_sec: 0","timestamp":"2019-07-11T18:24:03+02:00"}
{"context":{},"level":"info","msg":"plugin_dir: ","timestamp":"2019-07-11T18:24:03+02:00"}

ログ形式を変更するには、 エージェントの構成設定を参照してください。

ビルトインログローテーション

インフラストラクチャエージェントv1.28.0以降の場合、組み込みのログローテーションおよび圧縮メカニズムがエージェントで使用できます。

スマートバーボーズモード

インフラストラクチャエージェントのバージョン1.9.0以降 では、ログのスマートverboseモードを有効にすることができます。

Smart verboseモードでは、エラーメッセージが検出されるまで、デバッグメッセージがログに記録されません。エラーが検出されると、デバッグメッセージはエラーが発生する前にログファイルに書き込まれます。設定された最新の数のデバッグメッセージのみが記録されることに注意してください。例えば、設定された上限を10とした場合、エラーが検出されると、エラーが検出される前の最新の10個のデバッグメッセージがログに記録されます。

スマート冗長モードとデバッグメッセージ制限を有効にする方法の詳細については、 インフラストラクチャ構成設定を参照してください。

統合ログ管理

インテグレーションは、JSONペイロードをSTDOUTに、プレーンテキスト(将来的にはJSON構造化)のログをSTDERRに書き込みます。

インフラストラクチャエージェントは統合STDERR行を処理し、この出力をエージェントログに転送します。

エージェントは各STDERR行を以下のように処理します。

  • エージェントが冗長モードで実行される場合: DEBUGエージェントのログエントリとしてSTDERRの全行を転送するだけで、`msg`フィールド内に統合行のコンテキストを配置します。
  • それ以外の場合: 想定されるフォーマット(下記参照)に沿って行を解析し、深刻度が `fatal` または `error` の統合によって生成されたエントリのみをエージェントの ERROR レベルとして記録します。この場合、フィールドは構造化された方法で抽出され、転送されます (したがって、エージェントで JSON 出力が有効な場合、フィールドはクエリ可能になります。

デフォルトでは、インフラストラクチャエージェントは、統合の実行を妨げない統合からのエラーをフィルタリングして除外します。 ログレベルが DEBUG に設定されている場合、または統合がログ構成に具体的にリストされている場合にのみ、統合からのすべてのエラーが表示されます。 たとえば、この設定では、ログレベルが INFO であっても、 nri-mssqlからのすべてのエラーが表示されます。

log:
include_filters:
integration_name:
- nri-mssql

統合STDERR期待フォーマット

行は、等号で区切られたキーと値のペアのリストであることが期待されます。キーには任意の文字を含めることができますが、値には3つの異なる形式があります。

  1. string:<quote>任意の文字(エスケープされた引用符を含む) ▽"< quote>
  2. 地図:&{任意の文字}。
  3. word: スペースを除く任意の文字

エージェントの内部では、この正規表現を使ってフィールドを抽出しています。

([^\s]*?)=(".*?[^\\]"|&{.*?}|[^\s]*)

例えば、このセリフ。

time="2015-03-26T01:27:38-04:00" level=error msg="Foo bar baz" foo=bar

これらのフィールドを含む構造化されたエージェントログラインが生成されます。

- "time": "2015-03-26T01:27:38-04:00"
- "level": "error"
- "msg": "Foo bar baz"
- "foo": "bar"
Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.