PHP のモニター

Instana を使用すれば、 PHP 環境全体を包括的に把握することができます。 これにより、パフォーマンスのボトルネックを迅速に特定し、アプリケーションのパフォーマンスを最適化することができます。

まず、 Instana のホストエージェントをインストールしてください。 エージェントは、お客様の環境に PHP センサーとトレーサーを自動的にデプロイします。これにより、リアルタイムのメトリクスとトレースが収集され、 Instana のUIで確認することができます。 AWS Fargate 上で実行される PHP アプリケーションについては、 「 AWS Fargate の監視 」を参照してください。

サポートされるバージョン

対応するプラットフォーム

PHP センサーは、以下のプラットフォームに対応しています:

  • Linux ( x86_64 および aarch64 )
  • Windows (x86_64)
  • AWS Fargate (Linux)
  • Kubernetes (Linux)
  • Docker (Linux)
  • Podman (Linux)

対応している PHP のバージョン

次の表は、 PHP センサーがサポートする PHP のバージョンを示しています:

PHP のバージョン CPUアーキテクチャー C 標準ライブラリ Zend スレッド・セーフティー (ZTS) サポート・ポリシー サポート・タイプ
PHP 8.1 - PHP 8.5 aarch64 glibc 2.17+、musl NTS (ZTS) 0日 一般出荷
PHP 8.1 - PHP 8.5 x86-64 glibc 2.12+、musl NTS (ZTS) 0日 一般出荷
PHP 8.1 - PHP 8.5 x86-64 UCRT NTS (ZTS) 0日 一般出荷
PHP 7.2 - PHP 8.0 aarch64 glibc 2.17+、musl NTS (ZTS) 0日 終末期
PHP 5.3 - PHP 8.0 x86-64 glibc 2.12+、musl NTS (ZTS) 0日 終末期

非推奨ポリシー

Instana PHP のマイナーバージョンは、公式のサポート終了日(EOL)をもって非推奨となり、その後1年間は引き続きサポートされます。 この期間を過ぎても、 PHP Tracerの旧バージョンは引き続き利用可能ですが、メンテナンスは行われません。 パフォーマンスとセキュリティを向上させるため、サポート終了(EOL)バージョンのアップグレードを行ってください。 詳しくは、 サポートされるバージョン および サポートされないブランチを参照してください。

元の発表は「 非推奨および削除された機能」 でご覧いただけます。

PHP 実行時および PHP Tracerの互換性マトリックス

次の表に、 PHP のランタイムバージョン、各バージョンに対応する最新の PHP Tracerバージョン、および対応する PHP Tracerのサポート状況を示します:

PHP のバージョン PHP Tracer版 Tracerのサポートタイプ
PHP 8.1-8.5 最新バージョン 積極的な支援
PHP 7.0-8.0 4.7.3 メンテナンス終了
PHP 5.x 1.19.0 メンテナンス終了

サポートされている PHP のSAPI

次の表は、 PHP センサーが構成データ、メトリクス、およびトレースに関してサポートする PHP サーバーアプリケーションプログラミングインターフェース(SAPI)を示しています:

SAPI サポート・タイプ オペレーティングシステム(OS)
Apache2 (mod_php) 一般出荷 Linux, Windows
CLI 試験段階 Linux
PHP-CGI 一般出荷 Linux, Windows
PHP-FPM 一般出荷 Linux
PHP -IIS での FCGI 一般出荷 Windows

Instana PHP のトレース拡張機能で説明されているように、ファイル zzz-instana-extras.ini に設定 instana.enable_cli = 1 されたフラグを使用してトレース拡張機能を構成すれば、CLIのトレース機能を利用できます。 ただし、CLIリクエストは通常、処理時間が短いため、 Instana はそれらをダイナミックグラフに接続することができません。 したがって、トレースを表示することはできますが、接続されているサービスまたはインフラストラクチャーに関する情報を取得することはできません。 また、トレース拡張機能をインストールする必要があります。 詳細については、 「 PHP 」トレース拡張機能をご覧ください。 PHP -CLI を使用するには、手動でファイル zzz-instana.ini を作成する必要がある場合があります。 CLIトレースの設定に関するサポートが必要な場合は、 IBM のサポートまでお問い合わせください。

