問題
インフラストラクチャエージェントのトラブルシューティングを行う際には、エラーを見つけて調査するために、数分間の冗長な ログを生成します。これは、自分自身のトラブルシューティングや、New Relic サポートと連携する際に役立ちます。
`Verbose ロギングでは、大量のデータがすぐに生成されます。ログの生成が終わったら、必ず verbose を設定してください。0 を設定して、ディスクスペースの消費を抑えてください。
New Relic のインフラストラクチャエージェント 1.4.0 以上をお持ちの場合は、 newrelic-infra-ctl コマンドを使用してこのプロセスを自動化することができます。詳細については、 トラブルシューティングバイナリのドキュメント を参照してください。
解決策
verbose ログファイルを生成するには、設定ファイルの編集が必要です。該当するすべての設定を含むコンフィグファイルのサンプルは、 example template を参照してください。詳細なログを生成するには
ステップ
手順
newrelic-infra.yml のファイルを編集します。
Enable verbose logging: verbose:1 . (CoreOSでコンテナ型インフラストラクチャエージェントを使用する場合は、 システム固有の注意事項 を参照してください)log_file を便利なログファイルの場所に設定します。エージェントを再起動 エージェントが新しい設定に気づくように。
十分なログデータを生成するために、ホストを通常の負荷で約3分間動作させます。
設定をデフォルトに戻します。
verbose を設定することで verbose ロギングを無効にします。0 in newrelic-infra.yml.オプションです。 log_file 行を newrelic-infra.yml から削除することで、カスタムファイルへのロギングを無効にします。エージェントを再起動 エージェントが新しい設定に気づくように。
ログファイルにエラーがないか調べてください。
ログファイルをNew Relic Supportに送る必要がある場合。
エージェントのバージョンを含む行をログファイルに含めてください。
newrelic-infra.yml を添えて、サポートチケットにログファイルを添付してください。
スマートバーボーズモード
エラーが発生するのは、かなりの時間が経過してからということもあります。通常、詳細なログは短時間しか有効ではなく、そうでなければ多くのデバッグログが発生するため、これはデバッグを困難にします。例えば、インフラストラクチャ・エージェントが起動してから1時間後にエラーが発生した場合、エラーが発生した時間帯にデバッグ・ログを取得することは困難であり、現実的ではありません。
infrastructure agent v1.9.0以降では、ログにsmart verboseモードを使用できるようになりました。スマート冗長モードでは、エラーがログに記録された後、最新のデバッグメッセージのみをログに記録します。これにより、無関係なデバッグメッセージを大量に記録することなく、最新のデバッグメッセージのみを記録して、エラーが発生するまでスマートバーボーズモードを実行しておくことができます。(メッセージの数は、設定によって決まります)。
スマートverboseモードの詳細については、 Infrastructure agent logging behavior docsを参照し、スマートverboseモードを有効にする方法の詳細については、 Infrastructure configuration settings documentationを使用してください。
エージェントのログをNew Relic Logsに転送する
Infrastructure エージェントは、自身のログを New Relic Logs に送信するように設定できます。これは、ログ転送やインフラストラクチャーエージェントに関する問題のトラブルシューティングや、 サポート への問い合わせの際に役立ちます。
インフラストラクチャエージェントのログフォワーディングを有効にする方法の詳細については、 Troubleshoot log forwarding を参照してください。
特定のシステムに関する注意事項
一般的なロギング手順 を補完するために使用される、特定のシステムに対する追加の注意事項と要件です。
CoreOS上のコンテナ型エージェント
CoreOS上でコンテナ型インフラストラクチャ・エージェントを使用している場合。
次のいずれかのオプションを選択して、ログレベルを verbose に変更します。
推奨: 環境変数を設定 NRIA_VERBOSE を 1.これをコマンドラインで実行すると次のようになります。
または
設定ファイルを編集して、 verbose を設定します。1. (コンテナ内で設定ファイルを編集することは推奨されません。なぜなら、冗長ログを追加するためと削除するための2回、イメージを再構築する必要があるからです)
journalctl を使ってログを収集します。
数分間ログを収集した後、冗長なログレベルを 0 に戻します。`