このページでは、AppDynamics における Web および CLI PHP アプリケーション用のアプリケーション モニタリング エージェントである PHP エージェントについて説明します。  

PHPエージェントについて

PHPエージェントコンポーネントは、PHPアプリケーションのビジネストランザクション、アプリケーションサービス、バックエンドを検出して監視します。アプリケーションの実行時にインストゥルメンテーションを注入します。

AppDynamics エージェントプロキシ とは、PHP エージェントとコントローラ間の通信を処理する Java プロセスです。プロキシはパフォーマンスメトリックを、データの保存、ベースライン、および分析を行うコントローラに報告します。コントローラコンソールの使用またはAppDynamics REST APIを使用したプログラムにより、このパフォーマンスデータにインタラクティブにアクセスすることができます。

プロキシプロキシコンポーネントは、PHPエージェントを起動すると自動的に起動します。PHP CLIアプリケーションなど一部のアプリケーションでは、別にエージェントからプロキシを起動する必要があります。プロキシの起動は手動またはスクリプトで行う必要があります。

デプロイ概要

プロキシとは、エージェントとコントローラを接続するコンポーネントです。コントローラにpingを実行できてもエージェントが接続していない場合、プロキシが起動していないか、プロキシが正しく構成されていない可能性があります。「PHPエージェントのインストールに関する問題の解決」および「動的言語エージェントプロキシ」を参照してください。

接続が確立されたら、コントローラにログインしてアプリケーションを監視します。使い始めるには、「AppDynamics の基礎」を参照してください。 

Webサーバーインスタンスごとの単一アプリケーション

これはインストーラが想定するデフォルト設定です。複数のサーバは、それぞれ 1 のアプリケーションで構成されます。

Multiple Server Installer Setup

各アプリケーションには独自のエージェントとプロキシがあります。各アプリケーションには単一のティアと単一のノードがあります。 

マルチテナントプロキシを使用するWebサーバーインスタンスごとの単一アプリケーション

このシナリオもまた、それぞれが単一アプリケーションを持つ複数サーバーを想定しています。

Multi-Tenant Proxy

この場合、各アプリケーションには独自のエージェントコンポーネントがありますが、すべてのエージェントが 1 つのプロキシを共有します。各アプリケーションには単一のティアと単一のノードがあります。プロキシを共有すると、オーバーヘッドを削減できる場合があります。詳細については、PHPエージェント用共有プロキシの使用を参照してください。

単一サーバー上の複数のアプリケーション

このシナリオでは、単一のサーバで実行する複数のアプリケーションを想定します。

Multiple Applications on a Single Server

1 つのエージェントと 1 つのプロキシが複数のアプリケーションをサポートします。デフォルトでは、サーバが起動するとプロキシが自動的に開始されます。アプリケーションは、ティアとノードで個別に構成できます。Apache の vhosts または FPM プール構成ブロックの構成方法については、「単一サーバ上の複数の PHP アプリケーション」を参照してください。

ダウンロードウィザードの概要

エージェントをインストールしていない場合は、コントローラの Getting Started ウィザードを使用して開始することをお勧めします。Getting Started ウィザードが構成手順を説明しながら、ユーザはエージェントのダウンロードができます。ウィザードにアクセスするには、コントローラの [Home] ページで [Getting Started] をクリックしてから、[PHP] をクリックします。

ウィザードでは、エージェントが AppDynamics コントローラと通信するために必要な最低限の情報(コントローラホストとポート、必要に応じて SSL、アプリケーション名およびティア名)を指定します。

PHP環境におけるノードの命名

PHP ランタイムインスタンスがノードにマップされます。命名規則は、実際の環境によって異なる場合があります。ノードに対応する Web サービスを明確に識別する名前を使用します。次のオプションがあります。

  • hostName-appName-nodeName
  • hostName-tierName-nodeName
  • appName-nodeName
  • tierName -nodeName
  • IP address
  • fully qualified domain name