User experience monitoring consists of making recordings of automated tasks of both web browsing (PWR/WUX) and interaction with the desktop and Windows system applications (PDR). These recordings can range from a mouse click on a web browser, typing text or performing a web search, to opening an application on the desktop. This allows functions to be configured and automatically recorded for later execution in search of results.
ユーザエクスペリエンス監視は、ウェブブラウジング (PWR / WUX) と Windows システムのデスクトップアプリケーション (PDR) における操作を自動的に記録する仕組みから成ります。これらの記録は、ブラウザ上でのマウスクリック、テキスト入力、ウェブブラウジングでの検索、デスクトップ上でのアプリケーションを開くことなどです。記録した処理を自動的に実行し、処理にかかった時間などの結果を得ることができます。これにより、後で結果を検索して実行できるように自動的に記録することができます。
両方の監視の仕組みは、Pandora Web Robot Daemon (PWRD) システムを通してウェブブラウジングタスクを実行するために利用されます。
The UX system performs these monitoring tasks using the EndPoint installed on a machine, while WUX monitoring is based on a server integrated within Pandora FMS.
UX システムは、マシンにインストールされたエンドポイントによって監視を実現します。WUX は、Pandora FMS の内部に統合されたサーバを用いて監視をします。
Pandora Web Robot Daemon (PWRD) は、ウェブブラウジングセッションを自動実行するために必要なサービスです。これは、ユーザの Web ポータルをナビゲートするのに必要なアクションのリストを含むファイルを使用します。
加えて、UX 監視は、Windows デスクトップおよびシステムアプリケーションの自動化タスクを実行することができます。このタイプのタスクは、WUX では実行できません。
Pandora FMS UX は、自動化されたタスクを実行するシステムであり、Pandora FMS に実行結果、所要時間、およびエラーが検出された可能性のあるスクリーンショットを含むレポートを提供します。
UX 向けの Pandora FMS PWR テクノロジーは、ウェブサイトの閲覧、ユーザアクションのシミュレーションを可能にします。 コンテンツ、テキストなどを確認できます。これは、非フラッシュベースの Web サイトおよびアプリケーションを監視するのに最適です。利点としては、より高速でバックグラウンドで実行できることです。
タスクの自動化システムがある場合、Pandora FMS UX では、すでにあるスクリプトを実行し、その実行を監視することもできます。
It is important to specify the use of this type of monitoring. Both methods are based on monitoring execution by means of a plugin in the EndPoints installed in the corresponding machines.
どのタイプの監視を行うかを指定することが重要です。 どちらの方法も、対応するマシンにインストールされているエンドポイントのプラグインによる監視実行に基づいています。
UX および WUX 監視の違い を考慮して、UX の監視は、監視対象の環境に関連する一連の前提条件に従う必要があります。
事前に保存されたセッションの標準的な実行には、Pandora UX プラグインの最新バージョン 28-04-2022 を使用します。
WUX サーバでの Selenium デプロイでは、コンテナベースのスタックを使用して、迅速なデプロイと容易なスケーリングを実現します。
DockerとDocker Compose が事前にインストールされている必要があります。
このインストールは、以下にある Docker ドキュメントに従うことをお勧めします。
公式 Selenium イメージは、スタックのインストールと展開に使用されます。 それらは次の場所で見つけることができます。
Selenium リポジトリでは、ブラウザを使用したさまざまなイメージがあります。Pandora FMS の場合は、Firefox® および Chrome® コンテナを推奨します。
Selenium スタックをデプロイするには、まず必要な構成を含む YAML ファイルを作成する必要があります。
# To execute this docker-compose yml file use `docker-compose -f up` # Add the `-d` flag at the end for detached execution version: "3" services: selenium-hub: image: pandorafms/pandorafms-selenium-hub mem_limit: 2G container_name: selenium-hub-v3 logging: driver: "json-file" options: max-file: "5" max-size: "4m" mode: "non-blocking" environment: - TZ=Europe/Amsterdam ports: - "4444:4444" chrome: image: pandorafms/pandorafms-selenium-node-chrome mem_limit: 2G volumes: - /dev/shm:/dev/shm depends_on: - selenium-hub logging: driver: "json-file" options: max-file: "5" max-size: "4m" mode: "non-blocking" environment: - TZ=Europe/Amsterdam - HUB_HOST=selenium-hub - HUB_PORT=4444 firefox: image: pandorafms/pandorafms-selenium-node-firefox mem_limit: 2G volumes: - /dev/shm:/dev/shm depends_on: - selenium-hub logging: driver: "json-file" options: max-file: "5" max-size: "4m" mode: "non-blocking" environment: - TZ=Europe/Amsterdam - HUB_HOST=selenium-hub - HUB_PORT=4444
前の例に対して、メモリ制限、タイムゾーン、ノード数など、ケースごとに必要な変更を行います。
設定した内容でコンテナを有効化するには、次のコマンドを実行します。(<compose-file>
は、選択した名前に置き換えてください。)
docker-compose -f <compose-file> up -d
コンテナで実行されているサービスを確認する必要がある場合は、次のコマンドを使用します。
docker-compose -f <compose-file> ps
Selenium サービスの状態とログを表示するには、次のコマンドを使用します。
docker-compose -f <compose-file> logs
適切なチェックが行われた後、グリッドが適切に機能し、ワーカーが設定ファイルでの定義どおりにサインアップしたことを確認するには、次のURLにアクセスします。
http://<ip_selenium_server>:4444/grid/console
ワーカー数を増やす必要がある場合は、次のコマンドを実行します。
docker-compose -f <compose-file> scale chrome=X firefox=Y
集中モード(WUX)を使用するには、Pandora FMS サーバに以下の設定を適用する必要があります。
選択したモードに関係なく、WUX サーバ設定パラメータを Pandora FMS サーバの設定ファイルに追加することにより、ブラウジングセッションから実行の割り当てができます。
ファイル/etc/pandora/pandora_server.conf
の最後に次の設定を追加します(<ip_wux_host>
をサーバの IPアドレスに置き換えます。Pandora FMS が動作しているのと同じサーバの場合は、127.0.0.1
です。):
wuxserver 1 wux_host <ip_wux_host> wux_port 4444
Pandora FMS サーバの設定ファイルには、キューに入れられたナビゲーションセッションを削除するための新しいトークンがあります。
clean_wux_sessions 1 #(default)
wuxserver
スレッド管理は、pandora_server
サービスを起動した際に自動的に行われます。wuxserver
スレッドの数は 2 になります。
各スレッドは、wuxserver
から Selenium hub に同時に送信できるセッションを示していることに注意してください。
Microsoft ブラウザに対して Web トランザクションを起動する必要がある場合は、目的の Windows バージョンのマシン(物理または仮想)を設定し、以下の公式ドキュメントに従ってドライバーを設定する必要があります。
Internet Explorer ドライバインストールドキュメント:
github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
32bit のバージョン 3.141 のドライバの利用をお勧めします。64bit 版はパフォーマンスの問題があります。
Microsoft Edge ドライバーインストールドキュメント:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Selenium を実行するには、Java が Windows デバイスにインストールされている必要があります。
Java がインストールされているかどうかを確認するには、次のコマンドを実行します。
java -version
次のような出力が得られます。
サーバをローカルで実行してグリッドに登録するには、Selenium JAR ファイルも必要です。
以下から入手できます。
https://www.selenium.dev/downloads/
Microsoft Edge サーバを有効化にするには、JAR ファイルがあるディレクトリのターミナルで次を実行する必要があります。
java -jar selenium-server-standalone-<VER>.jar -port 5555 -role node -hub http://<ip_selenium_server>:4444/grid/register -browser "browserName=MicrosoftEdge, platform=WINDOWS, maxInstances=1"
このコマンドは Internet Explorer サーバを有効化するのと似ていますが、ダウンロードしたドライバーのパスを指定する必要があります。
java -Dwebdriver.ie.driver=<PATH>IEDriverServer.exe -jar selenium-server-standalone<VER>.jar -port 5555 -role node -hub http://ip_selenium_server:4444/grid/register -browser "browserName=internet explorer, platform=WINDOWS, maxInstances=1"
Windows ファイアウォールは、コマンド実行時に指定されたポートの通信を許可するように設定する必要があります。例では 5555 および 4444。
Selenium バージョン 3 では、新旧両方の記録の両方がサポートされます。
新しいセッションを記録するには、目的のブラウザに Selenium IDE 拡張機能をインストールする必要があります。
Firefox
https://addons.mozilla.org/ja/firefox/addon/selenium-ide/
Chrome
https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd
次のアイコンは、拡張機能をインストールしたあとに表示される、記録を開始するアイコンです。
新しい記録プロジェクトを開始するためのメニューが開きます。
記録が行われると、次のような結果になります。
Pandora FMS には、Selenium の機能とは別に、監視対象から情報を取得するためのカスタムコマンドがあります。
利用可能なコマンドの一覧は、こちら を確認してください。
次に、Selenium IDE とのトランザクションを記録し、最も複雑なコマンドを Pandora FMS と統合するための、一連の推奨事項とアドバイスについて詳しく説明します。
set speed
および wait for
を使用します。トランザクションを実行するとき、selenium コマンドには、1つのコマンド実行終了から次のコマンドが実行されるまでのデフォルトの遅延がなく、一部のコマンドにもタイムアウトがありません。これにより、トランザクションは可能な限り最短時間で実行されますが、非常に高速に実行することにより、Web がやや遅かったり、ロードに数秒余分にかかる場合、チェックが失敗する可能性があります。たとえば、“click” コマンドを実行して他のページに移動した後、新しいページの要素を使って動作するコマンドがあった場合、読み込みが 1秒遅れると、その要素は見つかりません。新しいページのチェックは失敗に終わります。このような状況を回避するために、コマンド “set speed” があります。これは、各コマンドの間に Target フィールドに指定されたミリ秒数の遅延を追加します。トランザクションの開始時に設定することをお勧めします。ページの読み込みや要素の表示に数秒かかることがわかっている場合は、コマンド “wait for element present” もあります。“wait for visible ” と “wait for test” では、トランザクションを失敗として判断する前に、要素がページに表示されるのを待つ時間をミリ秒単位で設定できます。これらのコマンドを使用すると、チェックの信頼性が大幅に向上しますが、トランザクションの実行にかかる時間も長くなることを考慮することが重要です。さらに、xpath を使用すると、ページのタグ内のテキストを検索して、より動的なレコーディングができます。上記のキャプチャでは、特定のロケータではなく、ページのすべてのスパンタグで “Monitoring Innovators” というテキストを検索する xpath を使用できることがわかりました。
録画したブラウジングセッションを Pandora FMS コンソールにモジュールとして配置します。
これを行うには、WUX 機能が有効になっているサーバーに関連付けられたエージェントにアクセスし、オプションCreate a new web analysis module を選択して、ウェブ分析モジュールを作成します:
Createボタンをクリックし、フォームに表示されているすべてのフィールドに必要事項を入力してください:
Name
WUX(親)モジュール。モニタリング結果を持つすべてのサブモジュールは、この新しいモジュールに依存することを忘れないでください。
Run performance tests
パフォーマンステストの開始を指定します。つまり、ブラウジング体験だけでなく、対象ウェブサイトへのアクセスのパフォーマンス統計も監視します。
Execute tests from
チェックを実行するWUXサーバーを示す。
Browser
チェックを実行するウェブブラウザ。
指定されたブラウザは、WUXサーバーが使用するgridまたはSeleniumサーバー上になければなりません。
User data dir
(バージョン 764 以降) オプション:データ用のディレクトリを指定できます。
User data dirオプションはGoogle Chromeウェブブラウザでのみ機能します。
Profile
(バージョン 764 以降) オプション:ユーザー・プロファイルを指定できます。 プロファイル名が存在しない場合は、既定のプロファイルを使用します。
Profileオプションは、Google Chromeウェブブラウザでのみ機能します。
Accept insecure certificates
有効にすると、ナビゲーションの一部である非セキュア証明書(自己署名、期限切れなど)が受け入れられる。
このオプションは Google Chrome® と Mozilla Firefox® ブラウザでのみ利用可能で、Selenium 3 サーバーによってチェックが実行される場合にのみ有効になります。
Historical data
このユーザー・エクスペリエンスをモニターするモジュールの履歴情報を保存するかどうか。
Text area
以前に記録したブラウジングセッションのファイルの内容をコピーする(またはBrowse…ボタンでロードする)。
FF interval
モジュールの実行時間間隔(秒)。
Retries
モジュール起動の再試行回数。
カスタムマクロの操作では、ブラウザのセッションファイル内の特定のテキスト文字列を、カスタマイズ可能な特定の値に置き換える。
ウェブ解析モジュールの場合、この機能が強化され、これらの値を可変の日付と時刻に変換できるダイナミックマクロが可能になりました。
なぜこのような機能があるのか?
ブラウザセッションを通じて、ウェブベースの会議室予約アプリケーションが正しく機能しているかを監視する必要があるとします。
例えば、先週の部屋を予約しようとしている場合などです。
また、このような予約には最長期限が設けられている可能性があり、システムは特定の期間内(例えば当月内)に部屋を予約することを義務付けています。
数日ごとにマクロを編集する手間を省き、コンフィギュレーション・セクションを気にする必要がないように、ダイナミック・マクロを使用し、試験日の翌日には常に部屋を予約するようにシステムに指示することができます。
この機能を使用するためには、値が特定のフォーマットを持っている必要があり、以下のような置換が可能です:
@DATE_FORMAT
: 現在の日付/時刻をユーザー定義形式で指定する。@DATE_FORMAT_nh
: 時間.@DATE_FORMAT_nm
: 議事録.@DATE_FORMAT_nd
: 日.@DATE_FORMAT_ns
: おかわり.@DATE_FORMAT_nM
: 月.@DATE_FORMAT_nY
: 年.ここで “n”は符号なし(正)または負の数である。
そして、“FORMAT”は、以下の基準に従う。 Perl strftime function
例を挙げよう:
@DATE_%Y-%m-%d %H:%M:%S @DATE_%H:%M:%S_300s @DATE_%H:%M:%S_-1h
WUXによって生成された情報は、以下のようにモジュールの形で表示されます。 モジュール一覧で、hierarchical modeの表示を有効にすると、情報がより明確に視覚化されます:
この階層の中に、以下のモジュールがある:
例:エラーキャプチャビュー。
注意: 以前のバージョンからPandora FMS 7.0 NG 712にアップグレードした場合は、ちょっとした変更が必要です。
WUX Serverによって生成されたスクリーンショットを保存するには、データベーススキーマで以下の操作を起動する必要があります:
ALTER TABLE tagente_estado MODIFY COLUMN datos mediumtext; ALTER TABLE tagente_datos_string MODIFY COLUMN datos mediumtext;
これらの措置をとらなかった場合、キャプチャが切断される可能性がある。
エージェントのWUXセクションにアクセスすることで、取引の詳細とそのフェーズを見ることができます:
ウェブサイトの統計は以下の通りである:
png|jpg|jpeg|bmp|tiff|gif|webp|svg
).ウェブ解析モジュールに関連するアラートは、Pandora FMS のアラートシステム全体と同じように動作します。
互換性のために、ウェブ解析モジュールによって自動生成されるサブ要素に、例えば以下のようなアラートテンプレートを割り当てることをお勧めします:
getValue;module_name;module_type;REGEX_capture
getVariable;module_name;module_type;variable_name
getScreenshot;module_name
独自のコマンドはすべて、コメントとしてテストファイル(.side
)に記述する必要があります。 そうしないと、Selenium 拡張機能でのテストに失敗します。