ヘルプ 管理 監視の追加 REST APIトランザクション

REST APIトランザクション

Webページは多数のREST API呼び出しを利用して、データ取得や各種アクションを実行しています。またモバイルアプリはREST APIで通信を行い、ログインページなども多く利用されます。
そのため、ページ遷移やパラメーター単体のWebアプリ監視は十分ではありません。

Site24x7のREST APIトランザクション監視を使用して、RESTアプリケーションのワークフローを監視します。監視を設定すると、トランザクションのステップそれぞれで、HTML要求とREST API呼び出しなどを監視します。最多で25のURLのシーケンスを監視できるほか、シーケンスのステップにおけるパラメーター転送も行えます。

IPv4およびIPv6対応アプリケーションを120以上のグローバル拠点から監視できます。
REST API監視は、1ベーシック監視とみなされます。

基本機能

  • ステップごと監視:ステップを作成、対象のエンドURLを指定し、Webアプリをステップを集めたシーケンスとして監視します。
  • セッションのcookie:シーケンス全体は同じHTTPセッションの内部で実行されます。そのため、アプリケーションが設定した認証Cookieや他のCookieデータは、次のステップでも使用されます。
  • HTTPメソッド:各種HTTP要求をシミュレートします。post、テキスト、XML、JSONの送信が対象です。
  • 要求の妥当性検証:平文テキストの文字列応答を、キーワードや正規表現で検証します。XML応答はXPath、JSON応答はJSONPathで、それぞれ対応します。
  • パラメーター転送:値を、テキスト、JSONPath、XPath表現の応答から抽出し、カスタム パラメーターとして保存します。これらのパラメーターは、その後のステップで、カスタムクエリの文字列やpostデータを作成したりするのに利用されます。
  • Basic/NTLM、OAuth 2、Webトークン対応:Webトークンを登録して、Basic/NTLM認証情報かOAuth 2でアプリケーションを認証します。OAuth 2では、監視はSite24x7で設定されたアクセストークンを使用し実行します。

REST APIトランザクション監視の設定

複数のAPI要求をグループにまとめて実行し、エンドポイントAPIの稼働状況、パフォーマンス、正確性を評価することができます。
トランザクション内のステップごとに表現のアサーションを定義し、応答の確認に使用できます。応答から、パラメーターを抽出・保存し、次の要求やステップで使うこともできます。

監視追加方法

  1. Site24x7にログインします。
  2. [管理]→[インベントリー]→[監視の追加]→[REST APIトランザクション]をクリックします。
  3. 次の情報を指定します。
    • 表示名:追加するREST APIトランザクション監視の名前です。
    • チェック間隔:監視ポーリングの間隔を指定します。最短頻度は5分、最長は1日です。
    • 監視ロケーション:ロケーションプロファイルをドロップダウンから選択し、その拠点から対象を監視します。プロファイルの編集、新規作成も可能です。
      監視は、最大16か所のグローバル ロケーションから実施します。オンプレミスポーラーを設定すれば、ファイアウォール内部に監視ロケーションを設置することもできます。
      詳細は、こちらのページをご確認ください。
    • 監視グループ:監視グループを設定します。
      監視グループの作成方法は、こちらのページを確認ください。
    • 次の監視に依存:監視をドロップダウンから選択し、依存リソースに指定します。依存リソースのステータスがダウン であれば、監視へのアラートは抑止されます。
      依存リソースを設定し、それにもとづくアラート抑止を行えば、誤報アラームの防止につながります。
      詳細は、監視レベルでのアラート抑止をご確認ください。
      1つの監視を、異なる監視グループにある複数の依存リソースに関連付けることも可能です。通常のステータス確認で、これら依存リソースが1つでもダウンと特定されると、その監視のアラートは自動的に抑止されます。
      アラート抑止にあたって、監視レベルでの依存性設定は、常に、 監視グループレベルでの依存性設定が優先されます。

トランザクションステップの新規追加

RESTベースのWebアプリを複数ステップからなる1シーケンスとして監視できます。
REST APIトランザクション監視の追加方法は次のとおりです。

  1. [管理]→[インベントリー]→[監視の追加]→[REST APIトランザクション]をクリックし、[トランザクションステップ]タブの[ステップの追加]をクリックします。
  2. ステップの追加画面で、次の情報を入力します。
    • ステップ名:トランザクションステップの名前です。
    • エンドポイントURL:監視するエンドポイントURLを指定します。
    • ステップエラー:[はい]を選択すると、エラー発生時にその後のステップを停止します。[いいえ]の場合、引き続きその後のステップが処理されます。

