カスタム除外ルールを使うと、特定の条件にマッチするビジネストランザクションの検出を防ぐことができます。除外ルールを使うべき状況としては以下が考えられます。
- AppDynamicsは、モニタリングする必要のないビジネストランザクションを検出します。
- エージェントおよびコントローラの制限内に抑えるために、ビジネストランザクションの総数を減らす必要があります。
- カスタムマッチルールによって定義されたより正確なエントリポイントの検出を可能にするために、デフォルトのエントリポイントを抑制する必要があります。
既存のルールをカスタマイズしたり、新しいルールを設定することができます。詳細については、カスタムマッチルールを参照してください。
デフォルトの除外ルール設定の変更
AppDynamicsには、さまざまなエージェントタイプに対して一連の除外ルールがデフォルトで用意されています。場合によっては、デフォルトルールを無効にしたり、新しいカスタム除外ルールを追加する必要があります。異なるエントリポイントタイプには、トランザクションの除外に使用できる別々の一致基準が含まれます。
[Transaction Detection ] > [Rules] タブでデフォルトルールを表示できます。
ダウンストリームアプリケーションロジックを使用したトランザクション名の定義
受信リクエストが、別のビジネスロジックを実行するためにペイロードデータを使用するコードで、コントロールロジックを呼び出す場合があります。このような場合、ビジネスロジッククラスおよびメソッドのビジネストランザクションを命名することは有益です。AppDynamicsがコントロールロジックのビジネストランザクションを命名できないようにするために、カスタム除外ルールを使用できます。この場合、代わりにビジネスロジックによりトランザクションを識別できます。
コントロールロジックとビジネスロジックの両方をEJBとして実装している例を考えてみます。EJB 検出を有効にすると、AppDynamics はコントロールのクラスとメソッドに基づいて、ビジネストランザクションを検出して命名します。Class Name Equals 一致基準を使用してコントロールクラス名の EJB 除外ルールを作成できます。ルールを作成した後、AppDynamics はビジネスロジック API のビジネストランザクションを検出し命名します。
除外ルールをフィルタとして使用
カスタム除外ルールは、不要なリクエストをトランザクション検出から除外します。対象のリクエストを許可し、それ以外はすべて無視する一致基準を指定できます。
たとえば、デフォルトの検出ルールを使用します。アプリケーションは、次で始まる URI 範囲を受信します。/a、/b ~/z。ただし、URI をモニタするのは、/a で始まる場合のみです。次に示すように、「Match : Doesn't Start With /a」というカスタム除外ルールを作成できます。
別の例で、java.lang.String
および java.util.ArrayList
のクラスの Spring Bean を実装する特定のアプリケーションを考えてみます。これは、AppDynamicsがすべてのインスタンスを同じIDを持つSpring Beanと識別することを意味します。問題を修正するには、カスタム除外ルール固有の Spring Bean ID を定義します。