このページでは、エントリポイントの各タイプに対する一致および除外のカスタムルール作成に使用する条件について説明します。

カスタムマッチルールおよび除外ルールの条件は同じです。

あるエントリポイントタイプに対する自動検出を無効にしてカスタムマッチルールを適用すると、エージェントはマッチルールにより定義されるリクエストのみを検出します。例えば「searchを含むアクション」に一致する PHP MVCカスタムマッチルールと「viewを含むアクション」に一致するルールを設定した場合、エージェントにより検出されるリクエストは「search」または「view」を含む MVCトランザクションのみになります。

一方、自動検出を無効にせずに「Action contains search」というカスタムマッチルールを適用する場合、この条件に一致するすべてのリクエストが「search」トランザクションとしてグループ化されてから、自動検出によりその他のリクエスト(「search」を含まないもの)が検出されます。

カスタムルール構成へのアクセス

  1. Configuration Instrumentation > Transaction Detection > PHP-Transaction Detection をクリックします。
  2. [Custom Match Rule] セクションまたは [Exclude Rule] セクションまでスクロールします。
  3. [+] をクリックして新しいルールを作成し、ルールを適用するエントリポイントタイプをドロップダウンメニューから選択します。

PHP Web

一致条件には以下の項目(1つまたはそれ以上)が含まれます。

  • HTTPメソッド
  • URIセグメント
  • HTTPパラメータ(値またはパラメータの存在)
  • HTTPヘッダー(値またはヘッダーの存在)
  • ポート
  • クッキー(値またはクッキーの存在)

カスタムマッチルール」の「複数ルールが適用される場合の優先順位の設定」を参照してください。

トランザクションの分割

PHP Web では、トランザクションが URI を基にエントリポイントを識別するよう構成されている場合、必要に応じてトランザクションを複数のトランザクションに分割できます。たとえば、ログインリクエストは単一のトランザクションとして自動検出されますが、リクエストが新規ユーザーまたは既存ユーザーの操作に分岐する場合には2つのトランザクションに分割することが可能です。

URIセグメント、パラメータ値、ヘッダー値、クッキー値などのトランザクション名からのリクエストデータを使用して、PHP Webトランザクションを分割することができます。

PHP Web分割の例

たとえば、モバイル事業者パラメータでカスタムマッチルールトランザクション「mobile checkout」を分割するには、エージェントは次のように別々のトランザクションを検出します。

  • products/mobile/checkout?carrier=verizon
  • products/mobile/checkout?carrier=sprint
  • products/mobile/checkout?carrier=att

事業者パラメータに基づいてトランザクションを分割するには

  1. Rule ConfigurationタブでURIマッチオプションを設定します。
  2. [Split Transactions Using RequestData] を確認します。
  3. [Use a parameter value in Transaction names] を選択します。 
  4. [Parameter Name] に「carrier」と入力します。

エージェントは、「mobile checkout.verizon」、「mobile checkout.sprint」、「mobile checkout.att」のトランザクションを作成します。 

PHP Webカスタムマッチルール vs その他のタイプの自動検出ルール

PHP Web 用に構成されたカスタムマッチルールが、同じアプリケーション内の異なるトランザクションタイプのビジネストランザクションの自動検出ルールと同じ基準である場合、PHP Webカスタムマッチルールが優先され、ビジネストランザクションはPHP Webトランザクションタイプとして表示されます。

ただし、PHP Webのカスタムマッチルールと他のトランザクションタイプのカスタム一致ルールが同じ基準で一致する場合、優先順位はルールの優先値に従います。ルールの優先順位については、「Setting Match Rule Priority」を参照してください。

PHP MVC

デフォルトでは、ほとんどのMVCフレームワークのビジネストランザクションがcontroller:actionを使用して命名されます。モジュール式MVCフレームワークについては、module:controller:actionを使用してビジネストランザクションが命名されます。

一致条件として「Equals」を使用して名前全体に一致するデフォルトではなく、モジュールやコントローラ、表示名(「Begins with」または「Contains」など)の一部のみ、または正規表現に一致するよう検出を変更できます。

コントローラとアクションの両方に一致する単一の一致ルールを構成することはできません。次のいずれかを使用して、MVC カスタムマッチルールを作成できます。

  • コントローラ名のみ
  • アクション名のみ
  • モジュール名とアクション
  • モジュールとコントローラ名

PHP Webサービス

Webサービスフレームワークの場合、デフォルトでは一致条件に「Equals」を使用するウェブサービス名全体とオペレーション名全体に基づいてビジネストランザクションが命名されます。

ウェブサービス名のみ、またはオペレーション名のみに一致するカスタムルールで検出を変更することができます。名前の一部または正規表現を使用して一致できます。

PHP Drupal

AppDynamicsでは、デフォルトで一致条件に「Equals」を使用し、Drupalモジュールのページコールバック名全体に基づいてDrupalトランザクションを自動命名します。

ページコールバック名の一部のみまたは正規表現を使用するカスタムマッチルールにより、検出を変更できます。

PHP Wordpress

AppDynamicsでは、デフォルトで一致条件に「Equals」を使用し、Wordpressテンプレート名全体に基づいてWordpressトランザクションを自動命名します。

テンプレート名の一部のみまたは正規表現を使用するカスタムマッチルールにより、検出を変更できます。

PHP CLI

AppDynamicsでは、デフォルトでスクリプトのディレクトリパスにスクリプト名を加えたセグメントの最後の2つに基づいてPHP CLIトランザクションを自動命名します。

エージェントは、スクリプトが実行される度にビジネストランザクションインスタンスを作成します。

スクリプトのパスと名前の異なる部分に一致する、または正規表現を使用するカスタムマッチルールにより、検出を変更できます。