スマート設定

スマート設定はステップの設定で、エンドポイントURLやヘッダーパラメーターなどの入力項目を、自動的にフォームに入力します。これにより、監視設定を迅速化し、適正なヘッダーリソースでAPI要求を精緻にチューニングします。
要求ヘッダーをChromeやFirefoxなどのブラウザーからコピーし[要求ヘッダーからインポートをクリックしてテキスト欄に貼り付けてください。

Chromeデベロッパーツール

で要求ヘッダーを抽出する方法:

  1. Chromeを開き[画面右上の三点アイコン]→[その他のツール]→[デベロッパーツール]をクリックします。
  2. [Network]タブをクリックし、表示ページを再読み込みすると、ネットワークアクティビティが表示されます。
  3. 特定のアクティビティを選択し、[Header]をクリック後[Raw]をクリックし、情報を抽出します。
Firefox Network Monitorインスペクター

で要求ヘッダーを抽出する方法:

  1. Firefoxを開き、画面右上の[ハンバーガーアイコン]→[その他のツール]→[ウェブ開発ツール]をクリックします。
  2. [ネットワーク]タブをクリックし、記録を開始します。
  3. 表示ページを再読み込みすると、ネットワークアクティビティが表示されます。その後、特定のアクティビティを選択します。
  4. 要求ヘッダー欄の[生ヘッダー]をクリックし、表示された要求ヘッダーをコピーし抽出します。
  5. 抽出した要求ヘッダーをSite24x7の[要求ヘッダーをインポート]クリック後のテキストボックスにペーストし、[インポート]をクリックします。

HTTPの設定

HTTPの設定には、次の情報を指定してください。

  • HTTPメソッド:サイト接続時のメソッドを、post、get、put、delete、patchから指定します。
    post、put、patchのメソッドについては、bodyタイプも設定してください。
    WebDAV API監視
    WebDAVは、HTTP Webサーバーを通してドキュメントの編集、共有、コピー、移動を行えるようにするプロトコルです。
    現在Site24x7では、WebDAVで用いられる次のHTTPメソッドをサポートしています。
      • PROPFIND
      • PROPPATCH
      • MKCOL
      • COPY
      • MOVE
      • LOCK
      • UNLOCK

    上記メソッドを使用して、次の操作を行えます。

    カレンダーAPI監視:
    CalDAVはWebDAVのカレンダー拡張を行ったもので、リモートサーバー上のカレンダー関係情報のアクセスや管理を行えます。CalDAVではiCalendar形式が使用されています。
    CalDAVを使用して、各機器のカレンダーイベントの取得、新規イベントのスケジュール、リマインダー設定などのデータを同期できます。

    例として、Google CalendarおよびApple Calendarは、それらサービスにCalDAVアクセスを提供しています。

    Contact API監視:
    CardDavはWebDAVにvCard拡張を行ったもので、Webサーバー上のデータにアクセスすることができるアドレス帳クライアントやサーバープロトコルを指します。データにはvCard形式が使用されています。
    CardDAVを使用して、リモートサーバー間で個人情報の取得、保存、管理を行えます。

    例として、Google ContactsおよびiCloud ContactsではCardDAVを使用しています。

    postメソッドでは、URLアクセス時にパラメーターを送出します。postメソッドでは、フォーム、テキスト、XML、JSON形式での送信をサポートしています。
  • getメソッドでは、HTML応答全体を取得し設定したキーワードの存在確認に利用できます。
  • パラメータータイプ:GraphQLクエリをエンドポイントに送信したい場合は[GraphQL]を選択します。
  • GraphQLクエリ:GraphQLクエリを入力し、APIサービスに基づくGraphQLからの応答として特定の項目を取得します。
  • GraphQL変数:JSON形式のGraphQLクエリで参照される変数の値を入力します。
    POSTメソッドを選択している場合、リクエストボディにGraphQLクエリおよびGraphQL変数を指定してください。GETメソッドの場合、GraphQLクエリとGraphQL変数はURLパラメーターを通して送信されます。
  • HTTP要求ヘッダー:デフォルトのHTTP要求ヘッダーを編集する場合は、ヘッダー名とヘッダー値をここで設定します。
  • ユーザーエージェント:ブラウザーのカスタムユーザーエージェントを設定し、要求とHTTPヘッダーの送出に利用します。

  • 認証方法:エンドポイントで設定されているの認証を設定します。
    • Basic/NTLM:Basic/NTLMベース認証を設定します。Windows NTLMは、Windows OS上のシステムで利用できる認証プロトコルです。
      [認証情報]項目で、Basic/NTLM認証を要するURLの、ユーザー名とパスワードを指定します。
    • Kerberos/Negotiate
      Kerberos認証を使用しているリソースを監視する場合はこの項目を選択してください。リストからKerberos認証を設定した認証情報ストアを選択します。
      • Kerberos認証はオンプレミスポーラーロケーションでのみサポートしています。
      • Kerberos認証の認証情報ストアについての詳細はこちらのページをご確認ください。
    • OAuth:OAuthフレームワークによるセキュリティを構成しているリソースを監視する場合は、[OAuth]を選択後、ドロップダウンから[プロバイダー]を選択します。[+]からプロバイダーを新規追加できます。
      プロバイダーの作成方法手順はこちらのページをご確認ください。
    • Webトークン:認証サーバーにSite24x7を登録し、Webトークンを使用して対象を監視します。
      Webトークンについての詳細はこちらのページをご確認ください。
    • AWSシグネチャー:Site24x7と事前に連携されているAWSアカウントをドロップダウンから選択します。
      HMACを使用してAPIリクエストを確認し、AWS APIゲートウェイにホストされているAPIを認証します。
      AWSアカウントの連携方法についてはこちらのページをご確認ください。

      AWSシグネチャー認証の詳細はこちらのページをご確認ください。
  • クライアント証明書:クライアント証明書認証を要する監視対象の場合、クライアント証明書をアップロードしてください(PKCS#12形式)。
  • 詳細設定

    • 接続タイムアウト:対象のサーバーとの接続に設ける時間を指定します。
    • IPv6設定:IPv6有効のWebサイトを監視するには、監視の作成または編集中にトグルボタンで[はい]を選択してください。
      Site24x7では要件に応じて、IPv4とIPv6に対応したインフラを監視します。デフォルトで有効となるプロトコルは、IPv4です。監視のフォームで選択すれば、IPv6インフラも監視できます。
      IPv6を監視フォームで有効にすると、IPv4の監視は無効化されます。
      IPv4とIPv6の双方に対応したサイトを監視する場合は、それぞれ別の監視の設定が必要です。
    • 権威ネームサーバーへのクエリ:トグルボタンで、ドメイン名解決に権威DNSサーバーを使用するかを指定します。
    • 許可されたHTTPステータスコード:HTTPステータスコードをカンマで区切って入力し、それらを成功レスポンスとして設定します。個別での指定と、コロンでの範囲での指定が可能です。
      詳細はこちらのページ(英語版)をご確認ください。
    • SSLプロトコル:TLS/SSLプロトコルのバージョン(TLSv1.3、TLSv1.2、TLSv1.1、TLSv1、SSLv3がサポートされています)の数を指定し、SSLハンドシェイクを検証します。自動モードを使用して、自動検知とネゴシエーションを有効化します。
      SSLプロトコル検証はHTTPSドメインにのみ行われます。
      実際のバージョンと異なるSSLプロトコルバージョンが指定されている場合、監視は失敗します。
    • HTTPプロトコル:アプリケーション層プロトコルのバージョン(HTTP/1.1またはHTTP/2)を選択し、それをネゴシエーションに使用します。
    • ALPNの有効化:ALPNを有効化し、アプリケーションプロトコルにのみ、TLSハンドシェイクの一部で送信し、ラウンドトリップ時間の削減を行います。デフォルトでこの項目は[はい]に設定されています。
      オンプレミスポーラーではこのオプションは使用できません。

    可用性確認

    必須項目をすべて入力した後、[可用性確認]タブをクリックすることで行った設定をテストできます。
    サービスをテストすることで、コードレベルでドリルダウンを行うことができ、設定エラーの修正等に利用できます。

    コンテンツチェック:

  • 応答フォーマットに [テキスト]を選択した場合
    • 存在するべき文字列:指定キーワードがHTMLになければ、アラートします。チェックボックスでキーワードを指定し、スライダーボタンでアラートの種類を選択してください。
    • あってはならない文字列:指定キーワードがHTMLにあれば、アラートします。チェックボックスでキーワードを指定し、スライダーボタンで、アラートの種類選択してください。
      入力欄にキーワードを指定する際に、次の条件があります。
      • 文字列やキーワードが1つであれば、ダブルコーテーションで囲むか否かは任意です(例:HTML)。
      • 2つの文字列で1キーワードとなっている場合、空白をあけて全体をダブルコーテーションで囲みます(例:"HTML response")。
      • キーワードを複数指定する場合は、それぞれを空白で区切りダブルコーテーションで囲ってください("monitor" "HTML")。
    • 大文字・小文字を区別:トグルボタンで、この項目を区別するかを選択します。
    • マッチする正規表現:Webコンテンツの特定パターンにマッチする際にアラートするという設定を行います。
      たとえば、^[a-z0-9_-]{3,15}$という表現にマッチする場合、Webコンテンツには、aからzまでのアルファベット、0から9までの数字、アンダースコア、ハイフンが含まれることとなります。 このパターンにマッチしない場合、Webサイトは指定した正規表現「^[a-z0-9_-]{3,15}$」にあわないものとして、アラート対象になります。
  • 応答フォーマットに[XML]を選択した場合
    • XPath表現:XPath表現を指定し、XPath表現のアサーションを評価します。複数のXML表現アサーションを追加するには、[+]をクリックしてください。
    • XPath重要度:XPath表現のアサーション失敗時のアラート重要度を[ダウン]または[トラブル]から選択します。
  • 応答フォーマットに[JSON]を選択した場合
    • JSONPath表現:JSONPath表現を指定し、JSON Path表現のアサーションを評価します。複数のJSON Path表現アサーションを追加するには、[+]をクリックしてください。
      アサーションが処理されると、JSONアサーション内の指定した値が、JSON応答内の実際の値と比較されテストされます。
      テスト事項は次のとおりです。
      • 実際の値が空か
      • 実際の値が空ではないか
      • 実際の値が対象の値と同じか
      • 実際の値が対象の値以上か
      • 実際の値が対象の値以下か
      • 実際の値に対象の値が含まれるか
      • 対象の値が実際の値に含まれていないか
    • JSONPath重要度:JSONPath表現のアサーション失敗時のアラート重要度を[ダウン]または[トラブル]から選択します。
    • JSONスキーマチェック:JSONスキーマはWebサービスのJSONエンドポイントを検証するための文字列です。
      スキーマでHTTP応答データをテストするには[はい]を選択して、テキスト項目にJSONスキーマ検証のアサーションを入力します。[はい]を選択後にテキスト項目が空欄の場合にも、監視ステータスに影響なくデータ収集が行われます。
    • JSONスキーマ重要度:アラートの重要度を[ダウン]または[トラブル]から選択します。
      JSONスキーマ検証の失敗時に、この設定に応じてアラートが発生します。
      設定したJSONスキーマに対してAPI応答が検証される際の、テストユースケースは次のとおりです。
      • 値が指定したタイプ(例:integer, stringなど)であるか
      • API JSON応答がプロパティを構成しているか
      • JSON応答内に指定したキーが存在するか
      • 誤ったHTTP応答(HTMLまたはXML)がJSONスキーマを検証していないか
    • HTTP応答ヘッダー:HTTPリクエストに対する応答ヘッダーと値を入力し、HTTPヘッダーが存在するか、値がまた応答とマッチするかを確認します。
      応答ヘッダーチェックの設定時に、次の条件に基づいて値を設定してください。
      • 複数ヘッダーを追加でき、その各ヘッダーに値を指定できます。
      • 文字列やキーワードが1つであれば、ダブルコーテーションで囲むか否かは任意です(例:keep-aliveまたは"keep-alive")。
      • キーワードを複数指定する場合は、それぞれを空白で区切りダブルコーテーションで囲ってください(例:"gzip" "br")。
      • ヘッダー値では正規表現検証をサポートしています。正規表現パターンは"${<regex>}"の形式で指定してください。
        例:${\d{4}}が指定されている場合、ヘッダー名に設定されているヘッダー値で、4桁の数値を検索します。
    • HTTP応答ヘッダー重大度: 検証に失敗した際の発生するアラートの重大度を[ダウン]または[トラブル]から選択します。

パラメーター転送

パラメーター転送を利用すると、データやテストデータ検証情報を、要求のステップ間で受け渡すことができます。
各値は、XPath、JSON Path、正規表現で応答から抽出でき、カスタムパラメーターとして保存可能です。このパラメーターから、クエリの文字列や次のステップへのpostデータを作成できます。
テキスト、XML、JSONベースの応答形式を選択し、正規表現、XPath表現、JSON Path表現のアサーションを設定します。 ${Parameter}を呼び出す場合は、呼び出した表現のアサーションの出力値は、以降の全ステップ検証に使用されます。

インポートテストケース:JSON/YAMLでのSwagger 2.0 / OpenAPI定義

Swagger 2.0 / OpenAPI形式はAPIドキュメントのサポートツールで、サーバー設定を迅速に始められます。JSON/YAMLのAPIで定義されたSwaggerで、テストシナリオを自動で作成します。JSON/YAMLファイルで定義されたSwaggerをインポートすることで、入力などの手間を削減できます。
Swaggerをインポートすると、各トランザクションが定義されたすべてのメソッドで作成されます。Site24x7が定義されたSwaggerとともにステップ名、ヘッダー、エンドポイントURLなどのAPI構造を読み取るため、設定ステップの削減になります。

Swagger定義のインポート方法は次のとおりです。

  • Site24x7にログインし、[管理]→[インベントリー]→[監視の追加]→[REST APIトランザクション]をクリックします。
  • [トランザクションステップ]タブの[インポート手順]をクリックします。
  • [Swagger 2.0 (JSON / YAML)]または[OpenAPI 3.0(JSON / YAML)]を選択して、[検索]をクリックします。
  • ローカルマシンから各ファイルを指定します。その後、[次へ]をクリックします。
  • インポートしたいAPI要求を選択し、[インポート]をクリックします。インポート後にこのステップの順番を入れ替えられます。
    25APIトランザクションまで監視に追加できます。個々のトランザクションのエンドポイントURLとHTTPヘッダーおよびボディが自動で設定されますが、正確な値ですべてのヘッダーとボディを編集する必要があります。
    実施していない場合、監視が設定エラー状態になります。

インポートテストケース:HTTP Archive (HAR)形式

HTTP Archive (HAR)ファイルをインポートし、テストシナリオを作成できます。トランザクションのHARファイルはブラウザーの開発者ツールから取得してください。
Swaggerのように、全ステップ名、ヘッダー。エンドポイントURLなどの情報をHARファイルから抽出し、各ステップの可用性パラメーターや値を自動で取得して追加できます。
設定方法は次のとおりです。

  1. Site24x7にログインし、[管理]→[インベントリー]→[監視の追加]→[REST APIトランザクション]をクリックします。
  2. [トランザクションステップ]タブの[インポート手順]をクリックします。
  3. [HTTPアーカイブ(HAR)を選択して、[検索]をクリックします。
  4. ローカルマシンからHARファイルを選択します。その後、[次へ]をクリックします。
  5. インポートしたいAPI要求を選択し、[インポート]をクリックします。インポートが完了したら、各ステップの順番を入れ替えることができます。
    監視に設定できるAPI要求数は25までです。

[インポート]をクリックすると、パラメーター転送、POSTおよびPUTのJSON応答チェック、JSONPath表現、JSONスキーマチェックが、指定したHARファイルのリクエストとレスポンスに基づいて自動で行われます。

インポートテストケース:WSDL形式

Web Services Description Language (WSDL) URLを指定して、設定を容易に行います。
これにより、リクエストXML、エンドポイントURL、要求リクエストヘッダーが生成され、ステップにインポートされます。

次の情報を設定して、テスト操作を行います。

  1. WSDL URLの入力:監視したいWSDL URLを入力します。
  2. [次へ]をクリックします。

インポートテストケース:cURL形式

トランザクションのcURLファイルをブラウザーの開発者ツールを使用して抽出します。抽出したtcURLの手順では、.curlファイルでアップロードする必要があります。この機能により、各ステップのパラメーターと値が自動で入力されます。
サポートされているHTTPメソッドはPOST、PUT、DELETE、GETです。

cURLファイルをダウンロード後、次の手順を行ってください。

  1. Site24x7にログインし、[管理]→[インベントリー]→[監視の追加]→[REST APIトランザクション]をクリックします。
  2. [トランザクションステップ]タブの[インポート手順]をクリックします。
  3. [HTTPアーカイブ(HAR)を選択して、[検索]をクリックします。
  4. [cURL]を選択し[検索]をクリック後、ローカルからcURLファイルを選択してください。
  5. [次へ]をクリックします。

インポートテストケース:Postman JSON

PostmanコレクションはAPIリクエストのグループで、チームへの共有やエクスポートを行えます。Postmanからコレクションをエクスポートし、Site24x7での監視作成に使用します。サポートされているHTTPメソッドはPOST、PUT、DELETE、GETです。

Postman (JSON)ファイルのダウンロード後、次の手順を行ってください。

  1. Site24x7にログインし、[管理]→[インベントリー]→[監視の追加]→[REST APIトランザクション]をクリックします。
  2. [トランザクションステップ]タブの[インポート手順]をクリックします。
  3. [Postman (JSON)]を選択し[検索]をクリック後、ファイルを選択してください。
  4. [次へ]をクリックします。

設定プロファイル

  • しきい値と可用性:しきい値プロファイルをドロップダウンから選ぶか、デフォルトのしきい値設定を選択してください。リソースが設定値を超えると、通知が行われます。
    しきい値と可用性のプロファイル作成には、こちらのページをご確認ください。
  • タグ:タグを監視に関連付けて、監視の管理を行いやすくします。
    タグの作成方法は、こちらのページをご確認ください。
  • IT自動化テンプレート:監視でステータスや属性の変化があった時に実行するアクションを選択します。ステータス変更の際は設定したアクションが実行され、対象ユーザーグループにアラートを発します。
    IT自動化テンプレートの作成方法は、こちらのページをご確認ください。

アラート設定

  • ユーザーアラートグループ:障害時にアラートを通知するユーザーグループを選択します。
    ユーザーアラートグループの作成方法は、こちらのページをご確認ください。
  • オンコールスケジュール:オンコールスケジュールを使用して、アラートの通知先を特定のシフト時間に応じて変更できます。
    オンコールスケジュールについての詳細は、こちらのページをご確認ください。
  • 通知プロファイル:通知プロファイルをドロップダウンから選択します。
    通知プロファイルにより、障害発生時は、いつ誰に通知するかを設定できます。
    通知プロファイルの新規作成方法は、こちらのページをご確認ください。

サードパーティ連携

  • サードパーティのサービスを設定し、監視を関連付けてください。アラートが関連サービスへプッシュされ、インシデント管理を促進します。
    詳細はこちらのページをご確認ください。
  • [保存]をクリックし、監視の設定を完了します。

ユースケース

REST APIトランザクション監視のユースケースは次のとおりです。

  1. API連鎖トランザクションの監視

    Webアプリで、APIエンドポイントが連結されている場合は、データはある要求から、次の要求へと引き渡されます。応答の全体でもその一部でも、応答パラメーターの記録が可能です。

    次のユースケースを考えます。
    GET Monitor Status APIでは、Site24x7アカウントに存在するすべての監視のJSON応答を取得します。次のURLを用いると、その配下にあるJSON応答が取得可能です。ステップ1は、RESTトランザクション監視におけるトランザクションステップ1と同意です。

    ステップURL 1:https://site24x7.com/api/current_status/type/RESTAPISEQ?authtoken=95c883409340sdsds4qqwr47dsdsd461beb7ea6b

    {
    "code": 0,
    "message": "success",
    "data": {
    "monitors": [
    {
    "outage_id": "1500384436349",
    "name": "JSON Check",
    "downtime_millis": "3424304",
    "down_reason": "Trouble invoking url (Step Url Name) in JSON Check.\nUnable to connect to https://www.site24x7.com${test}.",
    "duration": "57 Mins 4 Secs",
    "attribute_key": "transaction_time",
    "status": 0,
    "attributes": [
    {
    "attribute_label": "web.application.details.transaction.time",
    "unit": "ms",
    "attribute_key": "rsptime",
    "attribute_value": 2124
    }
    ],
    "last_polled_time": "2017-07-18T18:51:10+0530",
    "attributeName": "TRANSACTIONTIME",
    "monitor_type": "RESTAPISEQ",
    "attribute_label": "Transaction Time",
    "unit": "ms",
    "monitor_id": "6000000120027"
    },
    {
    "name": "wewewewewew",
    "status": 10,
    "attributes": [
    {
    "attribute_label": "web.application.details.transaction.time",
    "attribute_key": "rsptime",
    "attribute_value": "-"
    }
    ],
    "last_polled_time": "2017-06-28T15:08:20+0530",
    "attributeName": "TRANSACTIONTIME",
    "monitor_type": "RESTAPISEQ",
    "monitor_id": "6000000064003"
    }
    ]
    }
    }

    上記JSON データの、JSONPath表現アサーション:test=$.data.monitors[?(@.status==0)].monitor_id
    トランザクションステップ1では、JSONPath表現アサーションを、上記のJSON応答で指定することができます。正規表現やXPath表現ベースの入力でも同様です。
    この例のJSONPath表現で、ステータスダウンの監視にクエリをかけることができます(status==0がダウンを表します)。
    ステップ2 URL: https://site24x7.com/api/reports/outage/${test}?period=1&authtoken=95c883409340sdsds4qqwr47dsdsd461beb7ea6b
    ステップ2 URL は、上記の表現で構成しています。これがパラメーター転送を示します。
    ステップ2 URLでは、ダウンしている監視すべての障害レポートを取得できます。ここでは、ステップ1 URL応答で取得したカスタムパラメーター値を、ステップ2 URLへの入力として利用しています。
    URL実行に成功すると、このステップ内でダウンしている監視の障害レポートが取得されます。これはRESTトランザクション監視がアップしていることも示しています。他方、表現のアサーションにより応答が得られない場合は、ステップ2が失敗し監視ステータスはダウンになります。

    {
    "code": 0,
    "message": "success",
    "data": {
    "outage_details": [
    {
    "display_name": "JSON Check",
    "outages": [
    {
    "outage_id": "1500384436349",
    "end_time": "2017-07-18T20:12:33+0530",
    "type": 0,
    "start_time": "2017-07-18T18:57:16+0530",
    "reason": "Trouble invoking url (Step Url Name) in JSON Check.\nUnable to connect to https://www.site24x7.com${test}.",
    "duration": "1 Hrs 15 Mins "
    },
    {
    "outage_id": "1500383206387",
    "end_time": "2017-07-18T18:46:05+0530",
    "type": 0,
    "start_time": "2017-07-18T18:36:46+0530",
    "reason": "Trouble invoking url (Step Url Name) in JSON Check.\nUnable to connect to https://www.site24x7.com/${test}.",
    "duration": "9 Mins 18 Secs"
    }
    ],
    "monitor_id": "6000000120027"
    }
    ],
    "info": {
    "resource_name": "JSON Check",
    "end_time": "2017-07-18T20:12:33+0530",
    "resource_type_name": "Monitor",
    "report_name": "Outage Report",
    "period_name": "Last 24 Hours",
    "formatted_start_time": "17 July 2017 20:12 IST",
    "generated_time": "2017-07-18T20:12:33+0530",
    "formatted_end_time": "18 July 2017 20:12 IST",
    "start_time": "2017-07-17T20:12:33+0530",
    "resource_type": 2,
    "period": 1,
    "formatted_generated_time": "18 July 2017 20:12 IST",
    "resource_id": "6000000120027",
    "report_type": 12
    }
    }
    }

  2. WebアプリをHTMLとAPIの組み合わせで監視

    モダンなWebアプリやモバイルアプリでは、REST APIを利用しアプリケーションを実行しています。中間ページを用いて、サインアップ、ログイン、テキスト送信などを行うこともあります。
    REST APIトランザクション監視では、このワークフローを監視します。それには、APIエンドポイントとサイトURLのすべてを、各トランザクションステップにまとめて設定し、トランザクション全体を監視できるようにしてください。

パフォーマンスメトリックについて

関連する監視

Site24x7の各種Web監視機能の比較