DNS テストを使用すると、任意のネームサーバーを使用して、DNS レコードの解決可能性とルックアップ時間をプロアクティブに監視できます。解決が予想外に遅い場合、または DNS サーバーが予想外の A、AAAA、CNAME、TXT、または MX エントリで応答した場合、Datadog は失敗の詳細を含むアラートを送信し、問題の根本原因をすばやく特定、修正できるようにします。
DNS テストは、ネットワークの外部または内部からのテストの実行の好みに応じて、管理ロケーションとプライベートロケーションの両方から実行することができます。DNS テストは、スケジュール、オンデマンド、または CI/CD パイプライン内で直接実行することができます。
構成
DNS テストの作成を選択した後、テストのリクエストを定義します。
リクエストを定義する
テストでクエリするドメインを指定します (例: www.example.com)。
使用する DNS サーバー を指定します(任意)。ドメイン名または IP アドレスを使用できます。指定されていない場合、DNS テストは 8.8.8.8 を使用して解決を実行し、 1.1.1.1 と内部 AWS DNS サーバーにフォールバックします。
DNS サーバーの ポート を指定します(任意)。指定されていない場合、DNS サーバーのポートはデフォルトで 53 になります。
Test URL をクリックして、リクエストのコンフィギュレーションをテストします。画面の右側に応答プレビューが表示されます。
スニペット
When setting up a new Synthetic Monitoring API test, use snippets to automatically fill in basic auth, performance, and regions, rather than selecting these options manually. The following snippets are available:
Basic Auth: Automatically test your APIs using pre-populated basic auth headers, JavaScript, bearer token, and API/app key auth variables.
Performance: Automatically configure a test with the shortest frequency (one minute), perform a gRPC health check, and test for overall response time latency with a breakdown of network timing.
Regions: Automatically test your API endpoint against a location in each of the three primary geographic regions (AMER, APAC and EMEA).
アサーションを定義する
アサーションは、期待されるテスト結果が何であるかを定義します。Test URL をクリックした後、response time の基本的なアサーションと利用可能なレコードが追加されます。テストで監視するには、少なくとも 1 つのアサーションを定義する必要があります。
To create a local variable, click Create a Local Variable. You can select one of the following available builtins to add to your variable string:
{{ numeric(n) }}
Generates a numeric string with n digits.
{{ alphabetic(n) }}
Generates an alphabetic string with n letters.
{{ alphanumeric(n) }}
Generates an alphanumeric string with n characters.
{{ date(n unit, format) }}
Generates a date in one of Datadog’s accepted formats with a value corresponding to the UTC date the test is initiated at + or - n units.
{{ timestamp(n, unit) }}
Generates a timestamp in one of Datadog’s accepted units with a value corresponding to the UTC timestamp the test is initiated at +/- n units.
{{ uuid }}
Generates a version 4 universally unique identifier (UUID).
{{ public-id }}
Injects the Public ID of your test.
{{ result-id }}
Injects the Result ID of your test run.
To obfuscate local variable values in test results, select Hide and obfuscate variable value. Once you have defined the variable string, click Add Variable.
テスト URL に対応する DNS エントリが見つかりませんでした。原因としては、テスト URL の誤構成や DNS エントリの誤構成が考えられます。
INVALID_REQUEST
テストのコンフィギュレーションが無効です (URL に入力ミスがあるなど)。
TIMEOUT
リクエストを一定時間内に完了できなかったことを示します。TIMEOUT には 2 種類あります。
TIMEOUT: The request couldn't be completed in a reasonable time. は、リクエストの持続時間がテスト定義のタイムアウト (デフォルトは 60 秒に設定されています) に当たったことを示します。
各リクエストについて、ネットワークウォーターフォールに表示されるのは、リクエストの完了したステージのみです。例えば、Total response time だけが表示されている場合、DNS の解決中にタイムアウトが発生したことになります。
TIMEOUT: Overall test execution couldn't be completed in a reasonable time. は、テスト時間 (リクエスト+アサーション) が最大時間 (60.5s) に達したことを示しています。
権限
デフォルトでは、Datadog 管理者および Datadog 標準ロールを持つユーザーのみが、Synthetic DNS テストを作成、編集、削除できます。Synthetic DNS テストの作成、編集、削除アクセスを取得するには、ユーザーをこれら 2 つのデフォルトのロールのいずれかにアップグレードします。