デバイスとターゲットを作成する方法

WebSocket は TCP を介して動作し、リアルタイムでブラウザーと Web サーバー間でメッセージを交換するように設計された通信プロトコルです。 ブラウザ (クライアント) とサーバーは、HTTP に類似したプロトコルを使用して WebSocket 接続を確立します。

WebSocket プロトコルと WebSocket ベースのアプリケーション監視の詳細については、 ドットコム モニターブログをご覧ください。

Dotcom-Monitor プラットフォームで作成された WebSocket デバイスは、単一の WebSocket URL で可用性、パフォーマンス、適切なコンテンツ、およびエラーをチェックします。 監視デバイスは、セキュリティ証明書と応答コンテンツを検証するように構成することもできます。

要求の構成

URL

WebSocket 接続を開くには、確認する WebSocket URL のエンドポイントの WebSocket URL または IP アドレスを入力する必要があります (ws:// および暗号化された wss:// プロトコルがサポートされています)。 たとえば、wss://echo.websocket.org/

より視覚的に使いやすい入力モードをオンにするには、セクションの上部にある [詳細] スイッチをクリックします。

URL を動的な値またはコンテキスト パラメーターに変換できます。 たとえば、監視中にターゲット URL を動的に変更できます。

データの送信

接続が開かれると、Dotcom-Monitor はソケット内のイベントをリッスンします。 ターゲット エンドポイントにデータを転送する必要がある場合は、[ データの送信 ] フィールドで、文字列またはバイナリ形式でメッセージを指定します。 Dotcom-Monitor は、WebSocket プロトコルを使用してターゲット エンドポイントにメッセージを送信し、応答を待ちます。

ドットコム モニターは、WebSocket メッセージで Razor の式をサポートしています。 Razor 式を含む文字列を送信するには、[ データの送信 ] フィールドに文字列を入力し、[ スクリプトの準備] を 使用してメッセージの種類を Razor 式に設定します。 それ以外の場合、メッセージは解析され、テキストとして送信されます。 [ スクリプトの準備] フィールドで次のスニペットを使用して、メッセージを Razor エンジンで解析する必要があることをシステムに通知します。

ProcessPostDataByRazor(currentTask);

Razor エンジンに加えて、ドットコム モニターは、データ マスクを使用して動的に要求本文データを変更できます。 送信データで Razor 構文とデータ マスクを使用する方法と動的に変更されるペイロード を構成する方法については、「HTTP 要求でペイロードを動的に変更する方法」を参照してください。

応答の検証 (コンテンツ検証)

WebSocket から受信したメッセージ文字列を検証するには、呼び出し実行シナリオでキーワードをアサートできます。 システムは、ターゲット・エンドポイントからの応答を待機し、モニター・タスク完了タイムアウトに達するまで、ストリング内に指定されたキーワードが存在するかどうか、受信メッセージを検査します。 ソケットからの応答でキーワードが検出されなかった場合は、エラーが生成されます。

[キーワード]フィールドでは、応答メッセージで検索する単語または語句を 1 つ指定できます。

キーワードでは大文字と小文字が区別されます。

有効なキーワード式には、次のように始めと終わりの角かっこを含める必要があります。

{["keyword"]}

スクリプトとポスト スクリプトの準備

フィールドには、特定の要求と URL データ、カスタム ヘッダーの検証または発行に使用できる C# コードを含めることができます。 使用法の詳細については、「 スクリプトの準備と Post Script の使用」の記事を参照するか、テクニカル サポートに問い合わせてください。

WebSocket 呼び出し実行の動的シナリオは、[ スクリプトの準備] フィールドで指定できます。 動的シナリオには、バイナリデータまたは文字列データを使用する操作を含めることができます。

バイナリ形式の操作 (Base64 としてメッセージがエンコード):

  • ValidateBinary(文字列のメッセージ) – WebSocket 応答が指定されたバイナリ データと等しいかどうかをチェックします。
  • 文字列を含む(文字列のメッセージ) – WebSocket 応答に指定されたバイナリ データが含まれているかどうかをチェックします。
  • SendBinary(文字列のメッセージ) – バイナリメッセージを WebSocket に送信します。
テキスト形式の操作:
  • SendText(文字列 msg) – テキスト文字列を WebSocket に送信します。
  • 検証テキスト(文字列msg) – WebSocket からの応答が指定された文字列と等しいかどうかをチェックします。
  • 文字列を含む(文字列のメッセージ) – WebSocket 応答に指定された文字列が含まれているかどうかをチェックします。
[ スクリプトの準備] フィールドでアサーションが指定されている場合、システムは応答で指定されたアサーションを待機し、検証が成功するとスクリプトの実行を続行します。 指定されたアサーションを持つメッセージが受信されず、タスク完了タイムアウトに達すると、検証エラーが生成されます。

Dotcom-Monitor を使用すると、準備スクリプトに必要なだけ操作を含めることができます。 ただし、タスクの完了タイムアウトに達すると、スクリプトの実行は終了します。

[スクリプトの準備] フィールドに動的シナリオの対応するステップが含まれている場合、[データの送信] フィールドと [コンテンツの検証] フィールドは無視されることに注意してください。 たとえば、次の手順がスクリプトに含まれている場合、 データの送信コンテンツの検証 フィールドは無視されます。

(currentTask).SendText("This is a test");
(currentTask).ValidateText("This is a test");

ここで、 currentTaskパラメーターはタスク名に依存せず、現在処理されているタスクの種類を持ちます。

SSL/証明書チェック

セキュア ソケット レイヤ SSL 証明書の監視は、Web 監視の標準的な側面です。

次のオプションを使用できます。

  • [証明機関]: 証明書チェーンに、信頼されているルート証明書が含まれているか、信頼されていないかを確認します。
  • 共通名 (CN): 移動先のアドレスが、そのアドレスが署名されたアドレス証明書と一致していることを検証します。
  • [日付]: 証明書の有効期限を確認します。
  • 失効: 証明書の信頼チェーンに失効した証明書が含まれていないことを検証します。
  • 使用法: 中間証明書の不適切な使用について証明書チェーンを検証します。
  • 有効期限アラーム日数: 証明書の有効期限を通知する通知 (エラー)。
  • クライアント証明書: クライアント証明書名。

完了タイムアウト (秒)

タスクが Web ページからの応答を待ってから、タスクを終了してエラーを返す秒数を入力します。 この値を空白のままにすると、タスクのデフォルトのタイムアウトは 120 秒です。

基本認証

基本認証スキームは、ユーザーが一部の Web サイトのコンテンツにアクセスできるようにするために使用されます。 指定されたログイン資格情報が、要求ヘッダーとともに Web サーバーに渡されます。

  • ユーザー名: HTTP/S の基本認証またはダイジェスト アクセス認証のユーザー名が含まれています。
  • ユーザーパスワード: HTTP/S基本認証またはダイジェストアクセス認証のパスワードが含まれています。

基本認証は、ベアラー トークンを含むベアラー認証やアクセス トークンを使用する OAuth 2.0 などの他の認証スキームと混同しないでください。

詳細については、基本認証ユーザー名とパスワードおよびモニタリング OAuth 2.0 ベースの API に関する記事を参照してください。

ヘッダー

このオプションを使用すると、必要に応じてカスタム ヘッダーを追加できます。

  • ヘッダー名: リクエストに表示されるパラメータの名前を指定します。
  • : パラメータの名前に関連付けられた値を入力します。

DNS オプション

DNS オプション機能を使用すると、監視タスク中にドメイン ネーム サーバー (DNS) 要求を実行する方法をユーザーが選択できます。

ホスト名の解決モードを指定するには 、[DNS 解決モード] セクションで、使用可能なモードのいずれかを選択します。 機能の構成の詳細については 、「DNS モード オプション」を参照してください。

[カスタム DNS ホスト]セクションには、IP アドレスとホスト名のマッピングが含まれています。

マッピングを指定するには、対応するフィールドに IP アドレスとホスト名を入力します。

例:

192.168.107.246 example.com user.example.com userauth.example.com tools.example.com
192.168.107.246 example.com
192.168.107.246 user.example.com
192.168.107.246 userauth.example.com

参照 : DNS モード オプション