デバイスとターゲットを作成する方法
WebSocket は、TCP 上で動作する通信プロトコルであり、ブラウザーと Web サーバー間でリアルタイムでメッセージを交換するように設計されています。 ブラウザー (クライアント) とサーバーは、HTTP と同様のプロトコルを使用して WebSocket 接続を確立します。
WebSocket プロトコルと WebSocket ベースのアプリケーション監視の詳細については、 ドットコムモニターのブログを参照してください。
ドットコムモニタープラットフォームで作成されたWebSocket デバイスは、可用性、パフォーマンス、適切なコンテンツ、およびエラーについて、1 つの WebSocket URL をチェックします。 監視デバイスは、セキュリティ証明書と応答の内容を検証するように構成することもできます。
要求の構成
URL
WebSocket 接続を開くには、エンドポイントの WebSocket URL または確認する WebSocket URL の IP アドレスを入力する必要があります (ws:// および暗号化された wss:// プロトコルがサポートされています)。 たとえば、wss://echo.websocket.org/
より視覚的にわかりやすい入力モードをオンにするには、セクションの上部にある 詳細 スイッチをクリックします。
ここで、URL を動的な値またはコンテキスト パラメーターに変換できます。 たとえば、監視中にターゲット URL を動的に変更できます。
データの送信
接続が開かれると、ドットコムモニターはソケット内のイベントをリッスンします。 ターゲット エンドポイントにデータを転送する必要がある場合は、[ データの送信 ] フィールドで、文字列形式またはバイナリ形式でメッセージを指定します。 ドットコムモニターは、WebSocket プロトコルを使用してターゲット エンドポイントにメッセージを送信し、応答を待機します。
ドットコムモニターは、WebSocket メッセージで Razor 式をサポートしています。 Razor 式を含む文字列を送信するには、[ データの送信 ] フィールドに文字列を入力し、 準備スクリプト を使用してメッセージの種類を Razor 式に設定します。 それ以外の場合、メッセージは解析され、テキストとして送信されます。 [ スクリプトの準備 ] フィールドで次のスニペットを使用して、Razor エンジンでメッセージを解析する必要があることをシステムに通知します。
ProcessPostDataByRazor(currentTask);
Razor エンジンに加えて、ドットコムモニターを使用すると、データ マスクを使用して要求本文データを動的に変更できます。 送信データで Razor 構文とデータ マスクを使用する方法、および動的に変化するペイロードを構成する方法については、「 HTTP 要求でペイロードを動的に変更する方法」を参照してください。
応答の検証 (コンテンツの検証)
WebSocket から受信したメッセージ文字列を検証するには、呼び出し実行シナリオでキーワードをアサートします。 システムは、ターゲット エンドポイントからの応答を待機し、監視タスクの完了タイムアウトに達するまで、受信したメッセージで指定されたキーワードが文字列に存在するかどうかを確認します。 ソケットからの応答でキーワードが検出されなかった場合は、エラーが生成されます。
[キーワード] フィールドには、応答メッセージで検索する単語または語句を 1 つ指定できます。 プレーンテキストを使用してキーワードを指定します。
スクリプトとポスト スクリプトの準備
フィールドには、特定の要求や URL データ、またはカスタム ヘッダーの検証や公開に使用できる C# コードを含めることができます。 使用方法の詳細については、「スクリプト の準備とポスト スクリプトの使用 」の記事を参照するか、テクニカル サポートにお問い合わせください。
WebSocket 呼び出し実行の動的シナリオは、[ スクリプトの準備 ] フィールドで指定できます。 動的シナリオには、バイナリ データまたは文字列データを使用した多数の操作を含めることができます。
バイナリ形式の操作 (Base64 エンコードとしてのメッセージ):
- ValidateBinary(文字列メッセージ) – WebSocket 応答が指定されたバイナリ データと等しいかどうかを確認します。
- ValidateBinaryContains(文字列メッセージ) – WebSocket 応答に指定されたバイナリ データが含まれているかどうかを確認します。
- SendBinary(文字列メッセージ) – バイナリメッセージをWebSocketに送信します。
テキスト形式の操作:
- SendText(文字列メッセージ) – テキスト文字列をウェブソケットに送信します。
- ValidateText(文字列メッセージ) – WebSocket からの応答が指定された文字列と等しいかどうかを確認します。
- ValidateTextContains (文字列 msg) – WebSocket 応答に指定された文字列が含まれているかどうかを確認します。
遅延:
- Delay(string duration) – WebSocket メッセージ間の遅延を XXs の形式で秒単位で設定します。 システムは、スクリプト内の次の操作を実行する前に、指定された時間待機します。 遅延が長すぎると、 タスク完了のタイムアウトによりスクリプトが終了する可能性があることに注意してください。
ドットコムモニターを使用すると、準備スクリプトに必要な数の操作を含めることができます。 ただし、タスク完了タイムアウトに達すると、スクリプトの実行は終了します。 タスクの完了時間は、スクリプトの実行開始からカウントされます。
-
例: 応答検証 OK
-
例: 応答の検証に失敗しました
-
例: 10 秒の遅延
SSL/証明書チェック
セキュアソケットレイヤーSSL証明書モニタリングは、Webモニタリングの標準的な側面です。
次のオプションを使用できます。
- [証明機関]: 証明書チェーンに、信頼されているルート証明書が含まれているか、信頼されていないかを確認します。
- 共通名 (CN): 移動先のアドレスが、そのアドレスが署名されたアドレス証明書と一致していることを検証します。
- [日付]: 証明書の有効期限を確認します。
- 失効: 証明書の信頼チェーンに失効した証明書が含まれていないことを検証します。
- 使用法: 中間証明書の不適切な使用について証明書チェーンを検証します。
- 有効期限アラーム日数: 証明書の有効期限を通知する通知 (エラー)。
- クライアント証明書: クライアント証明書名。
時間検証のしきい値 (秒)
タスクが応答を待機してからタスクを終了し、エラーを返す秒数を入力します。 最大タイムアウトは 60 秒です。 これを空白のままにすると、デフォルトのタイムアウトである 60 秒が適用されます。 タスクの完了時間は、スクリプトの実行開始からカウントされます。
基本認証
The HTTP authentication protocol is used to allow users to access content on some websites.
The following authentication schemes are available:
- Basic Authentication: This method encodes the username and password in base64 and sends them in the request header. It’s simple but not secure unless used with HTTPS.
- Digest Authentication: This scheme hashes credentials using a nonce (a random value) before sending them over the network, providing better security than Basic Authentication by preventing replay attacks.
- NTLM Authentication: A challenge-response mechanism developed by Microsoft, NTLM is used for securing credentials in Windows environments. It provides strong security by using multiple hashing and challenge-response protocols.
Once provided, login credentials will be passed along with the request header to the web server.
- Username: contains a username for HTTP/S authentication.
- User Password: contains a password for HTTP/S authentication.
Do not confuse HTTP authentication with other authentication schemes such as Bearer Authentication that involves bearer tokens and OAuth 2.0 that uses access tokens.
Read the articles on Basic Authentication Username and Password and Monitoring OAuth 2.0-based APIs for more information.
ヘッダー
このオプションを使用すると、必要に応じてカスタムヘッダーを追加できます。
DNS オプション
DNS オプション機能を使用すると、監視タスク中にドメイン ネーム サーバー (DNS) 要求を実行する方法をユーザーが選択できます。
ホスト名の解決モードを指定するには 、[DNS 解決モード] セクションで、使用可能なモードのいずれかを選択します。 機能の構成の詳細については 、「DNS モード オプション」を参照してください。
[Custom DNS Hosts] セクションでは、IP アドレスとホスト名のマッピングを設定できます。 IPv6 および IPv4 DNS 解決がサポートされています。
マッピングを指定するには、対応するフィールドに IP アドレスとホスト名を入力します。
参照 : DNS モード オプション