LM Uptime を使用した Groovy スクリプトによる内部 Web チェック
最終更新日 - 13年2025月XNUMX日
Groovy スクリプトを使用して内部 Web チェックを実行し、HTTP データを収集・処理できます。Groovy スクリプトを使用して実行されるステップが少なくとも 1 つ含まれる内部 Web チェックは、ステップ リクエスト スクリプトとステップ レスポンス プロセッサで構成されます。ステップ リクエストは、サイトの認証トークンを収集して共有するための GET リクエストを送信し、ステップ レスポンスがサイトへの認証を行います。
Groovy スクリプトを使用して内部 Web チェックを作成する利点は次のとおりです。
- 柔軟な認証—動的トークンを使用するフォームベースの認証に適しています
- コンテキスト共有—シームレスなセッション継続のためにステップ間で認証トークンを渡す
Groovy スクリプトの API コマンド
リクエスト スクリプトは Groovy API を使用して HTTP 応答を取得し、応答スクリプトはそれを解析して、ステータスの確認や応答本体の評価などの後処理メソッドを適用します。
リクエストGroovyスクリプトのAPIコマンド
次の表は、リクエスト Groovy スクリプトで使用できる API コマンドの一覧です。
| API | 戻り型 | 詳細説明 | デフォルト値(該当する場合) |
| setAuthType(AuthType authType) | LMリクエスト | 認証タイプを設定する | |
| setUsername(String username) | LMリクエスト | 認証ユーザー名を設定します | |
| setPassword(String password) | LMリクエスト | 認証パスワードを設定する | |
| setDomain(String domain) | LMリクエスト | 認証ドメインを設定します(NTLM認証の場合のみ) | |
| followRedirect(boolean) | LMリクエスト | リダイレクトに従う必要があるかどうかを指定します | ◯ |
| addHeader(文字列名、文字列値) | LMリクエスト | HTTPヘッダーを追加します | |
| userHttp1_0() | LMリクエスト | HTTP /1.0プロトコルバージョンを使用するかどうかを指定します | × |
| userHttp1_1() | LMリクエスト | HTTP /1.1プロトコルバージョンを使用するかどうかを指定します | ◯ |
| needFullpageLoad() | LMリクエスト | ページ全体をロードする必要があるかどうかを指定します | × |
| setContext(文字列名、オブジェクト値) | LMHttpClientComment | 次のスクリプトのコンテキストを設定します | |
| getContext(文字列名) | オブジェクト | 以前のスクリプトのコンテキストを取得します | |
| request(LMRequest) | LMHttpClientComment | HTTPリクエストパラメータを設定します | |
| 取得する() | StatusCode | リクエストとリターンのステータスを取得します。 | |
| get(URL) | StatusCode | リクエストとリターンのステータスを取得します。 | |
| 頭() | StatusCode | URLが存在するかどうかを確認します | |
| post(URL、PostDataType、String PostData) | StatusCode | HTTPデータを投稿する | |
| setProxy(String hostname、int port、String schema) | LMリクエスト | HTTPプロキシを設定します。 スキーマはHTTPまたはHTTPSのみにすることができます | |
| setProxy(String hostname、int port、String schema、String proxyUsername、String proxyPassword) | LMリクエスト | 資格情報とともにHTTPプロキシを設定します。 |
レスポンス Groovy スクリプトの API コマンド
次の表は、応答 Groovy スクリプトで使用できる API 呼び出しを示しています。
| APIコマンド | 戻り型 | 詳細説明 |
| getStatus() | 整数 | HTTPステータスコードを返す |
| getReasonPhase() | String | HTTP理由フェーズに戻る |
| getProtocolVersion() | String | HTTPプロトコルバージョンを返す |
| getHeaders() | マップ(文字列、リスト[文字列]) | すべてのヘッダーを返す |
| getHeader(文字列名) | リスト | 名前付きのヘッダー値を返します。 ヘッダーが存在しない場合、「null」応答が返されます。 名前では大文字と小文字が区別されることに注意してください |
| getBody() | String | HTTP応答本文を返す |
| statusMatch(intが期待されます) | StatusCode | ステータスが期待どおりかどうかを確認します。 その場合、これはSTATUS_OKを返します。 それ以外の場合は、STATUS_STATUS_MISMATCHを返します |
| regexMatch(文字列パターン) | StatusCode | 正規表現パターンがHTTP応答本文と一致するかどうかを確認します。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します |
| globMatch(文字列パターン) | StatusCode | 正規表現パターンがHTTP応答本文と一致するかどうかを確認します。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します |
| plainTextMatch(文字列パターン) | StatusCode | HTTP応答本文にプレーンテキストが含まれているかどうかを確認します。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します |
| jsonMatch(文字列パス、文字列expectValue) | StatusCode | パスのJSON結果が期待値と一致するかどうかを確認します。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します |
| PathMatch(文字列パス、文字列expectValue) | StatusCode | 文字列のパスが期待値と一致するかどうかを確認してください。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します |
| keyValueMatch(文字列キー、文字列expectValue) | StatusCode | 返されたキー/値が期待値と一致するかどうかを確認します。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します |
| setContext(文字列名、オブジェクト値) | ボイド | スクリプトの次の段階のコンテキストを設定します |
| getContext(String) | オブジェクト | 前のスクリプトステージで設定されたコンテキストを返します |
ステータスコード
次の表に、さまざまな Web サイトのステータス コードを示します。
| CPコード | 値 | 詳細説明 |
| ステータス_OK | 1 | データ収集は期待どおりに機能しました |
| STATUS_MISMATCH | 11 | HTTP応答ステータスが一致しません |
| STATUS_CONTENTS_MISMATCH | 12 | HTTPリクエストが予期されたHTTPレスポンス本文を返しませんでした |
LM Uptime で Groovy スクリプトを使用して内部 Web チェックを作成するための要件
Groovy スクリプトを使用して内部 Web チェックを作成するには、次のものが必要です。
- リソースの「管理」権限を持つユーザー。詳細については、 リソースロールの権限.
- LM アップタイムライセンス版
LM Uptime で Groovy スクリプトを使用して内部 Web チェックを作成する
- LogicMonitorで、次の場所に移動します リソースツリー >
.
- 稼働時間 セクションで選択 内部 Web チェック.
- Basic タブで、必要な詳細を入力します。
- まず 設定 タブをクリックして、次の手順を実行します。
- デフォルトのルートURL セクション、選択 http:// or https:// Web サーバーの設定に応じてプロトコルを選択し、Web Check リクエストの送信先となる Web サイトのドメインを入力します。
- ステップXNUMXのURLパス フィールドに、Web サイトでテストする必要がある最初のパスを入力します。 Web サイトのドメインに対する相対パスを入力します (例:
/folder/page.htm). - リクエスト セクションで、 スクリプト タブには何も表示されないことに注意してください。
- をオンにする リクエストに Groovy スクリプトを使用する (設定を無視) スイッチ。
- 選択する 設定からスクリプトを生成する これらの設定に基づいて LogicMonitor にリクエスト スクリプトを自動生成させます。
基本認証を使用するサイトの内部 Web チェックの最初のステップでは、次の Groovy 構文が使用されます。import com.logicmonitor.service.groovyapi.AuthType; import com.logicmonitor.service.groovyapi.LMRequest; LMRequest request = new LMRequest(); request.setAuthType(AuthType.BASIC) .setUsername("username") .setPassword("password") .followRedirect(false) .useHttp1_0() .needFullpageLoad(true); String jsonData = "{\"name\": \"value\"}" return LMHttpClient.request(request) .post(JSON, jsonData);
たとえば、 setContext() 応答:StatusCode status = LMResponse.statusMatch(200); LMResponse.setContext("body", Response.getBody()); return status;
例えば、 getContext() 応答:return LMResponse.plainTextmatch(Response.getContext("exampletext"))
例えば、 post(PostDataType、String PostData)応答:import static com.logicmonitor.service.groovyapi.StatusCode.*; import static com.logicmonitor.service.groovyapi.PostDataType.*; String jsonData = "{\"name\": \"value\"}"; return LMHttpClient.post(JSON, jsonData);
例えば、 request(LMRequest) 応答:import com.logicmonitor.service.groovyapi.AuthType; import com.logicmonitor.service.groovyapi.LMRequest; LMRequest request = new LMRequest(); request.setAuthType(AuthType.BASIC) .setUsername("username") .setPassword("password") .followRedirect(false) .useHttp1_0() .needLoadFullPage(false); String jsonData = "{\"name\": \"value\"}" return LMHttpClient.request(request) .post(JSON, jsonData); - まず スクリプト タブの下に 世界の動き のセクションから無料でダウンロードできます。
- をオンにする レスポンスにGroovyスクリプトを使用する(設定を無視) スイッチ。
- 選択する 設定からスクリプトを生成する これらの設定に基づいて LogicMonitor に応答スクリプトを自動生成させます。
たとえば、サイトの応答ステータスが「302」であることを確認する場合は、次のリクエストを使用します。import com.logicmonitor.service.groovyapi.LMRequest; LMRequest request = new LMRequest(); return LMHttpClient.request(request.followRedirect(false) .get());
応答スクリプトは次のように記述します。return LMResponse.statusMatch(302);
- まず チェックポイント タブステップをクリックし、小切手を送付するコレクターを指定します。
私達の デフォルトの稼働時間設定を使用する トグルはデフォルトで選択されています。
注意: ダイアログのこの領域からコレクターを表示および選択するには、ユーザー アカウントにコレクター表示権限が必要です。詳細については、「」を参照してください。 LogicMonitor ロール
- まず アラートのトリガー タブをクリックして必要な詳細を入力します。
- 選択する Save.
内部 Web チェックがリソースに追加されます。