このページでは、AppDynamics PHP エージェントのインストールの概要について説明します。 

インストール概要

コントローラ UI の開始ウィザードは、PHP エージェントの構成およびインストールの手順を説明します。

ウィザードから取得するインストーラは、環境 PATH 変数で指定された PHP ディレクトリを使用して、エージェントのインストール先を決定します。PATH で指定されていない PHP のインストールをインストゥルメント化する場合は、RPM またはスクリプトインストーラを手動で設定して呼び出すことができます。 

PHPエージェントはLinuxおよびMacOSマシンで実行されます。PHPエージェントは次のPHP動作環境向けに設計されています。

  • 単一のPHPインストールがあります
  • 単一のApacheまたはFPMプールでPHPが動作
  • 標準パッケージを使用したPHP、Apache、PHP-FPMのインストール
  • カスタマイズされていないPHP構成

PHP エージェントは、すべての前提を満たしていない環境でも動作する場合があります。ただし、PHP エージェントとアプリケーションのインストールには十分な注意を払い、ステージング環境で詳細にテストしてください。 

はじめに

AppDynamics PHP エージェントをインストールする前に、サポートされている PHP バージョンを使用していることを確認してください。PHP バージョンは次のコマンドを使用して確認できます。

php -i


PHP エージェントは enable-debug 構成オプションでビルドされた PHP アプリケーション、またはデバッグシンボルでコンパイルされたビルドでは機能しません。アプリケーションがデバッグシンボルでビルドされているかを確認するには、次のコマンドを使用します。

php -i | grep -e "Debug Build"

応答は以下のようになります。

Debug Build => no

PHP エージェント ディストリビューションは、AppDynamics ダウンロードポータルから取得できます。ご使用のシステムに適したディストリビューション ファイルを取得してください。

  • RedHat または CentOS では、PHP Agent - 64 bit RPM などの RPM パッケージ マネージャ ディストリビューションを使用します。
  • その他すべての Linux ディストリビューションでは、PHP Agent - 64 bit Linux というディストリビューションを使用します。 
  • MacOS では、PHP Agent - 64 bit OSX を使用します。

インストール時には、Controller接続設定およびこのPHPノードの識別情報を指定する必要があります。Getting Started ウィザードはこの構成の説明をするので、AppDynamics エージェントを初めてインストールする場合は、Getting Started ウィザードを使用することをお勧めします。コントローラ接続設定の全般情報については、「エージェントとコントローラの接続」を参照してください。

インストゥルメント化を完了するには、Apacheサーバーを停止して起動する必要があります。必要に応じて、サービスユーザの中断を最低限にするような方法でインストールを実行してください。 

特に実稼働環境では、PHP エージェントをその他の AppDynamics 以外のアプリケーション パフォーマンス管理(APM)ツールと一緒にインストールしないでください。他のアプリケーション パフォーマンス管理(APM)製品が同じ管理対象の環境にインストールされている場合、PHP エージェントのインストールに失敗することがあります。

PHPエージェントのインストール

以下のトピックでは、さまざまなシナリオに対するインストールの詳細を説明しています。

cURL のインストールについては、「AppDynamicsソフトウェアのダウンロード」を参照してください。

インストールにより追加されたファイル

PHP構成ファイル

AppDynamics の場合、対象の PHP 構成ファイルは php.ini および appdynamics_agent.ini フラグメントです。AppDynamics 設定は、ご使用の PHP がインストールされているオペレーティングシステムに応じて、どちらかの .ini ファイルにあります。

PHP エージェントインストーラは、php.ini ファイルがあるディレクトリに appdynamics_agent.ini ファイルを追加します。このディレクトリは次のコマンドを使用して検索することができます。

php -i | grep -e "Additional .ini files parsed"

インストーラが PHP 展開の ini フラグメントが存在するディレクトリを特定できない場合は、必要な AppDynamics の ini フラグメントを表示し、それをコピーしてメインの php.ini ファイルに貼り付けるよう要求します。

配置される可能性のある場所については、http://php.net/manual/en/configuration.file.php も参照してください。

.soファイル

インストーラは、PHP 拡張ディレクトリに appdynamics_agent.so ファイルもインストールします。このディレクトリは次のコマンドを使用して検索することができます。

php -i | grep  extension_dir

ログ

各アプリケーションには、エージェントログとプロキシログがあります。

デフォルトでは、エージェントログは $<php_agent_install>/logs/agent.log に書き込まれます。ログにはエージェントが処理してプロキシに送信するトランザクションが含まれます。エージェントログの命名におけるデフォルトのパターンは以下のとおりです。

  • agent.log:現在のログ
  • agent.log.1:最新のログ
  • agent.log.2:2 番目に最新のログ
  • agent.log.3:3 番目に最新のログ
  • agent.log.4:4 番目に最新のログ
  • agent.log.5:5 番目に最新のログ

デフォルトでは、プロキシログは $<php_agent_install>/logs/proxy_$date.log に書き込まれます。このログには、プロキシがエージェントから受け入れてコントローラに送信するトランザクションが含まれます。

--log-dir オプションを使用してログディレクトリを構成すると、プロキシログはエージェントログと同じディレクトリに書き込まれます。

RPM インストールで生成されるログファイルの場所については、「RPMによるPHPエージェントのインストール」の RPM ログファイルを参照してください。

PHPノードのマシンエージェントの使用

PHPエージェントを実行しているノード上に、マシンエージェントをインストールできます。ただし、PHP エージェントノードにマシンエージェントをインストールして、マシンエージェントの controller-info.xml ファイルにティアおよびノードの名前を指定すると、PHP エージェントはコントローラを正しく登録できません。

この問題を回避するには、

  • マシンエージェントをインストールする前にPHPエージェントをインストール
  • インストゥルメント化された PHP ノードをホストするマシンにマシンエージェントをインストールする場合、マシンエージェントの controller-info.xml ファイルにアプリケーション、ティア、またはノードの名前を指定しないでください。これを行うとPHPエージェントが登録に失敗する可能性があります。