• /
  • ログイン
  • 無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

PHPです。コンテキストでのログの設定

PHPエージェントのLogs in contextは、New RelicのログとAPMのデータをつなぎます。これらのデータをひとつのツールにまとめることで、問題の根本的な原因をすばやく把握し、問題の特定と解決に必要なログラインを見つけることができます。

PHPアプリのセットアップ

PHP で監視する APM アプリのコンテキストでのログを有効にするには、次のようにします。

  1. New Relic の ロギングの設定がすでに完了していることを確認してください。これには、アプリケーションのログを収集し、New Relic に転送されるメタデータを拡張する、サポートされているログフォワーダーの設定が含まれます。
  2. をインストールするか、 を最新の PHP エージェントバージョンに更新し、 分散型トレーシングを有効にするPHP エージェントのバージョン 9.13.0.270 以降を使用 コンテキストのログを取得します。
  3. Monolog バージョン1または2をインストールするか、New Relicに組み込まれたMonolog Handlerを使用していない場合は、 互換性のあるログ転送プラグイン を使用します。
  4. Monolog拡張機能を使用している場合は、PHPのコンテキストでログを設定します。
  1. ログアペンダーが正しく設定されていることを確認するためには、アプリケーションを実行した後、New Relic One で、クエリ演算子 has:span.id has:trace.id を使って のログデータを確認してください。

すべての設定が正しく行われ、データがエンリッチメントされたメタデータとともにNew Relicに転送されていれば、ログはJSONとして出力され、 trace.idspan.id フィールドが含まれているはずです。UI にログデータが表示されない場合は、 トラブルシューティングの手順 に従ってください。

アプリケーションからのログに trace.idspan.id のようなフィールドが含まれていない場合、Monolog のログエンクリッチャーの設定に問題がある可能性があります。このような場合には

  • アプリ用のPHPエージェントがインストールされ、分散型トレースを有効にするように設定されていることを確認します。
  • アプリケーションがログレコードを送信する際に、 syslog() ではなく、Monolog logger オブジェクトを使用していることを確認してください。
  • 他のMonologハンドラーが、ログレコードが bubbling を妨げていないか確認してください。

次のステップ

APMのログを文脈に合わせて設定した後は、ログデータを最大限に活用しましょう。

問題を作成する
Copyright © 2022 New Relic Inc.