対応しているコンポーザーパッケージ

次の表は、 PHP センサーがサポートするComposerパッケージを示しています:

パッケージ名 サポート・ポリシー サポートされるバージョン
ケーキphp/ケーキphp オンデマンド 3.10.5、 4.3.11、 5.2.13、および 5.3.6
カウチベース/カウチベース 45 日間 4.5.0
drupal/コア 45 日間 8.9.20、 9.5.11、 10.6.10、および 11.3.11
エラスティックサーチ/エラスティックサーチ 45 日間 v6.7.2、 v7.11.0、 v7.17.2、 v8.17.1、および v9.4.0
google/クラウドパブリッシュサブ 45 日間 v1.41.1、 v1.51、および v2.19.3
ジョン・ブロッホ/wordpress 45 日間 7.0.0
ラミナス/ラミナス-mvc 45 日間 3.1.1、 3.3.5、 3.6.1、および 3.8.0
laravel/フレームワーク 45 日間 v5.5.50、 v5.8.38、 v7.30.7、 v8.83.29、 v9.52.20、 v10.50.2、 v12.62.0、および v13.15.0
モノローグ 45 日間 1.27.1、 2.10.0、および 3.10.0
ネオス/フロー オンデマンド 5.3.28、 6.3.21、 7.3.19、 8.3.19、および 9.1.1
php-amqplib/php-amqplib 45 日間 v3.0.0、 v3.5.4、および v3.7.4
プレディス/プレディス 45 日間 v1.1.10 および v3.5.1
ラフリン/エラスティカ 45 日間 6.2.1、 7.3.2、 8.1.0、および 9.0.0
symfony/http-カーネル 45 日間 v3.4.49、 v4.4.51、 v5.4.48、 v6.0.20、 v6.4.41、 v7.4.13、および v8.1.0
小枝/小枝 45 日間 v2.12.5、 v2.16.1、 v3.11.3、および v3.27.1
yiisoft/yii2 オンデマンド 2.0.55
zendframework/zendframework 非推奨 3.0.0

PHP の組み込み拡張機能のサポート

PHP のTracerは、PC NTLを使用してフォークされたプロセスのトレースをサポートしています。 への呼び出し pcntl_fork が検出されると、専用のスパンが作成され、フォークされたプロセスに計測情報が埋め込まれます。

PHP でサポートされている拡張機能

次の表は、 PHP センサーがサポートする PHP 拡張機能を示しています:

パッケージ名 サポート・ポリシー サポートされるバージョン
AMQP 45 日間 2.2.0
Cassandra オンデマンド 1.3.9 ( Linux のみ)
couchbase 45 日間 4.5.0
ibm_db2 45 日間 2.3.1
Memcache オンデマンド 8.2
memcached オンデマンド 3.4.0 ( Linux のみ)
MongoDB 45 日間 2.3.3
oci8 オンデマンド 3.4.0 および 3.4.1
pecl_http 45 日間 4.3.1
redis オンデマンド 6.3.0
sqlsrv オンデマンド 5.12.0 および 5.13.0

制限

Instana 以下のシナリオには対応していません:

  • PHP aarch64 アーキテクチャを搭載した Windows システムにおいて
  • PHP Windows コンテナ上で実行中
  • Apache HTTP PHP -CGI または Apache2handler SAPI を使用して、複数の PHP バージョンを提供するように構成されたサーバー
  • PHP で同時に使用される複数のトレースツール。例えば、 Instana や、サードパーティ製のトレーサー( New Relic、 Dynatrace、 Datadog など)
  • PHP ionCube または SourceGuardian ローダー拡張機能を使用したランタイム環境、およびそれぞれのエンコーダーツールでエンコードされた PHP ソースファイル。
  • Alpine OS上で、 PHP および OpenSSL1.1 を使用したMS SQLのインストルメンテーションについては、MSODBCドライバで使用されている OpenSSL のバージョンとの不一致があるため、テストされていません。

Instana エージェントをroot以外のユーザーとして実行する場合、いくつかの制限があります。 詳細については、 「非rootエージェントを使用した PHP の監視に関する制限事項」 を参照してください。

PHP センサーの設定

