概要

Synthetic テストを作成すると、Datadog は自動的に関連付けられたモニターを作成します。Synthetic テストモニターがアラートを発したときにNotificationsを設定できます。

Synthetic テストモニターの作成

アプリケーションの Synthetic Monitoring セクション内でのみ、Synthetic テストモニター を作成できます。一般的な Monitors ページは、メトリクス、ログ、プロセスなどに基づく他のタイプのモニターを作成するために使用されます。

新規または既存の Synthetic テストの Monitor セクションでモニターを作成し、Synthetic Monitoring テストが失敗したときにNotificationsを送信します。モニターは、作成した Synthetic テストに関連付けられ、Synthetic テスト構成で設定されたアラート条件にリンクされます。モニターの属性変数やタグ変数を使用するには、メトリクスモニターを作成してください。

Synthetic Monitoring のモニターメッセージは、以下で構成されています。

  • Title: モニターの名前。
  • Custom message: モニター作成時に記述する任意のテキスト。
  • Auto-appended summary: 失敗した場所、エラーメッセージ、テストへのリンクが含まれます。
  • Footer: 最後に失敗したテスト実行の詳細が含まれます。

Synthetic テストでのモニターの作成

Synthetic モニターを表示および管理する

  • モニター名をカスタマイズして、Manage Monitors ページで検索できるようにします。Synthetic テストモニターを見つけるには、検索バーで type:synthetics をフィルタリングします。モニターの条件付き変数を使用して、テストの状態に基づいて通知メッセージを特徴付けることができます。

  • Synthetic テストモニターは、メール、Slack、PagerDuty、Microsoft Teams などの通知チャンネルとインテグレーションしています。詳しくは、Notificationsを参照してください。

  • 複数の Notifications レイヤーがある場合 (例えば、Synthetic テストがアラートを発している時間が長いほど多くのチームに通知する)、Datadog は Synthetic モニターで再通知を有効にすることを推奨しています。

自動的に追加されるタグ

追加するカスタムタグに加えて、Datadog はテストの構成に基づいて、Synthetic テストモニターに以下のタグを追加します。これらのタグを使用して、Manage Monitors ページまたは Synthetic Monitoring テストリストで検索およびフィルタリングを行います。

タグキー利用可能な値タグがキャプチャするもの
check_typeapi, browser, api-ssl, api-dns, api-tcp, api-icmp, api-grpc, api-udp, api-websocket, api-multi, mobileテストタイプ、および該当する場合はそのサブタイプです。簡潔にするため、http サブタイプは api テストでは省略されます。
check_statuslive, pausedテストがアクティブか一時停止中かを示します。
probe_dcaws:us-east-1, aws:eu-west-1、およびその他の管理対象またはプライベートロケーションテストが実行されるロケーションです。マルチロケーションテストには、割り当てられたロケーションごとに 1 つの probe_dc タグがあります。
ci_execution_ruleblocking, non_blockingテストの CI/CD 実行ルールです。このタグは、テストが CI/CD パイプラインの品質ゲートとして使用される際に追加されます。

これらのタグはテストを編集すると自動的に更新されるため、テストのロケーションが移動したり、一時停止されたり、CI/CD 構成が変更されたりしても、検索の正確性が維持されます。tag ファセットを使用してタグを検索し、完全な key:value ペアを引用符で囲みます。例えば、次のようにします。

  • type:synthetics tag:"check_status:live" は、すべてのアクティブな Synthetic テストモニターを検索します。
  • type:synthetics tag:("probe_dc:aws:us-east-1" AND "probe_dc:aws:ap-northeast-1")両方のロケーションから実行されているテストを検索します。
  • type:synthetics tag:"ci_execution_rule:blocking"失敗した場合に CI/CD パイプラインをブロックするように構成されたテストを検索します。

モニターのNotificationsをカスタマイズする

インシデント管理戦略によっては、Synthetic テストがアラートを送信する際に複数のTeamsを関与させたい場合があります。最初のアラートの後の通知でのみチームBに通知するには、チームBへの通知を で囲みます。{{#is_renotify}} and {{/is_renotify}.条件付き変数 を使用して、モニター属性に基づいて通知メッセージをさらに詳細化します。

アラートを送信するモニターが再通知を行うまでの時間を選択します。

再通知を有効にするには、Enable renotification を切り替えて、ドロップダウンメニューから時間間隔を選択します。

Synthetic Monitoring のNotificationsがテスト結果を評価してアラートをトリガーする方法の詳細については、Synthetic Monitor のアラートについて を参照してください。

高度なNotifications

Synthetic モニターを使用して、Synthetic Monitoring テストが失敗したときに、より詳細なNotificationsを送信するように強化します。以下の機能が利用可能です:

事前入力されたモニターメッセージ
事前入力されたモニターメッセージは、Synthetic テストアラートのための構造化された出発点を提供します。各メッセージには、標準化されたタイトル、要約、およびテストメタデータを含むフッターが含まれており、一目でアラートを理解しやすくなっています。
テンプレート変数
テンプレート変数を使用すると、モニター通知にテスト固有のデータを動的に挿入できます。これらの変数は、synthetics.attributesオブジェクトから取得されます。
高度な使用方法
高度な使用法には、より深いテストの洞察を引き出したり、Handlebars テンプレートを使用して複雑なメッセージを構造化する技術が含まれます。
条件付きアラート
条件付きアラートを使用すると、特定のテスト結果や失敗条件に基づいてモニター通知の内容を変更できます。

詳しくは、Synthetic Monitoring Notifications をご覧ください。

Bits Investigation を開始する

Synthetic Browser テストまたは API テストモニターがアラート状態になったときに、Bits Investigation を起動して根本原因を特定できます。Bits Investigation は、テスト結果、トレース、ログ、メトリクスを分析して根本原因を特定し、失敗がリグレッションによるものか、設定ミスによるものかを判定します。また、Synthetic モニターで Auto-Investigate を切り替えて、アラート発生時に自動的に調査を開始することもできます。

ベストプラクティス

  • メッセージの欠落を防ぐため、必ずデフォルトの @notification(条件外)を含めてください。
  • 復旧のために一貫したルーティングが必要となる PagerDuty などのページングツールでは、複雑なロジックの使用を避けてください。
  • 条件付きロジックを使用して、アラートテキストの上書き、優先度の変更、またはTeams間でのNotificationsの分割を行います。

参考資料