このページでは、エントリポイントの各タイプに対する一致および除外のカスタムルール作成に使用する条件について説明します。
カスタムマッチルールおよび除外ルールの条件は同じです。
あるエントリポイントタイプに対する自動検出を無効にしてカスタムマッチルールを適用すると、エージェントはマッチルールにより定義されるリクエストのみを検出します。例えば「searchを含むアクション」に一致する PHP MVCカスタムマッチルールと「viewを含むアクション」に一致するルールを設定した場合、エージェントにより検出されるリクエストは「search」または「view」を含む MVCトランザクションのみになります。
一方、自動検出を無効にせずに「Action contains search」というカスタムマッチルールを適用する場合、この条件に一致するすべてのリクエストが「search」トランザクションとしてグループ化されてから、自動検出によりその他のリクエスト(「search」を含まないもの)が検出されます。
- Configuration Instrumentation > Transaction Detection > PHP-Transaction Detection をクリックします。
- [Custom Match Rule] セクションまたは [Exclude Rule] セクションまでスクロールします。
- [+] をクリックして新しいルールを作成し、ルールを適用するエントリポイントタイプをドロップダウンメニューから選択します。
一致条件には以下の項目(1つまたはそれ以上)が含まれます。
- HTTPメソッド
- URIセグメント
- HTTPパラメータ(値またはパラメータの存在)
- HTTPヘッダー(値またはヘッダーの存在)
- ポート
- クッキー(値またはクッキーの存在)
「カスタムマッチルール」の「複数ルールが適用される場合の優先順位の設定」を参照してください。
PHP Web では、トランザクションが URI を基にエントリポイントを識別するよう構成されている場合、必要に応じてトランザクションを複数のトランザクションに分割できます。たとえば、ログインリクエストは単一のトランザクションとして自動検出されますが、リクエストが新規ユーザーまたは既存ユーザーの操作に分岐する場合には2つのトランザクションに分割することが可能です。
URIセグメント、パラメータ値、ヘッダー値、クッキー値などのトランザクション名からのリクエストデータを使用して、PHP Webトランザクションを分割することができます。
たとえば、モバイル事業者パラメータでカスタムマッチルールトランザクション「mobile checkout」を分割するには、エージェントは次のように別々のトランザクションを検出します。
- products/mobile/checkout?carrier=verizon
- products/mobile/checkout?carrier=sprint
- products/mobile/checkout?carrier=att
事業者パラメータに基づいてトランザクションを分割するには
- Rule ConfigurationタブでURIマッチオプションを設定します。
- [Split Transactions Using RequestData] を確認します。
- [Use a parameter value in Transaction names] を選択します。
- [Parameter Name] に「carrier」と入力します。
エージェントは、「mobile checkout.verizon」、「mobile checkout.sprint」、「mobile checkout.att」のトランザクションを作成します。
PHP Web 用に構成されたカスタムマッチルールが、同じアプリケーション内の異なるトランザクションタイプのビジネストランザクションの自動検出ルールと同じ基準である場合、PHP Webカスタムマッチルールが優先され、ビジネストランザクションはPHP Webトランザクションタイプとして表示されます。
ただし、PHP Webのカスタムマッチルールと他のトランザクションタイプのカスタム一致ルールが同じ基準で一致する場合、優先順位はルールの優先値に従います。ルールの優先順位については、「Setting Match Rule Priority」を参照してください。
デフォルトでは、ほとんどのMVCフレームワークのビジネストランザクションがcontroller:actionを使用して命名されます。モジュール式MVCフレームワークについては、module:controller:actionを使用してビジネストランザクションが命名されます。
一致条件として「Equals」を使用して名前全体に一致するデフォルトではなく、モジュールやコントローラ、表示名(「Begins with」または「Contains」など)の一部のみ、または正規表現に一致するよう検出を変更できます。
コントローラとアクションの両方に一致する単一の一致ルールを構成することはできません。次のいずれかを使用して、MVC カスタムマッチルールを作成できます。
- コントローラ名のみ
- アクション名のみ
- モジュール名とアクション
- モジュールとコントローラ名
Webサービスフレームワークの場合、デフォルトでは一致条件に「Equals」を使用するウェブサービス名全体とオペレーション名全体に基づいてビジネストランザクションが命名されます。
ウェブサービス名のみ、またはオペレーション名のみに一致するカスタムルールで検出を変更することができます。名前の一部または正規表現を使用して一致できます。
AppDynamicsでは、デフォルトで一致条件に「Equals」を使用し、Drupalモジュールのページコールバック名全体に基づいてDrupalトランザクションを自動命名します。
ページコールバック名の一部のみまたは正規表現を使用するカスタムマッチルールにより、検出を変更できます。
AppDynamicsでは、デフォルトで一致条件に「Equals」を使用し、Wordpressテンプレート名全体に基づいてWordpressトランザクションを自動命名します。
テンプレート名の一部のみまたは正規表現を使用するカスタムマッチルールにより、検出を変更できます。
AppDynamicsでは、デフォルトでスクリプトのディレクトリパスにスクリプト名を加えたセグメントの最後の2つに基づいてPHP CLIトランザクションを自動命名します。
エージェントは、スクリプトが実行される度にビジネストランザクションインスタンスを作成します。
スクリプトのパスと名前の異なる部分に一致する、または正規表現を使用するカスタムマッチルールにより、検出を変更できます。