PHP センサーは、 Instana エージェントのインストール時に、 PHP のトレースが自動的に機能するように、適切なデフォルト設定でインストールされます。 ただし、エージェント configuration.yaml ファイルのセクション com.instana.plugin.php を通じてセンサーを設定し、お使いの PHP ランタイムに合わせてカスタマイズすることができます。

エージェント configuration.yaml ファイルにある以下の YAML のスニペットは、 PHP センサーの設定に使用できるオプションを示しています:

# PHP Tracing
#com.instana.plugin.php:
#  # Lightweight PHP Tracing. Enabled (true) by default.
#  # PHP tracing is performed by the Instana PHP Tracing extension.
#  tracing:
#    # Enabling tracing (true) will automatically download the Instana PHP Tracing extension
#    # and enable it in the PHP INI configuration.
#    # The PHP runtime will be gracefully restarted if managed by PHP-FPM or Apache
#    # and the extension will be loaded into the PHP runtime. The following PHP runtimes
#    # require a manual restart for the PHP Tracing extension to be loaded into memory:
#    #  - long-running PHP-CGI processes i.e., CGI SAPI
#    #  - pre-forked PHP worker processes
#    #
#    # Disabling tracing (false) will automatically disable the Instana Tracing extension
#    # in the PHP INI configuration. The PHP runtime will be gracefully restarted to
#    # unload the extension from the PHP runtime memory if applicable (see above).
#    # Otherwise, you need to manually restart your PHP runtime to unload the extension.
#    # Disabling tracing implicitly disables profiling.
#    # You can automate the restarts by configuring a custom script. See 'notificationScript'.
#    enabled: true
#    # Whether to install the Instana PHP Tracing extension. Default is true.
#    # When set to false, the Instana PHP Tracing extension will not be enabled in newly
#    # detected PHP runtimes. This setting does not affect the PHP runtimes where
#    # the Instana PHP Tracing extension is already enabled.
#    installExtension: true
#    # The filename to use when querying Apache or PHP-CGI installations for
#    # environment data such as version, architecture, etc. By default, this
#    # is "instana." + Math.random(). + ".php". Uncommenting the setting
#    # below will force a static filename instead.
#    phpInfoFilename: instana.php
#    # Pin the Instana PHP Tracing extension to a specific version.
#    # This can be used to rollback to previous versions of the extension or to test
#    # beta versions (when asked to do so). The version should be provided
#    # in the format major.minory.patch, e.g. 5.1.0
#    # The pinned extension version is automatically installed in the PHP runtime.
#    # See the desciption of 'enabled' flag to know if you need to manually restart
#    # your PHP runtime after pinning the extension version.
#    pinExtensionVersion: x.y.z
#    # The absolute path to an executable shell script (Linux) or powershell script (Windows)
#    # that is to be automatically executed when enabling tracing, pinning extension version
#    # or disabling tracing. You must design this script to restart your PHP runtime so that
#    # the changes made to your PHP INI configuration by the agent are loaded.
#    # Default value is empty.
#    notificationScript: <absolute_path_to_script>
#    ###################################################################################
#    #  NOTE: The following settings are only applicable for PHP 5.x version runtimes
#    ###################################################################################
#    # The number of executor threads to use for processing traces. This setting
#    # can be used to fine tune the PHP sensor for specific load environments.
#    # Defaults to the number of available logical processors or 8 (whichever is less).
#    # In general, you don't need to touch this setting unless advised to do so.
#    executorThreads: n
#    # The maximum number of traces the sensor is allowed to keep in the backlog
#    # for processing. Can be used in conjunction with executorThreads to fine tune
#    # the sensor for specific load environments. In general, you don't need to touch
#    # this setting unless advised to do so. Defaults to 1000.
#    executorQueueLimit: 1000
#    # Port on which the sensor is listening for traces. Changing this setting will
#    # not automatically update any .ini files created for the PHP Tracing extension.
#    # In general, you don't need to touch this setting unless advised to do so.
#    # Defaults to port 16816.
#    port: 16816
#    # Whether to remove values in SQL queries to prevent sensitive data from
#    # reaching our backend. This can help to improve agent performance in certain
#    # setups. In general, you don't need to touch this setting unless advised to do so.
#    sanitizeSql: true
 

