LogicMonitor + Catchpoint: 自律型ITの新時代へ

さらに詳しく

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)LMHttpClientCommentHTTPリクエストパラメータを設定します 
取得する()StatusCodeリクエストとリターンのステータスを取得します。  
get(URL)StatusCodeリクエストとリターンのステータスを取得します。  
頭()StatusCodeURLが存在するかどうかを確認します 
post(URL、PostDataType、String PostData)StatusCodeHTTPデータを投稿する 
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()StringHTTP理由フェーズに戻る
getProtocolVersion()StringHTTPプロトコルバージョンを返す
getHeaders()マップ(文字列、リスト[文字列]) すべてのヘッダーを返す
getHeader(文字列名)リスト名前付きのヘッダー値を返します。 ヘッダーが存在しない場合、「null」応答が返されます。 名前では大文字と小文字が区別されることに注意してください
getBody()StringHTTP応答本文を返す
statusMatch(intが期待されます)StatusCodeステータスが期待どおりかどうかを確認します。 その場合、これはSTATUS_OKを返します。 それ以外の場合は、STATUS_STATUS_MISMATCHを返します
regexMatch(文字列パターン)StatusCode正規表現パターンがHTTP応答本文と一致するかどうかを確認します。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します
globMatch(文字列パターン)StatusCode正規表現パターンがHTTP応答本文と一致するかどうかを確認します。 失敗した場合は、STATUS_CONTENTS_MISMATCHを返します
plainTextMatch(文字列パターン)StatusCodeHTTP応答本文にプレーンテキストが含まれているかどうかを確認します。 失敗した場合は、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コード 詳細説明
ステータス_OK1データ収集は期待どおりに機能しました
STATUS_MISMATCH11HTTP応答ステータスが一致しません
STATUS_CONTENTS_MISMATCH12HTTPリクエストが予期されたHTTPレスポンス本文を返しませんでした

LM Uptime で Groovy スクリプトを使用して内部 Web チェックを作成するための要件

Groovy スクリプトを使用して内部 Web チェックを作成するには、次のものが必要です。

LM Uptime で Groovy スクリプトを使用して内部 Web チェックを作成する

  1. LogicMonitorで、次の場所に移動します リソースツリー > アイコンを追加.
  2.  稼働時間 セクションで選択 内部 Web チェック.
  3.  Basic タブで、必要な詳細を入力します。
  4. まず 設定 タブをクリックして、次の手順を実行します。
    1.  デフォルトのルートURL セクション、選択 http:// or https:// Web サーバーの設定に応じてプロトコルを選択し、Web Check リクエストの送信先となる Web サイトのドメインを入力します。
    2.  ステップXNUMXのURLパス フィールドに、Web サイトでテストする必要がある最初のパスを入力します。 Web サイトのドメインに対する相対パスを入力します (例: /folder/page.htm).
    3.  リクエスト セクションで、 スクリプト タブには何も表示されないことに注意してください。
    4. をオンにする リクエストに Groovy スクリプトを使用する (設定を無視) スイッチ。
    5. 選択する 設定からスクリプトを生成する これらの設定に基づいて 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);
    6. まず スクリプト タブの下に 世界の動き のセクションから無料でダウンロードできます。
    7. をオンにする レスポンスにGroovyスクリプトを使用する(設定を無視) スイッチ。
    8. 選択する 設定からスクリプトを生成する これらの設定に基づいて LogicMonitor に応答スクリプトを自動生成させます。
      たとえば、サイトの応答ステータスが「302」であることを確認する場合は、次のリクエストを使用します。

      import com.logicmonitor.service.groovyapi.LMRequest; LMRequest request = new LMRequest(); return LMHttpClient.request(request.followRedirect(false) .get());

      応答スクリプトは次のように記述します。
      return LMResponse.statusMatch(302);

      リクエストとレスポンスのスクリプトタブ
  5. まず チェックポイント タブステップをクリックし、小切手を送付するコレクターを指定します。
    私達の デフォルトの稼働時間設定を使用する トグルはデフォルトで選択されています。
    チェックポイントタブのGroovyスクリプトページ

注意: ダイアログのこの領域からコレクターを表示および選択するには、ユーザー アカウントにコレクター表示権限が必要です。詳細については、「」を参照してください。 LogicMonitor ロール

  1. まず アラートのトリガー タブをクリックして必要な詳細を入力します。
  2. 選択する Save.

内部 Web チェックがリソースに追加されます。 

14日間フルアクセス LogicMonitor プラットフォーム