Synthetic モニタリングのトラブルシューティング

Synthetic モニタリングのトラブルシューティング

Datadog Synthetic モニタリングのセットアップや構成で問題が発生した場合は、こちらの情報を参考にしてトラブルシューティングをお試しください。問題が解決されない場合は、Datadog のサポートチームまでお問い合わせください。

ブラウザテスト

記録

iframe でウェブサイトがロードされず、ウェブサイトをポップアップで開いてもステップを記録できない

Datadog 拡張機能をダウンロードすると、ブラウザテストのレコーダーの右側にある iframe でウェブサイトを確認できなくなります。さらに、ウェブサイトを iframe およびポップアップで開いても、ステップを記録できなくなります。

このような場合は、On specific sites セクションでウェブサイトを指定するか、On all sites にトグルボタンを変更して、意図したウェブサイトのデータの読み取りおよび変更の許可を Datadog 拡張機能に付与してください。

レコーダーにログインページが表示されません。なぜですか?

デフォルトでは、レコーダーの iframe/ポップアップは独自のブラウザを使用します。これは、すでにアプリケーションにログインしている場合、iframe/ポップアップがログイン後のページを直接表示する可能性があるため、最初にログアウトせずにログイン手順を記録できないということです。

アプリケーションからログアウトせずに手順を記録できるようにするには、レコーダーのシークレットモードを利用します。

シークレットモードでポップアップを開くと、独自のブラウザのメインセッションとユーザーデータから完全に分離されたセッションで、テストコンフィギュレーションに設定された開始 URL からテストの記録を開始できます。

新しく開いたシークレットポップアップは、以前のブラウザ履歴 (Cookie やローカルデータなど) をすべて無視します。その結果、アカウントから自動的にログアウトされ、初めてウェブサイトにアクセスした場合と同じようにログイン手順の記録を開始できます。

テスト結果

Mobile Small またはタブレットブラウザテストの結果が失敗し続けます

ウェブサイトが レスポンシブ手法を使用している場合、その DOM はテストを実行するデバイスに応じて大きく異なる可能性があります。Laptop Large から実行する場合特定の DOM を使用する場合もあり、Tablet または Mobile Small から実行する場合とは全く別のアーキテクチャとなる可能性があります。 これは、Laptop Large ビューポートから記録されるステップが Mobile Small からアクセスする同じウェブサイトに適用で着ない可能性があり、Mobile Small のテスト結果が失敗する原因となります。

このような場合、Datadog では記録されたステップがランタイム時にテストが設定されたビューポートと一致する、 個別の Mobile Small または Tablet 固有のテスト の作成を推奨しています。 Mobile Small または Tablet ビューポートでステップを記録するには、記録開始ボタンを押す前にレコーダードロップダウンでMobile Small または Tablet を選択します。

さらに、Datadog のテストブラウザはヘッドレスで実行されるため、ブラウザテストがサポートしない機能があります。たとえば、ブラウザテストは touch をサポートしないため、ウェブサイトがモバイルデザインで表示されるべきかを touch で検出することはできません。

ブラウザテストに None or multiple elements detected のステップ警告が表示される

ブラウザテストのステップに None or multiple elements detected のステップ警告が表示されています。

これは、このステップに定義されたユーザーロケーターが複数要素を対象としているか、何も対象としていないことを意味するもので、ブラウザテストでテストされるべき要素が不明になってしまっています。
修正するには、記録を編集し、問題のあるステップの高度な設定を開いてステップでテストしているページへ移動し、Test をクリックします。これにより、配置された要素をハイライトまたはエラーメッセージを印刷できます。次に、ユーザーロケーターをページの単一要素と一致するよう修正します。

API およびブラウザのテスト

不正なエラー

Synthetics テストの 1 つが 401 をスローしている場合は、エンドポイントで認証できないことを意味している可能性が高いです。そのエンドポイント (Datadog 外) での認証に使用するメソッドを使用し、Synthetic テストを構成するときにそれを複製する必要があります。

  • エンドポイントはヘッダーベース認証を使用していますか?

    • 基本認証: HTTP またはブラウザテスト高度なオプションで関連する認証情報を指定します。
    • トークンベース認証: 最初の HTTP テストでトークンを抽出し、その最初のテストの応答をパースしてグローバル変数を作成し、その変数を認証トークンを必要とする 2 回目の HTTP またはブラウザテストに再挿入します。
    • セッションベース認証: HTTP またはブラウザテスト高度なオプションに必要なヘッダーまたはクッキーを追加します。
  • このエンドポイントは認証用のクエリパラメーターを使用していますか (たとえば、URL パラメーターに特定の API キーを追加する必要がありますか)?

  • このエンドポイントは IP ベース認証を使用していますか?その場合は、Synthetics テストの元となる IP の一部またはすべてを許可する必要があります。

Forbidden エラー

Synthetic テストによって返された 403 Forbidden エラーが確認された場合は、Sec-Datadog ヘッダーを含むリクエストを Web サーバーがブロックまたはフィルタリングした結果である可能性があります。このヘッダーは、Datadog が開始する各 Synthetic リクエストに追加され、トラフィックのソースを識別し、Datadog サポートが特定のテスト実行を識別するのを支援します。

さらに、Datadog Synthetics のモニタリング IP 範囲がファイアウォールによってトラフィックソースとして許可されていることを確認する必要がある場合もあります。

通知の欠落

デフォルト設定では、Synthetic テストは 再通知しません。これは、トランジション(たとえば、テストがアラート状態になる、または直近のアラートから回復するなど)が生成された後に通知ハンドル(メールアドレスや Slack ハンドルなど)を追加しても、そのトランジションの通知は送信されないことを意味します。次のトランジションから通知が送信されます。

その他の参考資料