自動再起動を有効にする

設定 notificationScript 項目を通じて、 PHP センサーが PHP 環境を再起動しようとする方法を変更できます。 notificationScript 設定の使用方法について詳しくは、「 自動再始動 」セクションを参照してください。

PHP -FPMセンサーの設定

Instana エージェントをインストールすると、 PHP -FPMセンサーが自動的にインストールされ、デフォルト設定で構成されます。

以下の YAML のスニペットには、利用可能な設定が表示されています:

#PHP-FPM monitoring
 #com.instana.plugin.phpfpm:
 #  # Enabled (true) by default. Update it to 'false' to disable PHP-FPM discovery and sensor.
 #  enabled: true
 #  monitoring:
 #    # Enabling PHP-FPM worker pool monitoring collects worker pool process metrics like CPU and memory
 #    # usage every second. Enabled (true) by default.
 #    workerPoolMonitoring: true 
 

PHP の-FPMセンサーは、デフォルトでFPMワーカープールを監視します。 この監視機能により、センサーがバックグラウンドで自動ステータスチェックのCGIリクエストを送信することで、ワーカープロセスが終了してしまうのを防ぐことができます。 この動作を回避するには、 PHPworkerPoolMonitoringfalse の-FPMセンサープラグインの設定でオプションをに設定し、ワーカープールの監視を無効にしてください。

PHP -FPM ステータスページの有効化

PHP -FPM のメトリクスを詳細に監視するには、ステータスページを有効にする必要があります。 このページを有効にするには、ワーカー・プール構成ファイルを開き、項目 pm.status_path = /statusを追加します。 Instana PHP -FPM センサーは、 FastCGI を通じて、 PHP -FPM ステータスページのエンドポイントに直接アクセスします。 FPM ワーカープールの設定 pm.status_listen が定義されている場合、センサーはそれをエンドポイントとして使用し、設定された FPM ワーカープールを監視するための非表示のワーカープールを構成します。 そうでない場合、センサーはデフォルトでエンド listen ポイントに設定されます。 ワーカーの監視を無効にするには、 「 PHP -FPM センサーの設定」 を参照してください。

rootless Podman コンテナ内で実行されている PHP -FPM については、 PHP -FPM プールの listen エンドポイントに、ホストから rootless Podman ゲートウェイを経由してアクセスできる必要があります。

AWS Fargate で PHP -FPMのメトリクスを監視するには、 PHP -FPMステータスページも有効にする必要があります。

Apache を有効にする

Apache 構成には、以下の行が含まれている必要があります。

SetHandler application/x-httpd-php
 

回線がないと、センサーはロードに失敗し、以下のエラー・メッセージがログに記録されます。

> "PHP Sensor is failing because of "NO Version found"
 

IISの設定

デフォルトでは、IIS は PHP の実行時ログを PHP の Web ページに転送します。このページには、 PHP のトレーサーログも含まれています。 この動作を回避するには、次のいずれかの操作を行ってください:

  • PHP のログを別のパスにリダイレクトする:すべての PHP ログを別のパスにリダイレクトするには、ファイル php.ini 内の error_log プロパティを設定します。

  • PHP のTracerログを無効にする: PHP のTracerログのみを無効にするには、環境変数を INSTANA_LOG_LEVEL に設定します 0。 この環境変数を設定するには、次のいずれかの手順を実行してください:

    • PHP アプリケーションの FastCGI 設定を更新する

    • PowerShell またはコマンドプロンプトのターミナルで、次のコマンドを実行してください:

      PS C:\> C:\Windows\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='<php-cgi executable path>'].environmentVariables.[name='INSTANA_LOG_LEVEL',value='0']" /commit:apphost
       

メトリックの表示

PHP のメトリクスを表示するには、以下の手順を実行してください:

  1. Instana のUIのサイドバーで、 「インフラストラクチャ」 を選択します。
  2. 特定のモニター対象ホストをクリックします。

収集されたすべてのメトリックとモニター対象プロセスを含むホスト・ダッシュボードを表示できます。

他の Instana センサーと同様、 PHP センサーも設定は不要です。 PHP のインストール環境を自動的に検出し、インストール環境から以下のデータを収集します:

