HTTP アナライザ プラグインの概要
HTTP アナライザ プラグインにはソフト開発キット(SDK)が含まれます。SDK には、ドキュメント、サンプル プラグインのソース コード、および、プラグインの API を定義する Java インターフェースが含まれます。
apmdevops102jp
HTTP アナライザ プラグインにはソフト開発キット(SDK)が含まれます。SDK には、ドキュメント、サンプル プラグインのソース コード、および、プラグインの API を定義する Java インターフェースが含まれます。
API は、TIM が HTTP コンポーネントの要求データおよび応答データと共に呼び出すプラグイン メソッドを定義します。これらのメソッドはパラメータ(名前/値のペア)を返し、TIM はこれらを内部パラメータ リストに追加して、トランザクション定義と照合します。プラグインのメソッドは、TIM ログに表示されるログ メッセージを返すこともできます。
CA CEM は、HTTP アナライザ プラグインに定義されるように、パラメータ タイプ
plug-in
を使用してトランザクションを識別します。プラグインによって生成されたすべてのパラメータには、タイプ plug-in が自動的に割り当てられます。パラメータ タイプ plug-in は、以下を識別するのに使用できます。
- トランザクション -- コンポーネントの識別パラメータを使用
- ユーザ -- 正しいユーザの識別
- セッション -- 正しいセッションの識別
- ユーザ グループ -- 正しいユーザ グループの識別
TIM が HTTP コンポーネントの要求および応答を監視するときに、要求と応答をプラグインへ渡します。TIM は、プラグインによって返されるすべてのパラメータを、タイプ plug-in で内部パラメータ リストに追加します
HTTP アナライザ プラグインの機能により、TIM がプラグインへ渡すものをフィルタすることができます。サーバ IP アドレスの範囲、ポート番号、および URL フィルタによるフィルタが可能です。
plug-in パラメータは、CA CEM 障害の HTTP 情報のセクションに表示されます。
複数のプラグインを、最大 10 個まで一度に有効にすることができます。要求がプラグインのフィルタに一致する場合、TIM は各 HTTP コンポーネント要求をすべての有効なプラグインへ渡します。TIM は、すべてのプラグインからのパラメータを使用します。
CemPluginApiV3
インターフェースは、クライアントとサーバの接続の詳細を、[clientIP]:clientPort->[serverIP]:serverPort
の形式で提供します。CemPluginApiV2
インターフェースには以下のメソッドが含まれ、TIM によって一度
呼び出されます。- initialize-- TIM がプラグインを有効にするとき呼び出されます。
- terminate-- TIM がプラグインを無効にするとき、あるいはプラグインが例外をスローするときに呼び出されます。
TIM は、
各
HTTP コンポーネントについて、以下の順でメソッドを呼び出します。- newComponent-- 各 HTTP コンポーネントの初めに一度呼び出されます。
- requestHeader-- 各 HTTP 要求ヘッダごとに呼び出されます。
- endRequestHeader--HTTP 要求ヘッダの終わりに一度呼び出されます。
- requestBody-- 要求に本文がある場合、一度以上呼び出されます。
- endRequest-- コンポーネントに本文があるかどうかにかかわらず、HTTP 要求の終わりに一度呼び出されます。要求が正常に完了した場合にのみ呼び出されます。
- responseStart-- HTTP 応答の開始時に呼び出されます。
- responseHeader-- 各 HTTP 応答ヘッダごとに呼び出されます。
- endResponseHeader--HTTP 応答ヘッダの終わりに一度呼び出されます。
- responseBody-- 応答に本文がある場合、一度以上呼び出されます。
- endResponse-- コンポーネントに本文があるかどうかにかかわらず、HTTP 応答の終わりに一度呼び出されます。応答が正常に完了した場合にのみ呼び出されます。
- endComponent-- コンポーネントの終わりに一度呼び出されます。
上記メソッド(initialize と terminate を除く)は、
null
インスタンスまたは CemPluginOutput
インスタンスを返します。CemPluginOutput
クラスには以下の 2 つのフィールドがあり、そのいずれか(あるいは両方)を null
にできます。- プラグインによって提供され、TIM パラメータ リストに追加されるパラメータ配列(名前/値のペア。監視対象を示します)
- TIM ログに書き込まれるログ メッセージ(何が起こったかを示します)
注:
多くの場合、複数の HTTP コンポーネントが同時進行しています(つまり、複数のトランザクション コンポーネントがさまざまな状態で存在します)。プラグインが複数のコンポーネントを同時に処理できるように、コンポーネント ID は各コンポーネント メソッドに渡されます。