このページでは、Splunk 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 エージェントとアプリケーションのインストールには十分な注意を払い、ステージング環境で詳細にテストしてください。 

はじめに

PHP エージェントをインストール前に、次の手順を実行します。

  • サポートされている PHP バージョンを使用していることを確認します。PHP バージョンは次のコマンドを使用して確認できます。
    php -i
    CODE
  • PHP エージェントは enable-debug 構成オプションでビルドされた PHP アプリケーション、またはデバッグシンボルでコンパイルされたビルドでは機能しません。アプリケーションがデバッグシンボルでビルドされているかを確認するには、次のコマンドを使用します。
    php -i | grep -e "Debug Build"
    CODE

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

Debug Build => no
CODE
  • PHP エージェント ディストリビューションは、Cisco AppDynamics ダウンロードポータルから取得できます。ご使用のシステムに適したディストリビューション ファイルを取得してください。
    • RedHat または CentOS では、PHP Agent - 64 bit RPM などの RPM パッケージ マネージャ ディストリビューションを使用します
    • MacOS では、PHP Agent - 64 bit OSX を使用します。
    • Alpine Linux では、PHP Agent Alpine Linux - 64 bit を使用します

    • その他すべての Linux ディストリビューションでは、PHP Agent - 64 bit Linux というディストリビューションを使用します。
  • インストール時には、Controller 接続設定およびこの PHP ノードの識別情報を提供します。開始ウィザードでは手順にそってこの設定を実行できるので、Splunk AppDynamics エージェントを初めてインストールする場合は、開始ウィザードを使用することをお勧めします。コントローラ接続設定の全般情報については、「エージェントとコントローラの接続」を参照してください。
  • インストゥルメンテーションを完了するには、Apache サーバーを停止して起動します。必要に応じて、サービスユーザーの中断を最低限にするような方法でインストールを実行してください。 

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

  • Alpine Linux の場合)PHP エージェントをインストールする前に、次の手順を実行します。

    1. libstdc++ ライブラリを追加します。
      apk add libstdc++
      CODE
    2. session および sockets PHP 拡張機能を追加します。

      たとえば、PHP 8.2 を使用している場合は、php82-session および php82-sockets 拡張機能をインストールします。

      apk add php82-session php82-sockets
      CODE

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

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

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

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

PHP構成ファイル

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

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

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

インストーラが PHP 展開の ini フラグメントが存在するディレクトリを特定できない場合は、必要な Splunk 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エージェントが登録に失敗する可能性があります。