PHP では、構成データ、パフォーマンス指標、およびヘルスシグネチャは、使用される SAPI に依存します。 詳細については、 「サポートされている PHP SAPI」 を参照してください。

構成データとメトリクス

以下の表に、一般的に追跡される構成データをリストします。

  • PHP のバージョン
  • サーバー API
  • Zend スレッド・セーフティー
  • ロードされたモジュール
  • メイン INI ファイル
  • Ini ディレクトリー
  • 解析された追加の INIファイル
  • PHP 拡張機能ディレクトリー
注: mod_php を使用した Apache の一般的な設定状況は、 Apache のダッシュボードに表示されます。 PHP -CGI の場合、この設定データは、使用しているウェブサーバーのダッシュボード(該当する場合)に含まれています。

一般的に追跡される構成に加え、 PHP -FPM ダッシュボードには以下の構成データが含まれています:

  • マスター・プロセス ID
  • マスター構成
  • ワーカー・プール

PHP -FPMダッシュボードには、以下のメトリクスも含まれています:

  • 接続数
  • プロセス
  • リソース

正常性シグニチャー

各センサーには、着信メトリックに対して継続的に評価されるヘルス・シグニチャーのキュレートされた知識ベースがあります。 これらの正常性シグネチャーは、ユーザーの影響に依存する問題またはインシデントを発生させるために使用されます。

組み込みイベントは、エンティティの健全性シグネチャの異常に基づいて問題やインシデントをトリガーし、 カスタムイベントは、特定のエンティティの個々のメトリクスのしきい値に基づいて問題やインシデントをトリガーします。

PHP -FPM の組み込みイベントに関する詳細については、「 組み込みイベントのリファレンス 」を参照してください。

トレース

Instana PHP 向けに、自動および手動の両方の計測機能を提供します。

自動インスツルメンテーション

Instana PHP のTracing拡張機能を使用して、 PHP アプリケーションを自動的にインストルメントします。

PHP トレース拡張機能

「 PHP 」センサーを有効にすると、「 PHP 」トレース拡張機能が自動的にダウンロードされます。 この拡張機能をインストールするための設定は、デフォルトで有効 <agent_install_dir>/etc/instana/configuration.yaml になっています。 詳細については、 「 PHP センサーの設定」 を参照してください。

PHP トレース機能はデフォルトで有効になっています。 トレースの無効化に関する詳細については、 「 PHP のトレースを無効にする」 を参照してください。 PHP センサーは PHP SAPI センサーにリンクされています。 つまり、トレースは、 Instana エージェントがサポートされているSAPIセンサー(現在は PHP -FPM、mod_php、およびphp-cgi)を検出した場合にのみ開始されます。 詳細については、 「サポートされている PHP SAPI」 を参照してください。

PHP センサーは、SAPIの設定に関する情報を収集し、お使いの PHP のバージョンとホストのアーキテクチャに基づいて、適切な Instana 拡張機能をダウンロードします。 PHP のセンサーは、常に Instana 拡張機能の最新バージョンをダウンロードします。 ただし、 configuration.yaml ファイルで pinExtensionVersion: x.y.z を設定することによって、特定のバージョンをピン留め (強制) することもできます。

Instana の PHP トレース拡張機能および PHP トレースのカスタマイズに関する詳細については、 「 PHP トレースの有効化と設定」 を参照してください:

「 PHP 」拡張機能の手動ダウンロード

PHP CLIの監視には、 PHP Instana 拡張機能を手動でデプロイする必要があります。これは、 PHP CLIプロセスが一時的なものであり、 PHP センサーがCLIプロセスを確実に検出できないためです。 ダウンロード方法については、 「 PHP トレース拡張機能の手動インストール」 を参照してください。

自動インストルメンテーションが組み込まれたライブラリとフレームワーク

Instana PHP アプリケーションを PHP エンジンレベルで監視し、選択した関数呼び出しのトレースを提供します。

データベース

次の表は、 PHP Tracerが自動インストルメンテーションできるデータベースの一覧です。 また、汎用的な PHP データオブジェクト(PDO)拡張機能 [1] を通じてサポートされているデータベースも含まれています:

