Synthetic Testing およびモニタリングの設定
概要
Synthetic Monitoring & Continuous Testing の設定ページ で、次のトピックにアクセスして制御することができます。
デフォルトの設定
[Usage Attribution] ページでは、コストと使用状況の属性を分類するためのタグを最大 3 つまで構成できます。[Enforce tags for usage attribution on all tests] (すべてのテストで使用状況属性のタグを強制する) を選択すると、Synthetic テストの作成または編集時に、構成されたすべての使用状況帰属タグの入力をユーザーに必須にできます。この設定を有効にすると、必要なタグをすべて入力しない限り、ユーザーはテストを保存できません。
すべてのテストに対して必須のモニタータグポリシーを適用する
Synthetic Monitoring およびテスト設定 ページで [Enforce required monitor tag policies on all tests] を選択すると、ユーザー定義のモニタータグポリシーを Synthetic テストに適用することが必須になります。この設定を有効にすると、必要なタグをすべて入力しない限り、ユーザーはテストを保存できません。
- Monitors > Settings > Policies ページ でモニタータグを構成します。
- Synthetic ブラウザテストを作成し、必要なポリシータグを追加します。
デフォルトの場所
API テスト、マルチステップ API テスト、または ブラウザテスト の詳細にデフォルトの場所を選択します。
Datadog で管理されるすべての場所と、ご使用のアカウントでセットアップしたプライベートロケーションから選択できます。
場所の選択が完了したら、[Save Default Locations] をクリックします。
デフォルトのブラウザとデバイス
ブラウザテスト の詳細で、デフォルトのブラウザとデバイスの種類を選択します。
ブラウザのオプションには、Google Chrome、Mozilla Firefox、Microsoft Edge があります。デバイスのオプションには、大型ノートパソコン、タブレット、小型モバイルデバイスがあります。
ブラウザとデバイスの選択が完了したら、[Save Default Browsers & Devices] をクリックします。
API テスト、マルチステップ API テスト、または ブラウザテスト の詳細にデフォルトのタグを選択または追加します。
関連タグの選択が完了したら、[Save Default Tags] をクリックします。
デフォルトタイムアウト
API テスト の詳細に対してデフォルトのタイムアウトを追加します。
新しいタイムアウトの入力が完了したら、[Save Default Timeouts] をクリックします。
デフォルト頻度
API テスト、ブラウザテスト、または モバイルテスト の詳細に対して、デフォルトの頻度を選択または追加します。
関連タグの選択が完了したら、[Save Default Frequencies] をクリックします。
デフォルトリトライ回数
API テスト、ブラウザテスト、または モバイルテスト の詳細に対して、失敗時に再試行するデフォルト回数を選択または追加します。
デフォルトの再試行回数を入力し終えたら、[Save Default Retries] をクリックします。
デフォルトのモバイルデバイス
モバイルテスト の詳細に対して、使用するデフォルトのモバイルデバイスを選択または追加します。
デフォルトのモバイルデバイスを入力し終えたら、[Save Default Devices] をクリックします。
権限
デフォルトでは、Datadog Admin および Datadog 標準のロール を持つユーザーのみが Synthetic Monitoring Default Settings ページにアクセスできます。Default Settings ページにアクセスするには、ユーザーをこれら 2 つの デフォルトロール のいずれかにアップグレードしてください。
カスタムロール機能 を使用している場合は、synthetics_default_settings_read および synthetics_default_settings_write の権限を含むカスタムロールにユーザーを追加します。
ダウンタイム
詳細については、「スケジュールされたダウンタイム」を参照してください。
プライベートロケーション
詳しくは、「プライベートロケーションから Synthetic テストを実行する」をご覧ください。
グローバル変数
グローバル変数は、すべての Synthetic テストからアクセス可能な変数です。これらは、テストスイートのすべての シングル、マルチステップ API テスト、ブラウザテスト、および モバイルアプリテスト で使用できます。
グローバル変数を作成するには、Synthetic Monitoring & Continuous Testing > Settings ページ の [Global Variables] タブに移動し、[+ New Global Variable] をクリックします。
作成する変数のタイプを選択します。
- [Variable Name] を入力します。変数名には、大文字の英字、数字、アンダースコアのみを使用できます。この名前は、グローバル変数全体で一意である必要があります。
- オプションとして、[Description] を入力し、変数に関連付ける [Tags] を選択します。
- 変数に割り当てる Value を入力します。
- オプションとして、組み込み関数を使用して変数に値を割り当てることもできます。たとえば、
{{ alphabetic(n) }} 組み込み関数をクリックすると、[Value] フィールドにアルファベット値の例が入力されます。 - オプションとして、テスト結果上で値を非表示にするため、変数の難読化を有効にできます。
利用可能なビルトインは以下のとおりです。
- {{ numeric(n) }}
n 桁の数字列を生成します。- {{ alphabetic(n) }}
n 文字のアルファベット文字列を生成します。
{{ alphanumeric(n) }}
n: 文字の英数字文字列を生成します。
- {{ date(n unit, format) }}
- テスト開始時の UTC 日時を基準に、
n 単位を加算または減算した値を、Datadog でサポートされている形式の日付として生成します。 - {{ timestamp(n, unit) }}
- テスト開始時の UTC タイムスタンプを基準に、
n 単位を加算または減算した値を、Datadog でサポートされている単位のタイムスタンプとして生成します。 - {{ uuid }}
- バージョン 4 の UUID (Universally unique identifier) を生成します。
- {{ public-id }}
- テストのパブリック ID を挿入します。
- {{ result-id }}
- テスト実行の結果 ID を挿入します。
既存の HTTP テスト からは、関連するレスポンスヘッダーや本文をパースして変数を作成し、既存の マルチステップ API テスト からは、抽出した変数を使用して作成することができます。
[Variable Name] を入力します。変数名には、大文字の英字、数字、アンダースコアのみを使用できます。
オプションとして、[Description] を入力し、変数に関連付ける [Tags] を選択します。
変数の難読化を有効にすると、テスト結果に値が表示されません (オプション)。
変数を抽出するテストを選択します。
マルチステップ API テストを使用している場合は、テストからローカル変数を抽出します。HTTP テストを使用している場合は、レスポンスヘッダーまたはレスポンスボディから変数を抽出するよう選択します。
- Response Header から値を抽出: レスポンスのヘッダー全体を変数として使用するか、
regex でパースします。 - Response Body から値を抽出:
regex、jsonpath、xpath でレスポンスボディをパースするか、レスポンスボディ全体を使用します。 - Response Status Code から値を抽出します。
正規表現による値の抽出のほか、正規表現 を使って次のようにパースすることもできます。
- パターンの最初のインスタンスだけでなく、与えられたパターンのすべてのインスタンスにもマッチする
- マッチングパターンの大文字と小文字を区別しない
- 複数行にわたる文字列を対象とする
- 指定された正規表現パターンを Unicode として扱う
- ピリオド記号で改行文字にも一致させる
- 正規表現パターン内の指定されたインデックスからマッチ判定を開始する
- マッチしたパターンを指定された値に置換する
変数の値は抽出元のテストが実行される度に更新されます。
TOTP を生成してテストで使用するには、シークレットキーを入力する場所にグローバル変数を作成するか、認証プロバイダーからの QR コードをアップロードします。注: 現在、TOTP でサポートされているハッシュアルゴリズムは SHA1 のみです。
- [Choose variable type] で、[MFA Token] を選択します。
- [Define Variable] に、Variable Name を入力します。変数名には、大文字の英字、数字、アンダースコアのみを使用できます。
- オプションとして、[Description] を入力し、変数に関連付ける [Tags] を選択します。
- 変数の Secret Key を入力するか、QR コード画像をアップロードします。
- [+ Generate] をクリックして OTP を作成します。生成された OTP は Copy アイコンでコピーできます。
注: お使いの TOTP トークンが Google Authenticator で動作する場合、Datadog と互換性がある可能性が高いです。
一部の QR コードは特定の検証方法に限定されており、それらはプラットフォーム間で動作しない場合があります。互換性を確保するため、標準の TOTP プロトコルに従う QR コードまたはシークレットを使用してください。
ブラウザテストにおける TOTP ベースの MFA については、「ブラウザテストにおける多要素認証 (MFA) 用 TOTP」を参照してください。
Synthetic テストでパスキーを使用したユーザージャーニーを完了させるには、Virtual Authenticator のグローバル変数を作成します。このグローバル変数は、すべての Synthetic ブラウザテストでパスキーを生成および保存するために使用されます。詳細については、「ブラウザテストでのパスキーの使用」を参照してください。
Synthetic Monitoring & Continuous Testing > Settings の [Global Variables] タブに移動し、[+ New Global Variable] をクリックします。
[Choose variable type] セクションで、[Virtual Authenticator] を選択します。
[Specify variable details] セクションで、[Variable Name] を入力します。変数名には、大文字の英字、数字、アンダースコアのみを使用できます。
オプションとして、[Description] を入力し、変数に関連付ける [Tags] を選択します。これで、パスキーの生成と保存に使用される Virtual Authenticator が Datadog によって作成されます。
[Permissions settings] セクションで、組織内のロールに基づいて変数へのアクセスを制限します。ロールの詳細については、「RBAC のドキュメント」を参照してください。
作成されたグローバル変数は、すべての Synthetic テストで使用できます。グローバル変数をテストにインポートするには、[+ Variables] をクリックし、変数を追加するフィールドに {{ と入力し、対象のグローバル変数を選択します。
変数については、HTTP テスト、マルチステップ API テスト、ブラウザテスト、モバイルアプリテスト、ブラウザテストステップのドキュメント をご参照ください。
権限
デフォルトでは、Datadog Admin および Datadog 標準のロール を持つユーザーのみが Synthetic Monitoring Global Variables ページにアクセスできます。Global Variables ページへのアクセス権を取得するには、ユーザーをこれら 2 つの デフォルトロール のいずれかにアップグレードする必要があります。
カスタムロール機能 を使用している場合は、synthetics_default_settings_read および synthetics_default_settings_write の権限を含むカスタムロールにユーザーを追加します。
アクセス制限
ロール、チーム、または個々のユーザーに基づいて、テストへのアクセス権を制限するには きめ細かなアクセス制御 を使用します。
- フォームの権限セクションを開きます。
- [Edit Access] をクリックします。
- [Restrict Access] をクリックします。
- チーム、ロール、またはユーザーを選択します。
- [Add] をクリックします。
- それぞれに関連付けたいアクセスレベルを選択します。
- [Done] をクリックします。
プライベートロケーションへの Viewer アクセス権がなくても、プライベートロケーションから結果を表示できます。
| アクセスレベル | GV 値の表示 | GV メタデータの表示 | テストでの GV の使用 | GV 値/メタデータの編集 |
|---|
| アクセスなし | | | | |
| Viewer | | | | |
| Editor | | | | |
注: 変数を制限すると、他のユーザーがその変数をテストに追加して使用することができなくなります。ただし、既存のテストですでに使用されている場合、その変数名が非表示になるわけではありません。
インテグレーション設定
ブラウザテスト用の APM インテグレーション
APM インテグレーションヘッダーの追加を許可する URL を指定します。Datadog の APM インテグレーションヘッダーにより、Datadog はブラウザテストと APM を関連付けることができます。
[Value] フィールドに URL を入力して、APM ヘッダーを送信するエンドポイントを定義します。該当するエンドポイントがトレースおよび許可されていれば、ブラウザテストの結果は対応するトレースに自動的に結び付けられます。
* を使用して、より広範なドメイン名を許可することも可能です。たとえば、https://*.datadoghq.com/* を追加すると、https://datadoghq.com/ 配下のすべてのパスが許可されます。URL の追加が完了したら、[Save APM Integration Settings] をクリックします。
詳しくは、「Synthetics と APM トレースの接続」をご覧ください。
Synthetic ブラウザテストのデータ収集と RUM アプリケーション
Datadog がブラウザテストの実行から RUM データを収集できるようにするには、[Enable Synthetic RUM data collection] をクリックします。無効にすると、ブラウザテストレコーダーで RUM 設定を編集できなくなります。データ収集の有効化が完了したら、[Save RUM Data Collection] をクリックします。
Default Application ドロップダウンメニューから、ブラウザテストデータを収集する RUM アプリケーションを選択します。デフォルトのアプリケーションの指定が完了したら、[Save RUM Data Applications] をクリックします。
詳細については、「RUM を Synthetic Monitoring に接続する」を参照してください。
Synthetic モバイルアプリケーションテストのデータ収集
Datadog は、モバイルアプリケーションのテスト実行から RUM データを収集できるようにするため、RUM iOS SDK または Android SDK を設定し、.ipa または .apk ファイルにパッケージ化します。これにより RUM データが自動的にリンクされ、テスト実行のエンドツーエンドの可観測性が得られます。
参考資料