合成 API モニタリングを使用すると、HTTP(s)ベースの API の可用性とパフォーマンスをモニタリングできます。これらの API は、内部、外部、またはサードパーティの API であり、世界中のさまざまな地理的位置からのものである可能性があります。以下のシナリオで、プライベート API とパブリック API をモニタリングできます。

  • プライベート API
    • マイクロサービスまたは Web サービスによって公開されている API
    • Web ページ(フロントエンド)とバックエンドの間の通信に使用される API
  • パブリック API
    • 顧客に公開されている API
    • 支払いゲートウェイやマップなどのサードパーティ API
    • パートナー API

API コレクション

API コレクションは、マイクロサービスまたはアプリケーション内のすべての API または API ジョブのグループです。

API コレクションビューには、次の API の詳細が表示されます。

  • 平均可用性
  • 総 API リクエスト数
  • 平均応答時間

API コレクションを追加、表示、または削除するには、API コレクションにアクセスする必要があります。

API ジョブ

API ジョブを使用して、単一の API または一連の API をモニタリングできます。JavaScript を使用して API ジョブを作成できます。

Sample JavaScript

(async () => {
    // GET Request
    var response = await client.get("https://www.google.com/");
    console.log(response.statusCode); // 200
    console.log(response.statusMessage); // OK
    console.log(response.body); // HTML Body
     
    // POST, PUT or DELETE Request
    response = await client.post("https://www.google.com/");   
    response = await client.put("https://www.google.com/");
    response = await client.delete("https://www.google.com/");
})(); // Make sure to call the async function at the end.
CODE

JavaScript を使用して、さまざまな認証メカニズムの実装、ペイロードの暗号化、応答の解析、および応答時間、応答サイズ、応答コンテンツなどの検証ができます。

API 認証に必要なログイン情報を合成クレデンシャル Vault に保存し、JavaScript で使用することができます。

その他の JavaScript の例については、「API モニタリングスクリプト」を参照してください。

API ジョブを次のように設定できます。

  • パフォーマンスの問題に基づいてアラートイベントをトリガーする。
  • 設定された場所から API ジョブを定期的に実行する。ジョブは、任意のタイムゾーンで、任意の曜日および時間帯に実行するように設定できます。API モニタリングでサポートされている最小頻度は 1 分です。

  • ジョブの実行時間が指定された期間を超えた場合にジョブが失敗するようにタイムアウトを設定します。デフォルトでは、ジョブの実行が 5 分以内に完了しない場合に API ジョブがタイムアウトします。タイムアウトが原因で失敗したジョブは、可用性の問題を示します。
  • API ジョブの応答時間に基づいて、警告または重大なエラーのイベントをトリガーする。誤検出を避けるために、イベントをトリガーする前に特定の回数だけ再テストするように警告イベントまたは重大なイベントを設定することもできます。障害イベントのイベントステータスを表示するには、「正常性ルール違反イベント」を参照してください。

16 の AWS の場所のどこからでも API ジョブを実行できます(各場所内、または実行間隔ごとに 1 つの場所内)。

詳細については、Configure API Monitoring Jobsを参照してください。

ジョブの設定を更新して、API ジョブの実行方法を変更することができます。新しいジョブを作成するか、既存のジョブを選択して [Edit] をクリックし、設定を更新します。

作成されたすべての API ジョブのリストは、[API Jobs] リストビューに表示されます。このビューで、これらの API ジョブの可用性とパフォーマンスの傾向を表示できます。特定の時間間隔の API ジョブの傾向を表示するには、時間枠フィルタを使用します。

[API Jobs] リストビューには、選択した時間間隔での平均応答サイズ、実行場所の数、および実行数も表示されます。

セッション リスト

API ジョブの各実行は、[Jobs Sessions] ビューで確認できます。 

[Records] タブの上部には、選択した API ジョブの可用性の傾向が表示されます。各 API ジョブ実行のリストは、可用性の傾向の下に表示されます。フィルタオプションを使用して、特定の条件に基づいてジョブをフィルタ処理し、トラブルシューティング中に問題に焦点を当てることができます。


ジョブレベルの期間は、ジョブスクリプトの実行に必要な時間です。ただし、[APIs] ページの下に表示される期間は、特定の API の実行に必要な時間です。

[Charts] タブには、選択した API ジョブの可用性の傾向、応答時間の傾向、および応答サイズの傾向が表示されます。

セッションの詳細

各 API ジョブの実行の詳細は、[Session Details] ページで確認できます。セッションの概要には、セッションサイズ、セッション時間、および場所が表示されます。

ページの左側には、API リクエストのステータスコード、使用されたメソッド、および URL が表示されます。

右側には、API ジョブで実行された各 API の情報が表示されます。各 API の以下のパラメータの開始時間、終了時間、および期間を、このページで確認できます。

  • Wait
  • DNS
  • TCP
  • SSL および TLS
  • リクエスト日時
  • 最初のバイト
  • ダウンロード時間
  • 合計時間

API の概要

API ページには、API の概要が表示されます。API のリクエスト数、応答サイズ、および期間が表示されます。データを表示する時間範囲をフィルタ処理できます。

API の期間は、ジョブの期間とは異なります。API の期間は、特定の API の実行に必要な時間です。ただし、[Sessions] ページの下に表示される期間は、ジョブスクリプトの実行に必要な時間です。

API をクリックして、その特定の API の詳細を表示することができます。個々の API ページには、応答時間やリクエスト数などの、その API の概要が表示されます。

このページには、以下のパラメータのグラフも表示されます。

  • HTTP ステータスコードの傾向
  • 応答時間の傾向
  • 応答サイズの傾向
  • 待機時間の傾向
  • DNS 時間の傾向
  • TCP 時間の傾向
  • TLS 時間の傾向