このセクションでは、 Virtualize サーバー上で発生するイベント (受信したリクエスト メッセージ、送信したレスポンス メッセージ、エラー、など) および、 Virtualize サーバー上にデプロイされたメッセージ プロキシを理解するために、 [Parasoft イベント詳細] パースペクティブを使用する方法について説明します。この機能は、ローカルおよびリモート両方の Virtualize サーバーで利用可能です。

どの Virtualize サーバーのイベントをモニターするか指定し、要求に応じて詳細のレポートを開始/終了できます。

セクションの内容:

イベント モニターの有効化

デフォルトで、 Parasoft Virtualize は Virtualize サーバーに関連するイベントのログを記録してレポートするように設定されています。イベント モニター設定の確認および変更をするには、次の操作を行います。

  1. GUI モードで Virtualize サーバーを起動します。
  2. GUI で、可視性を求めるサーバーのコンフィギュレーション パネルを開きます ([Virtualize サーバー] ビューで対象ノードをダブルクリックします)。
  3. [サーバー構成] タブで、利用可能なオプションを確認および変更します。
    • イベント レポート サービスの有効化: 対象サーバーのイベント モニターを有効化/無効化します。デフォルトではイベント モニターは有効になっています。
       
    • イベントレポートプロバイダー: イベント モニター サービスが使用するプロバイダーを指定します。デフォルトでは、 ActiveMQ ベースのビルトイン プロバイダーが使用されます。別のプロバイダーを使用するには、一覧から利用可能なオプションを選択し、設定を入力します。
    • ポート: デフォルトのサービスのポート番号は 9617 ですが、このポートがすでに使用中の場合、システムのポートの利用状況に基づいて別のポート番号が自動的に割り当てられます。起動時に JVM 引き数で次のプロパティを指定して手動でポートを設定することもできます。 

      parasoft.event.monitoring.broker.port=<port>

イベント モニターの開始/停止

開始

Virtualize に仮想アセットおよびメッセージ プロキシに関連するイベントのレポートを開始させるには、次のいずれかの操作を行います。

  • [Virtualize サーバー] ビューでアセットまたはプロキシを右クリックし、[モニターの開始] を選択します。



  • プロキシ/アセットのコンフィギュレーション パネルで、 [モニターの開始] をクリックします。

関連するアイコンは、モニタリング中であることを示す表示に変わります。


停止

Virtualize に仮想アセットおよびメッセージ プロキシに関連するイベントのレポートを停止させるには、次のいずれかの操作を行います。

  • [Virtualize サーバー] ビューでアセットまたはプロキシを右クリックし、[モニターの停止] を選択します。
  • プロキシ/アセットのコンフィギュレーション パネルで、 [モニターの停止] をクリックします。



ヒント

  • イベントのモニターは、仮想アセット レベルまたはメッセージ プロキシ レベルで開始/停止できます。
  • 複数の仮想アセットを選択し、そのすべてに対して右クリック コマンド 1 つでモニターの開始/停止ができます。

動画チュートリアルメッセージ プロキシからのトラフィックのモニターおよび記録

この動画では、メッセージ プロキシからのトラフィックをモニターおよび記録する方法を説明します。


イベントの参照および検索

[Parasoft イベント詳細] パースペクティブは Virtualize サーバー上で発生するイベント (受信したリクエスト メッセージ、送信したレスポンス メッセージ、エラーなど) の参照や検索に役立つ設計になっています。

このパースペクティブは次の方法で開くことができます。

  • ワークベンチの右上のショートカット バーの [Parasoft イベント詳細] をクリックする。
  • ショートカット バーで [パースペクティブを開く] ボタンをクリックし、[その他] を選択します。パースペクティブの選択ダイアログが開くので、 [Parasoft イベント詳細] を選択します。
  • [ウィンドウ] メニュー > [パースペクティブを開く] > [その他] を選択します。パースペクティブの選択ダイアログが開くので、 [Parasoft イベント詳細] を選択します。

モニターしたイベントは [イベントログ ] ビューに発生した順番に表示されます。次のようなイベントが表示されます。

  • 受信したリクエスト メッセージ
  • 送信したレスポンス メッセージ
  • データ ソースの使用状況 (どのデータ ソース行がレスポンス メッセージで使用されたか、など)
  • エラー イベント (リクエストがメッセージに対応しなかった、不正なメッセージが送信された、など)
  • セットアップ アクション スイートの実行イベント (アクション スイートについての詳細は、「セットアップ アクションの定義」を参照してください)