データベース 計測機器識別子 [2] 計測フラグ [3]
Cassandra cassandra 8589934592
Couchbase couchbase 1048576
Elasticsearch elasticsearch NA
IBM Db2 db2 256
LDAP ldap 536870912
Memcache memcache 128
Memcached memcache 128
MongoDB mongodb 32
MS SQL (sqlsrv) mssql 17179869184
MySQL mysql 64
MySQLi mysql 64
OCI8 oci8 512
Redis (predisまたはPECLの redis を使用) redis 16
CUBRID (PDO) pdo 4
Firebird (PDO) pdo 4
IBM (PDO) pdo 4
Informix (PDO) pdo 4
MS SQL Server (PDO) pdo 4
MySQL (PDO) pdo 4
ODBC および DB2 (PDO) pdo 4
Oracle (PDO) pdo 4
PostgreSQL (PDO) pdo 4
SQLite (PDO) pdo 4
フレームワーク

次の表は、 PHP Tracer が自動計測できる Web アプリケーションフレームワークの一覧です:

フレームワーク 計測器識別子 [2:1] 計測フラグ [3:1]
Laminas laminas 33554432
Laravel laravel 8388608
Symfony symfony 4194304
Wordpress wordpress 32768
Zend Framework zf 33554432
CakePHP [4] NA NA
メッセージング

次の表は、 PHP Tracer が自動計測可能なメッセージング技術の一覧です:

メッセージング 計測器識別子 [2:2] 計測フラグ [3:2]
AMQP (pecl-amqp/pecl-amqp-lib) amqp 65536
Google Cloud Pub/Sub gcpsa 268435456
HTTP プロトコル

次の表は、 PHP Tracerが自動インスツルメンテーションできる、 HTTP プロトコルに対応した PHP ライブラリの一覧です:

プロトコル 計測器識別子 [2:3] 機器設定フラグ [3:3]
cURL curl 8
HTTP ストリーム streams 1
PECL HTTP pecl_http 2048
SOAP soap 16384
ロギング

次の表は、 PHP Tracer が自動インストルメンテーションできるロギングフレームワークの一覧です:

ロギングフレームワーク 計測器識別子 [2:4] 計測フラグ [3:4]
Drupal ロガー drupal 67108864
Monolog monolog 1073741824
Yii ロガー yii 2147483648
Zend_Log zendlog 4294967296
PHP 組み込み拡張機能

次の表は、 PHP Tracer が自動インスツルメンテーションできる PHP の組み込み拡張機能の一覧です:

拡張子 計測器識別子 [2:5] 計測フラグ [3:5]
PCNTL (pcntl_fork) NA NA
セッション数 sessions 2
SOAP soap 16384
テンプレート処理

次の表は、 PHP Tracer が自動インスツルメンテーションできるテンプレートライブラリの一覧です:

テンプレート・ライブラリー 計測器識別子 [2:6] 計測フラグ [3:6]
Twig twig 2097152
Blade blade 16777216
その他

次の表は、 PHP Tracer が自動インスツルメントできる、広く使用されている各種タイプの PHP 関数呼び出しの一覧です:

名前 計測器識別子 [2:7] 計測フラグ [3:7]
例外数 exceptions 262144
fastcgi_finish_request NA NA
シェル呼び出し shell 1024
コンパイル時間 NA NA
OpCache のメトリック NA NA
注: スパン詳細のスタックトレースは、 PHP 5.4 以降のバージョンでのみサポートされています。

手動インスツルメンテーション

また、トレース用SDKを使用して、 PHP のコードを手動でトレース対象に設定することもできます。 トレースSDKを使用することで、 Instana によって自動的に収集されるトレースにトレースデータを追加することができます。 PHP 以下のSDKを提供しています:

  • PHP SDK
  • OTel SDK「 Instana 」エクスポーター
注:PHP SDKは非推奨となっており、2026年5月30日をもって Instana から削除されます。 追跡機能の継続的なサポートを確保するため、手動による計測には OTel SDKの Instana エクスポーターをご利用ください。

PHP -SDK

PHP のトレース拡張機能には、最小限のSDKが付属しています。 この SDK を使用して、コードを手動でインスツルメンテーションすることができます。 詳細については、 PHP -SDK を参照してください。

