AppDynamicsでは、Servletベースのエントリポイントへのリクエストを自動的に検出し、そのリクエストを基にビジネストランザクションを生成します。自動トランザクション検出をカスタマイズする方法に関する一般情報については、「URIベースのエントリポイント」を参照してください。
ServletまたはServletフィルタとしてサポートされているフレームワーク
AppDynamicsは、ServletまたはServletフィルタベースの多数のWebフレームワークをサポートしています。AppDynamicsでのServlet構成設定は、プレーンなServletと同様に以下のフレームワークに適用されます。フレームワークは次のとおりです。
- Spring MVC
- Wicket
- Java Server Faces(JSF)
- JRuby
- Grails
- Groovy
- Tapestry
- ColdFusion
Servletトランザクションのカスタムマッチルール
カスタムマッチルールを使用して、Selvet ベースのリクエストに対するビジネストランザクションの生成方法を制御できます。
一致条件
一致条件は、URI、HTTPメソッド、ホスト名、servlet名など、リクエストの特性に基づいて設定できます。
HTTPパラメータ条件には、ひとつ以上の条件を追加できます。複数のHTTPパラメータ一致基準を構成する場合、すべてがリクエストを満たし、そのビジネストランザクションの識別および命名ルールに従う必要があります。
一部のオプションでは、構成された条件を否定できる NOT 条件を選択できます。このオプションを選択するには、条件の横にある歯車アイコンを使用します。
リクエストデータまたはペイロードを使用したトランザクションの分割
URIで一致させる場合、URIパターン、リクエストデータ、ペイロードなど、リクエストからの値に基づいて、トランザクションを識別(あるいは分割)することができます。リクエストエレメントによるトランザクションの命名または分割の詳細については、「URIベースのエントリポイント」を参照してください。
ルールを作成すると Custom Match Ruleリストに表示され、ルールの有効化/無効化や、編集、削除ができます。
使用例については、「ペイロードによるServletトランザクションの分割の例」を参照してください。
POSTリクエストボディのパラメータマッチングに関する考慮事項
HTTP ボディのパラメータ値に基づいて POST リクエストに一致する Servlet ベースのカスタムマッチを構成できます。アプリケーションの動作に干渉しないようにするために、Java エージェントは、自身のボディパラメータへのアクセス方法に対して複数の特別な処理方法と制限を適用します。この動作は、特定のアプリケーションの POST ボディパラメータが照合できるリクエストに影響を与える可能性があります。POST リクエストで HTTP パラメータによる照合の構成に問題が発生した場合は、この動作を理解しておく必要があります。
トランザクションの命名に関する一致基準
トランザクションの一致基準におけるHTTPパラメータの一致条件は、以下の場合に作用します。
- パラメータが、リクエストボディではなく POST リクエストの URL 内にあるクエリ文字列の場合。
- Servlet リクエストボディパラメータが、Servlet の呼び出し前に、アプリケーションによりすでに読み取られ解析されている場合。たとえば、Servlet フィルタはこれを実行できます。
上記以外の場合、カスタムServletマッチルールはPOSTリクエストのHTTPパラメータ値と一致しません。
トランザクションの分割
POST リクエストのパラメータ照合に基づくトランザクション分割ルールの場合、Java エージェントは、アプリケーション サーブレットがリクエストパラメータにアクセスするまで、受信リクエストのトランザクション命名を延期します。
アプリケーションが ServletReques オブジェクトにおいて getParameterMap()
、getParameter()
、getParameterNames()
、または getParameterValues()
を呼び出すと、Java エージェントはパラメータに「アクセスがあった」と認識します。Servlet がいずれのメソッドも呼び出さない場合、エージェントは分割ルールを適用せず、トランザクションは命名されません。
Servletの除外ルール
特定の Servlet メソッドがモニタされないようにするには、カスタム除外ルールを追加します。除外する Servlet の選択コントロールは、カスタムマッチルールと同様です。