AppDynamics では、エントリポイントを定義し、ビジネストランザクションに名前を付けるために、さまざまなタイプのトランザクション検出ルールを使用します。

多くの場合、ビルトインルールによって、有用なビジネストランザクションセットが生成されます。生成されない場合は、新しいルールを作成するか既存のルールを編集して、ご使用の環境に合わせてトランザクション検出を最適化できます。

権限

トランザクション検出ルールをカスタマイズするには、Configure Transaction Detection 権限が必要です。

View Sensitive Data 権限Configure Transaction Detection 権限をともに使用すると、ライブプレビューおよびビジネストランザクション検出機能を使用してアプリケーションからライブデータをストリーミングできるようになります。

ライブプレビュー

Javaおよび.NET環境では、以下のインタラクティブなライブプレビューツールを使用して、ビジネストランザクションのエントリポイントを見つけることができます。

  • ビジネストランザクション検出セッションでノードからコントローラ UI にライブデータをストリーミングすることにより、インストゥルメンテーションに関する意思決定がしやすくなります。これらのセッションでは、該当するノードでアクティブなすべてのトランザクション検出ルールに基づいてトランザクションが表示されます。

  • 特定のエントリポイントのタイプでは、カスタム一致ルールのライブプレビューを使用し、1 つのトランザクション検出ルールを 1 つのノードに適用して、トランザクションをプレビューできます。

ライブプレビューのコンテキスト内のビジネストランザクション(一時的トラザクションと呼ばれます)は、ライブプレビューの終了後は存続しません。ビジネストランザクション検出セッションを使用すれば、セッションの終了時にルールの変更内容を適用することも破棄することもできます。カスタムマッチのライブプレビュールールは、ルールの保存後に適用されます。 

一時的トランザクションでは、ライブプレビューセッションが実行されている同じノードへの終了コールが呼び出されることがあります。場合によっては、エージェントはダウンストリームセグメントで追加の一時的トランザクションとインストゥルメント化されていないコードを検出します。

  • 終了コールと対応するエントリポイントは、HTTPやWebサービスのような自動検出された終了およびエントリポイントです。
  • カスタムアクティビティインプロセスコールのレアケース。

トランザクション検出ルールの管理

コントローラ UI でトランザクション検出ルールをカスタマイズするには、[Configuration > Instrumentation] に移動します。[ビジネストランザクション] リストから、[Configure] をクリックして、トランザクション検出設定にすばやくアクセスすることもできます。

柔軟なスコープ構成モデルを使用して、トランザクション検出ルールをティアに適用します。Transaction Detectionタブから、次のようにルールを管理できます。

  • [Transaction Detection] タブで個々のスコープのルールを管理します。
  • Rulesサブタブでアプリケーション全体のルールを管理します。Rulesサブタブには、ルールが適用されるティアと、どのスコープにしたがうかも表示されます。
  • Tiersサブタブで、特定のティア のルールを表示または変更します。

既存のルールを変更するには、そのルールをダブルクリックして [Rule Editor] を表示します。[+/Add ] をクリックして新しいルールを定義します。

[Live Preview ] ボタンを使用して、Java および .NET エージェントを実行しているノードに対してビジネストランザクション検出セッションを開始します。

トランザクション検出ルールの優先順位

AppDynamicsのアプリエージェントは、同じタイプのトランザクション検出ルールを次の優先順序で適用します。

  1. ルールの優先順位は、最高から最低の順になります。優先順位 0 は、指定可能な最低の優先順位です。
  2. 作成日の古い方から先に。

たとえば、優先度 2 のカスタムマッチルールと優先度 6 のカスタムマッチルールを照合する HTTP リクエストがある場合、エージェントは、優先度 6 のルールを適用します。

受信リクエストが複数のタイプの検出ルールに一致した場合、AppDynamicsは次の優先順位で検出ルールを適用します。

  1. 包含ルールの優先度に従うカスタムマッチ包含ルール。リクエストが包含ルールに一致すると、エージェントはそのルールに基づいてビジネストランザクションに名前を付けます。
  2. 除外ルールの優先度に従うカスタムマッチ除外ルール。リクエストが除外ルールに一致すると、アプリエージェントはそのトランザクションを検出から除外します。

  3. デフォルトの自動検出ルール。リクエストがデフォルトの自動検出ルールに一致した場合、自動検出命名スキームに従ってトランザクションを命名します。

2 つのエントリポイントタイプの優先順位が同じで、いずれを使用してもエントリポイントを定義または登録できる場合、それらの間に一定の優先順位があります。

たとえば、Java で単にすべてのタイプの Java 自動検出ルールが有効になっていて、Web サービスまたはサーブレットと見なすことができるエントリポイントがある場合、サーブレットが優先されます。Web サービスがデフォルトとして必要な場合は、より高い優先度のルールが必要です。

ティアのトランザクション検出ルールのデフォルトの順序を表示するには、次の手順を実行します。

  1. [Configuration > Instrumentation > Transaction Detection > Tiers] に移動します。 
  2. ティアをクリックすると、優先順位および優先度の順にルールが表示される。

Java および .NET の場合は、check-bt-excludes-early ノードプロパティを「true」に設定することで、カスタムマッチ包含ルールの前にカスタムマッチ除外ルールを評価するようにアプリケーション エージェントを構成できます。  これはノードベースの構成であり、コントローラ UI のルールの表示順序には影響しません。

検出ルールのエクスポート

コントローラAPIを使用してアプリケーションとティア間でルールを移行できます。詳細については、「構成インポートおよびエクスポートAPI」を参照してください。