次の方法でイベントを検索できます。

目的方法
イベントの詳細を確認する[イベント ログ ] ビューで関連するイベントを選択する
現在の情報をクリアし、新しいセッションを開始する[新規ログの開始] ボタンをクリックする
最新の 5 つのログのうち 1 つを参照する[イベントログ ] の [履歴] ドロップダウン メニューから任意のログを選択する

メッセージ プロキシ イベントの参照

デプロイされたメッセージ プロキシをメッセージが通過するときに生成されたイベントを参照することは、テスト対象アプリケーションがどんなトラフィックをメッセージ プロキシを通して送信しているかを理解するのに役立ちます。一般的に、メッセージ プロキシを通過するリクエスト/レスポンス メッセージのペアは、次のようなイベントを生成します。

  • 受信リクエスト: メッセージ プロキシによってメッセージが受信されたことを示します。メッセージを受信した HTTP パスまたはキュー名、 Virtualize サーバーのホスト名、およびメッセージの詳細を提供します。
  • プロキシ送信リクエスト: プロキシが意図したターゲット サービスの宛先にメッセージを転送したことを示します。詳細には宛先とメッセージ コンテンツが含まれます。
  • プロキシ受信レスポンス: プロキシがターゲット サービスからレスポンスを受信したことを示します。
  • 送信レスポンス: プロキシがサービスから受信したレスポンスを呼び出し元 (テスト対象アプリケーション) へ転送したことを示します。

プロキシが仮想アセットのエンドポイントにメッセージを転送するように構成されている場合は、同じイベントが生成され、メッセージの宛先の詳細はそれを示すために URL または宛先の詳細が含まれることに注意してください。  しかし、プロキシ メッセージを受信する仮想アセットもモニターされている場合、それ自身のイベントが生成されます (一般的には、「受信リクエスト イベント」および「送信レスポンス イベント」の 2 つの成功したトランザクションです)。

イベントに対するフィルターの実行

[フィルター] ビューを使用して、フォーカスしたいイベントを絞り込むことができます。次のようにイベント ログにフィルターを実行できます。

目的方法
イベント ログに表示、および保存されるイベント数を制限する。[最大イベント数] の値を変更する。
「詳細」に指定のテキスト (大文字と小文字を区別する) を含むイベントにフォーカスする。[次を含むイベントのみ] に文字列を入力する。
仮想アセットやプロキシの応答条件に一致しないメッセージを隠す。[一致しないメッセージ] を無効にする。詳細については「About Unmatched Messages」を参照してください。
エラー イベントのみ表示する (メッセージの不一致または検証の失敗が原因のエラー)。[エラーのみ] を有効にする。
指定のサーバー、仮想アセット、またはレスポンダーからのイベントを表示/非表示にする。[チェック済みソースの イベント] を有効化/無効化する。


一致しないメッセージについて

「一致しないメッセージ」とは、仮想アセットやプロキシの応答条件に一致しないメッセージです。イベント ログが一致しないメッセージを表示するように設定されている場合、そして少なくとも 1 つの仮想アセットかプロキシがモニターされるように設定されている場合、レポートされるイベントには次のようなケースが含まれます。

  • 仮想アセットまたはプロキシはメッセージを処理できなかった。
  • 1 つ以上の仮想アセットがメッセージを処理したが、一致するレスポンダーを見つけることができなかった。

Virtualize サーバーによって受信されたメッセージが、 a) 仮想アセットやプロキシ パス条件に一致しない場合、または b) 仮想アセットの応答条件に一致するが、 .pva 内のレスポンダー応答条件がこのメッセージに一致しない場合、 2 つのイベントが記録されます。

  • 着信メッセージ「受信リクエスト」イベントおよびメッセージ コンテンツ (認識不能なメッセージ」とラベル付されている)
  • エラー「ログイベント: error」イベントおよび詳細

CTP でのイベント詳細の参照

[イベント詳細] パースペクティブは、特定の時間に発生した着信メッセージ、送信メッセージ、およびエラーの即時スナップショットを提供するよう設計されています。

