API テストの概要
Datadog の調査レポート: サーバーレスの状態 レポート: サーバーレスの状態

API テストの概要

API テストの作成

API テストを作成すると、API エンドポイントを監視して、失敗や遅延が起きた場合にアラートを受け取ることができます。このチェックによって、アプリケーションがリクエストに応答していることや、応答時間、HTTP ステータスコード、ヘッダー、本文の内容などの定義された条件をすべて満たしていることを検証できます。Datadog API の完全なリストについては、Datadog APIを参照してください。

以下の例では、Web サイトが常に稼働し、特定の時間内で応答を返していることを確認するための API テストを作成します。

リクエストを構成する

  1. Datadog アプリケーションで、左側のメニューにある UX Monitoring にカーソルを合わせ、Synthetics Test を選択します。
  2. 右上の New Test ボタンをクリックします。
  3. API test を選択します。
  4. API テストのコンフィギュレーションを定義します。
    • 監視するエンドポイントの URL を追加します。追加する URL がない場合は、テスト用の Web アプリケーションである https://www.shopist.io/ を使用してください。
    • カスタムリクエストヘッダー、認証資格情報、本文コンテンツ、cookie を使用するには、Advanced Options を選択します。
    • タグを追加すると、テストの整理や絞り込みに役立ちます。
    • テストする場所を選択します。
    • Test URL ボタンをクリックします。

アラート条件を定義する

以上でテストが完成しました。アサーションを作成していなければ、自動的に入力が行われます。API テストを実行する際は、少なくとも 1 つのアサーションを Datadog で監視する必要があります。アサーションはパラメータ、プロパティ(任意)、コンパレーター、ターゲット値で定義されます。

以下の例は、URL テストの際に入力される 3 つのデフォルトのアサーションです。

これらのアサーションにアラート条件が定義され、カスタマイズすることができます。アサーションを追加するには、応答のプレビューで応答ヘッダーをクリックします。あるいは、New Assertion ボタンをクリックして、アサーションを手動で追加することもできます(例: bodyShop.ist を含む)。

ブラウザテストの失敗

エンドポイントが 3 分間、2 つの異なる場所でダウンした場合にのみアラートを出すように条件を設定するには、次のようにオプションを指定します。

An alert is triggered if your test fails for 3 minutes from any 2 of 13 locations

あるいは、次のオプションを使用して、場所を失敗と見なすまでの再試行回数を決めることもできます。

Retry x time before location is marked as failed

アラート条件を設定した後、アラートのメッセージを作成し、アラート通知メールを受信するサービスとチームメンバーを指定して、Save Test をクリックします。また、アラート通知の受信に Slack、PagerDuty、webhooks などのインテグレーションを使用することもできます。

テスト結果

テストを保存すると、API テスト のホームページが自動的に入力されます。このページには、プロパティ情報、応答時間とアップタイムの履歴グラフ、サンプル結果、およびすべてのイベントとテスト結果が表示されます。

失敗したテストをトラブルシューティングするには、Test Results セクションまでスクロールし、Test Results タブをクリックします。Alert のラベルが付けられた、失敗したテストをクリックし、テスト結果の詳細を表示します。失敗したアサーションと応答の詳細(ステータスコード、応答時間、関連するヘッダーおよび本文など)を確認して問題を解決してください。

Datadog の Synthetics との APM インテグレーション を使用すると、失敗したテストランから生成されたトレースを見ることで、テストランが失敗した問題の根本原因を探ることができます。