カスタムマッチルールは、ビジネストランザクション検出とエントリポイントタイプの命名の基準を定義できるタイプのトランザクション検出ルールです。

次の2つのタイプのカスタムマッチルールがあります。

  • カスタム包含ルールは、新しいトランザクションで使用するエントリポイントを定義します。
  • カスタム除外ルールを使用すると、トラッキング対象外のビジネストランザクションを AppDynamics が検出しないようにできます。たとえば、アプリケーション フレームワーク サービス、管理コンソール要求、ハートビート ping などがあります。

ライブプレビューを使用して、特定のカスタムマッチルール構成を実験し、可能性のあるビジネス トランザクション エントリ ポイントを識別します。

トランザクションの命名

アプリケーション エージェントがカスタム包含ルールに一致するリクエストを検出すると、そのルール名に基づいてビジネストランザクションに名前を付けます。URI ベースのルール、POJO、または POCO のトランザクション分割を使用して、トランザクション名をさらに絞り込むことができます。

リクエストが複数のカスタム包含ルールに一致した場合、優先順位が最も高いルールを適用します。「トランザクション検出ルール」を参照してください。

カスタムマッチルールの作成

  1. [Configuration > Instrumentation ] に移動して、[Transaction Detection] サブタブを選択します。

  2. [Rules] サブタブを選択します。

    [Transaction Detection] タブの特定のスコープ内にルールを追加することもできます。

  3. [Custom Match Rule] が選択された状態で [Add ] を選択すると、[Add Rule] ページが開きます。

  4. [Agent Type] と [ Entry Point Type ] を選択し、[Next] を選択します。
  5. Summaryタブで一般的なルール構成を行います。
    • カスタムマッチ除外ルールを作成している場合、次をクリックします
    • ルールの名前を入力します。アプリエージェントは、ルールに一致するリクエストをこのルール名に基づいて命名します。

      エラーを回避するために、ルール名には次の特殊文字を使用しないでください:小なり記号(<)および大なり記号(>)。

    • 必要に応じてルールを無効にし、ルールの優先順位を設定して、ルールをスコープに割り当てます。
      ルールの優先順位については、「トランザクション検出ルール」を参照してください。
      スコープの詳細については、「スコープ構成モデル」を参照してください。
  6. Rule Configurationタブで、エントリポイントタイプに基づいて一致基準を構成します。たとえば、PHP Web では、HTTP メソッド、URI、クエリパラメータなどの HTTP 指向の一致基準を指定できます。

    Servlet および POJO エントリポイントタイプには [Live Preview] ボタンがあり、カスタムマッチルールのライブプレビューセッションを起動できます。ライブプレビューは、アクティブノードからデータをストリーミングするので、Add Ruleウィンドウでルール構成をインタラクティブに実験できます。

カスタムマッチ包含ルールの例

この例では、MyCustomScope という名前の範囲の cart.GET というカスタム一致包含ルールを示します。

Custom Match Rule

「cart.GET」ルールは、URI が /cart/ で始まり、その後に数字が続く Web サービス GET リクエストのビジネストランザクションを生成します。AppDynamics は、生成されたビジネストランザクションの名前を「cart.GET」にします。

Business Transaction Match Criteria


ルールに条件を追加して、特定の HTTP パラメータまたはホスト名に基づく一致状況を見ることができます。

ServletやASP.NETなどの特定のHTTPベースのリクエストタイプにおいては、マッチルールに複数のHTTPパラメータ一致条件を設定できます。このルールに一致するには、リクエストがすべてのHTTPパラメータ条件に一致する必要があります。パラメータ間にはOR演算子ではなく、暗にAND演算子があります。

より複雑な正規表現マッチングを使用できます。たとえば、次のリクエスト URL があります。

  • example.com/aaa123.aspx
  • example.com/b1.aspx

受信したリクエスト URL をこのビジネストランザクションと照合するには、次を使用します。

example\.com/[a-zA-Z]]+?[0-9]+?

example.com とそれに続く大文字または小文字および数字を含む URL へのすべてのリクエストは、このビジネストランザクション検出ルールに一致します。example.com/z.aspx など文字の後に数字が続かない URL は一致しません。 

UI で正規表現を使用する場合は、「正規表現の使用」を参照してください。  

URIベースのエントリポイントのトランザクション分割

次のタイプの URI ベースのエントリポイントに対して、ビジネストランザクションの分割を構成できます。

  • Java Servlet
  • ASP.NET
  • PHP Web
  • Node.js Web
  • Python Web
  • Web サーバ

トランザクション分割を有効にすると、エージェントは、リクエストの動的部分に基づいて、カスタム包含ルールに一致したリクエストのサブセットを、別々のビジネストランザクションに転換します。アプリケーション エージェントは、次のようにトランザクションに名前を付けます。

<custom match rule name>.<name derived from the split configuration>.

次の受信リクエストを持つアプリケーションを考えてみましょう。

  • http://nwtrader.com/checkout?category=electronics 
  • http://nwtrader.com/checkout?category=clothing 

この例では、2 つのリクエストを、次の名前の 2 つの異なるビジネストランザクションに転換するようにトランザクション分割を構成する方法を示しています。

  • Checkout.electronics
  • Checkout.clothing

Split Transaction Using Request Data

ペイロードに基づいてServletトランザクションを分割できます。詳細については、ペイロードによるServletトランザクションの分割の例を参照してください。

デフォルトのカスタム除外ルール

AppDynamics には、通常は対象外のフレームワークのエントリポイントに対するデフォルトの除外ルールが含まれています。デフォルトのカスタム除外ルールを表示または変更するには、[Configuration] > [Instrumentation > Transaction Detection > Rules] に移動し、[Rule Type: Custom Exclude] でフィルタリングします。詳細については、カスタム除外ルールの例を参照してください。

サービスエンドポイントの除外ルールを構成するには、「サービスエンドポイント」を参照してください。