Synthetics ボットの特定
Datadog の調査レポート: サーバーレスの状態 レポート: サーバーレスの状態

Synthetics ボットの特定

一部のシステムでは、正しく識別を行わないとロボットが利用できない場合があります。Datadog ロボットから分析結果を収集する際に悪影響が及ぶため、以下を利用して Datadog ロボットの検出を行ってください。

  • リクエストに含まれるヘッダー。Datadog ロボットの全リクエストにはヘッダーが付加されます。
  • Datadog の Synthetics IP 範囲
  • API とブラウザテストのカスタムヘッダー設定に用いる高度なオプションコンフィギュレーション。ローカルで API テストにクッキー、ヘッダー、または Basic 認証を、ブラウザテストにクッキーとヘッダーを追加することも可能です。
  • window._DATADOG_SYNTHETICS_BROWSER: アプリケーションコードの JavaScript 変数

ヘッダー

Datadog ロボットのヘッダーから、API およびブラウザテストに紐付くロボットを検出します。

Datadog API テストロボットには以下のヘッダーが付加されています。

Sec-Datadog: Request sent by a Datadog Synthetics API Test (https://docs.datadoghq.com/synthetics/) - public_id: <SYNTHETICS_TEST_PUBLIC_ID>

Datadog API テスト向けに発動されたすべてのリクエストには、x-datadog-origin: synthetics ヘッダーが付加されます。

Datadog ブラウザテストロボットには以下のヘッダーが付加されています。

Sec-Datadog: Request sent by a Datadog Synthetics Browser Test (https://docs.datadoghq.com/synthetics/) - public_id: <SYNTHETICS_TEST_PUBLIC_ID>

APM ヘッダー

APM が有効になっている場合、x-datadog-trace-id など、その他の APM に特有のヘッダーが API テスト向けに発動されたすべてのリクエストに付加されます。

_DATADOG_SYNTHETICS_BROWSER 変数

Datadog ロボットがアプリケーションのレンダリングを行う際、window._DATADOG_SYNTHETICS_BROWSER 変数が true に設定されます。分析データからロボットのアクションを削除する場合は、以下のテストで分析ツールのコードをラップしてください。

if (window._DATADOG_SYNTHETICS_BROWSER === undefined) {
  initializeAnalytics()
}

その他の参考資料