OTel SDK「 Instana 」エクスポーター

Instana OpenTelemetry を使用するコードを手動で計測するための、 OTel SDK エクスポーターを提供します。 OpenTelemetry のスパンを、 Instana エージェントに直接エクスポートする前に、 Instana のスパンに変換します。 使用方法の詳細については、 「 Instana エクスポーター」 を参照してください。

OpenTracing との連携

Instana OpenTracing を使用したトレース用に、専用の PHP SDKを提供しています。 Instana 独自の PHP による計測機能とは異なり、 OpenTracing SDKでは、コードを手動で計測対象として設定する必要があります。 PHP ( OpenTracing )SDKを通じて生成されるトレースは、 Instana 独自のトレース機能によって生成されるトレースとは別物です。

注:PHP OpenTracing SDKは、 Linux オペレーティングシステムでのみサポートされています。

OpenTelemetry との連携

Instana PHP アプリケーション向けの OpenTelemetry インストルメンテーションに対応しています。 OpenTelemetry の PHP 拡張機能には、トレースを生成し、 OpenTelemetry Collectorやバックエンドなどの設定済みのエンドポイントにエクスポートする自動インスツルメンテーション機能(ゼロコード・インスツルメンテーションとも呼ばれる)が備わっています。

これらのスパンを Instana に取り込むには、以下のエクスポーターのいずれかを使用できます:

  • デフォルトの OpenTelemetry Protocol ( OTLP ) エクスポーター:これにより、 Instana エージェントは OTLP エンドポイントを通じてトレースを受信できるようになります。
  • Instana OpenTelemetry PHP エクスポーター : OpenTelemetry のスパンを、 Instana エージェントに直接エクスポートする前に、 Instana のスパンに変換します。

OpenTelemetry のトレースは、 Instana PHP のトレースと同様に、 Instana のUI上で可視化されます。 詳細については、 「 PHP アプリケーション向けの OpenTelemetry 統合」 を参照してください。

サーバーレスのトレース

Instana AWS Fargate 環境向けのサーバーレストレース機能をサポートしています。 Instana のネイティブ拡張機能と同様に、serverless拡張機能でもデフォルトで PHP のトレースが有効になっています。 設定の詳細については、 「 AWS Fargate の監視」 を参照してください。

サーバーレストレースを有効にするには、以下の要件が満たされていることを確認してください:

  • OpenSSL3 または、 OpenSSL1.1 が PHP コンテナにインストールされています。
  • INSTANA_ENDPOINT_URL また、 INSTANA_AGENT_KEYPHP では環境変数を利用できます。 これらの変数の設定方法の詳細については、 「タスク定義の設定」 を参照してください。
注:PHP のサーバーレストレースとネイティブトレース( Instana エージェントを使用)は、サーバーレストレースが OpenSSL, に依存しており、これがネイティブトレースの実装と競合するため、併用することはできません。

プロファイル

PHP プロファイラはCPU使用率プロファイルタイプをサポートしており、これはネイティブの PHP トレーサーを Instana エージェントと組み合わせて使用する場合にのみ利用可能です。 PHP プロファイラは、サーバーレス監視ではサポートされていません。

これを使用可能にする方法について詳しくは、「 プロファイルの構成」を参照してください。

  1. Instana 汎用データベースPDO拡張機能内の特定の関数呼び出しを、対応するデータベースドライバ固有のPDO拡張機能における実行時間を捕捉するために選択します。 データベースドライバ固有のPDO拡張機能を直接実装するわけではありません。 また、 Instana では、 PHP 8.4 で導入された、 PDO データベースドライバ固有のサブクラス機能はサポートされていません。 ↩︎

  2. インストルメンテーション識別子は、 YAML の設定において、特定のライブラリのトレースを有効または無効にするために使用されるキーです。 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. インスツルメンテーションフラグとは、INI設定において特定のライブラリまたは一連のライブラリのトレースを無効にするために使用されるビットフラグの値のことです。 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  4. Instana CakePHPCake\Error\BaseErrorHandlerCake\Error\ExceptionTrap フレームワーク内のinstrumentsのみおよびclasses。 ↩︎