PHPエージェントはアプリケーションをモニターし、パフォーマンスの問題の特定と解決を支援します。さらに、エージェントのパフォーマンス監視を拡張してビジネスデータの収集や分析を行い、顧客体験を改善し、データに基づくビジネス上の意思決定ができます。
New Relic PHPエージェントを使用して、「私のアプリが遅い」チュートリアルでアプリのパフォーマンスの問題を解決します。
アプリのパフォーマンスの監視
one.newrelic.com > All capabilities > APM & services > (select an app) > Summary:PHPエージェントをインストールすると、アプリのパフォーマンスの概要を表示できます。
View the big picture of your app
- アプリケーションのApdex (Application Performance Index)(ユーザー満足度)を監視する
- アプリケーションの大まかな概要を取得する
- アプリケーションのアーキテクチャーマップを作成する
Find errors and problems quickly
- キートランザクションを追跡する
- New Relicに送信するカスタムメトリックスを含め、最も重要なメトリックタイムスライスデータを検索して、カスタマイズ可能なチャートを作成します。
- エラーや問題が発生した場合は、ユーザーに影響がおよぶ前にアラートを発信します
- デプロイ後のパフォーマンスを追跡する
Drill down into performance details
- コードレベルでトランザクショントレースを調査する
- データベースクエリトレースを調査する
- エラートレースを調査する
View logs for your infrastructure data
ログとアプリケーションのデータを統合して、トラブルシューティングをより簡単かつ迅速にできます。別のUIページに切り替える必要はありません。
- コンテキストのログでは、エラーとトレースに関連するログメッセージをアプリケーションのUIで直接表示できます。
- また、Kubernetesクラスタなど、インフラストラクチャデータのコンテキストでログを表示することもできます。
Analyze business data
PHPエージェントを使用してデータを整理、クエリ、可視化することで、アプリケーションのパフォーマンスと顧客体験に関する主要な問題に対応できるようになります。
- デフォルトのトランザクション属性を使用するか、独自の属性を追加します
- NRQLを使用してデータをクエリする
- 独自のイベントデータを送信する
- カスタマイズ可能でインタラクティブなダッシュボードを作成・共有する
アーキテクチャー
PHPエージェントには、連携してNew Relicにデータを転送する2つのバイナリがあります。
- このエージェントは、PHPコードの自動およびAPIインストゥルメンテーションを扱います。
- デーモンは、エージェントとNew Relicプラットフォームの間のプロキシとして機能します。
最大で500のアプリケーション/エージェントを1つのデーモンに接続できます。収集サイクルが限度に達するとデーモンはサンプリングを設定するので、アプリケーション/エージェントをいくつ単一のデーモンに接続するかを決定する際に、この点を考慮してください。
ヒント
デーモン1つ当たりのアプリケーション/エージェントの数は、コンテナ間の接続の容量によっては、別個のDockerコンテナで実行する場合には少なくなる場合があります。
PHPアプリケーションからNew Relicへのデータの流れ。
使用アプリケーションとNew Relicの間のワークフローは、以下の順番で起こる必要があります。
- エージェントは、インストゥルメンテーションデータの最初のペイロードを送信して、デーモンとのソケット接続を確立します。
- デーモンは、New RelicプラットフォームとのHTTPSリンクを確立します。デーモンはインストゥルメントされたアプリケーションが呼び出される前に呼び出す必要があります。これはエージェントモードと呼ばれ、これがデフォルトとなります。
報告されたデータがなくならないようにするには、インストゥルメントされたアプリケーションが、両方の接続が確立される前にトランザクションを送信することがないようにしてください。
エージェントのインストール
PHPエージェントをインストールする前に、お使いのシステムがシステム要件を満たしていることを確認してください。PHPエージェントは、最も一般的なPHPフレームワーク、データベース、ライブラリのほとんどに対応しています。PHPエージェントは Google App Engine(GAE)フレキシブル環境でも使用できます。
ヒント
共有ホスティングサービスにエージェントをインストールする場合は、エージェントのインストールに必要なroot権限があることを確認してください。技術的な問題については、ホスティングプロバイダーにお問い合わせください。
エージェントをインストールするには、まずNew Relicにサインアップします。ログイン後、ランチャーを使用するか、特定のインストール方法を参照します。
standard installationsについては、以下を参照してください。
- PHPエージェントのインストレーション概要(最も一般的な設定のための基本インストール手順)。
- RedHatまたはCentOSへのインストール
- UbuntuまたはDebianへのインストール
- tarアーカイブを使用したインストール(各種Linux、OpenSolaris、SmartOS、FreeBSD、Mac OS などの対応システムへの一般的なインストール方法)
- newrelic-install スクリプト(インストレーションタスクの一部を自動化する対話形式スクリプトの使用方法)
その他の種類のPHPインストレーションやadvanced installationに関するトピックについては、以下をご覧ください。
- PHP エージェントのインストレーション:非標準PHP
- PHPデーモンの起動(New Relic の標準インストレーションではデーモンが自動的に起動しますが、手動でデーモンを起動することもできます)
- インストールスクリプト用のサイレントモード
- New Relic PHPエージェントのGoogle App Engine(GAE)フレキシブル環境へのインストレーション
エージェントの設定
エージェントには多数の設定オプションがあり、インストレーション後にカスタマイズや微調整を行うことができます。
ヒント
エージェントの設定では、アプリケーションに分かりやすい名前を付けることが最も重要な部分です。複数のアプリまたはホストが存在する場合、New Relicはメトリクスを集計する目的でこのアプリ名を使用します 。
エージェントの設定オプションを変更した後は、ウェブサーバーを再起動してください。
エージェントインストゥルメンテーションを拡張する
エージェントをインストール後、エージェントインストゥルメンテーションをさらに拡張します。
ページロードタイミング:PHPエージェントを
と統合してエンドユーザーのアクティビティを可視化します。
カスタムインストゥルメンテーション:フレームワークインストゥルメンテーションの一環としてキャプチャされないトランザクション。
エージェントAPI:エージェントAPIを使用して、エージェントの動作をカスタマイズします。たとえば、カスタムメトリックを収集、エラーにフラグ付け、または特定のトランザクション全体を無視できます。
エージェント属性:トランザクションに付与された属性をカスタマイズします。属性をカスタマイズすることで、機密性の高い属性の送信を防いだり、またはトランザクションをより深く可視化するための追加属性を収集できます。
インストレーションのトラブルシューティング
問題がある場合は、PHPエージェントのトラブルシューティング文書を参照してください。このセクションの最も重要なトラブルシューティング文書には、以下が含まれます。