PHPエージェントのLogs in contextは、New RelicのログとAPMのデータをつなぎます。これらのデータをひとつのツールにまとめることで、問題の根本的な原因をすばやく把握し、問題の特定と解決に必要なログラインを見つけることができます。
PHPアプリのセットアップ
PHPによって監視されるAPMアプリのコンテキストでログを有効にするには、手動インストールオプションを使用できます。
- New Relic の ロギングの設定がすでに完了していることを確認してください。これには、アプリケーションのログを収集し、New Relic に転送されるメタデータを拡張する、サポートされているログフォワーダーの設定が含まれます。
- をインストールするか、 を最新の PHP エージェントバージョンに更新し、 分散型トレーシングを有効にする 。 PHP エージェントのバージョン 9.13.0.270 以降を使用 コンテキストのログを取得します。
- Monolog バージョン1または2をインストールするか、New Relicに組み込まれたMonolog Handlerを使用していない場合は、 互換性のあるログ転送プラグイン を使用します。
- Monolog拡張機能を使用している場合は、PHPのコンテキストでログを設定します。
- ログアペンダーが正しく構成されていることを確認するには、アプリケーションを実行してから、クエリ演算子
has:span.id has:trace.id
を使用してNewRelicのログデータを確認します。
すべてが正しく構成され、データが強化されたメタデータとともにNew Relicに転送されている場合、ログはJSONとして出力され、 trace.id
}フィールドとspan.id
フィールドが含まれているはずです。 UIにログデータが表示されない場合は、トラブルシューティング手順に従ってください。
アプリケーションのログにtrace.id
やspan.id
などのフィールドが含まれていない場合は、Monologログエンリッチャーの構成に問題がある可能性があります。この状況では:
- アプリ用のPHPエージェントがインストールされ、分散型トレースを有効にするように設定されていることを確認します。
syslog()
ではなくログレコードを送信するときに、アプリケーションがMonologロガーオブジェクトを使用していることを確認してください。- 他のMonologハンドラーが、ログレコードが bubbling を妨げていないか確認してください。
次のステップ
APMのログを文脈に合わせて設定した後は、ログデータを最大限に活用しましょう。
- Logs UI を使って、プラットフォーム全体のロギングデータを調べてみましょう。
- 分散型トレーシング でログのコンテキストデータを表示します。なお、PHPの場合、コンテキスト内のログデータは、APM UIの Logs タブには表示されません。
- インフラストラクチャ監視エージェント でログを転送することで、アプリケーションとプラットフォームの両方のパフォーマンスデータをより深く把握することができます。 インフラストラクチャーのログ をUIで確認することができます。
- アラートの設定.
- データのクエリ と ダッシュボードの作成.