長時間実行トランザクションおよびサーバー イベントの履歴解析の詳細には、 CTP のイベント参照機能を使用することを推奨します。

カスタム イベントのレポート

Extension Tool ( 詳細は「Extension Tool (カスタム スクリプト)」に記載) は、com.parasoft.api.ScriptingContext オブジェクトの report(IEvent) メソッドを呼ぶことによって、イベントログにカスタムイベントをレポートするのに使用できます。

次は Jython の例です。

from com.parasoft.api 
import Event def test(input, context):
    context.report(Event("Here I am!"))

より詳しい情報については、 Extensibility API Javadocs の com.parasoft.api.ScriptingContext および com.parasoft.api.IEvent を参照してください。この Javadocs を参照するには、[Parasoft] メニュー > [ヘルプ] > [拡張 API] をクリックします。

サードパーティ製モニタリング システムと Virtualize イベント モニタリングの統合

Virtualize サーバーのイベント モニタリングは JMS ブローカーを利用しています。サーバーとイベント購読者間でのイベントの伝達を容易にするために、 JMS 準拠のブローカーで設定できます。Parasoft ビルトイン プロバイダーが使用されている場合 (デフォルト設定)、サードパーティ製アプリケーションで JMS 上で Virtualize サーバー イベントを購読するために、次の設定を使用できます。

JNDI Connection URL: tcp://VirtualizeHostName:61617
JNDI Initial Context class: org.apache.activemq.jndi.ActiveMQInitialContextFactory JMS Connection Factory: ConnectionFactory
Destination Name: PARASOFT_SERVER_EVENTS
Destination type: Topic

Virtualize ホストのポートは、利用状況に基づいてサーバー起動時に動的に割り当てられるので注意してください。実際のポート番号をチェックするには、 [Virtualize サーバー] ビューからサーバーのコンフィギュレーション パネルを開くか、サーバーの設定ページ ([Parasoft] > [設定] を選択し、[Parasoft] > [サーバー] を選択) を開きます。


Virtualize サーバーのイベント モニタリング サービスによって出版される JMS メッセージは XML 形式です。一定のイベント タイプだけに興味がある場合、条件に合うイベントだけを受信するように JMS セレクター式を使用できます。

プロパティ名メッセージ タイプ
Requesttrue | false仮想アセットによって受信されたリクエスト
proxy_requesttrue | falseプロキシによって受信されたリクエスト
responsetrue | false仮想アセットによって送信されたレスポンス
proxy_responsetrue | falseプロキシによって送信されたレスポンス
Failurestrue | falseレスポンダーの失敗イベント (検証の失敗など) またはプロキシ接続エラー イベント
Errortrue | falseエラー イベント (仮想アセットやプロキシに固有でないエラー)

たとえば、仮想アセットへのリクエストやレスポンス、失敗、およびエラーを購読したいが、プロキシ メッセージのイベントは購読したくない場合、次の式を使用します。

  • request=true or response=true or failures=true or error=true

コンシューマーを作成するときに JMS セレクター式を JMS セッション オブジェクトに渡すことができます。

  • javax.jms.Session.createConsumer(destinationName, selectorExpression, true);

[Parasoft イベント詳細] パースペクティブ - GUI リファレンス

[Parasoft イベント詳細] パースペクティブの GUI は、デフォルトで次のビューを開きます。

[イベント ログ ] ビュー

このエリアには、送信したメッセージ、受信したメッセージ、およびエラーなどの仮想化関連のイベントを表示します。ここに表示されたアイテムを選択すると、さらに詳しい情報が [詳細] ビューに表示されます。直近 5 つのログが保存され、参照可能です。

たとえば、次のログは Virtualize サーバーのイベントを表示しています。

次のログは Virtualize サーバー イベントおよび SOAtest テスト イベント (イベント ログを有効にした状態で SOAtest によって実行されたテストのイベント) の両方を表示しています。

[詳細] ビュー

このビューは [イベント ログ ] ビューで選択されたイベントのより詳しい情報を提供します。

[フィルター ] ビュー

このビューは、イベントにフィルターを実行できます。詳細については、「イベントに対するフィルターの実行」を参照してください。

  • No labels