デプロイメント不良の自動検出

概要

デプロイメント不良の自動検出により、欠陥のあるコードのデプロイメントを数分以内に検出し、平均検出時間 (MTTD) を短縮します。コードが本番環境にデプロイされるたびに、Watchdog は新しいコードバージョンのパフォーマンスを以前のバージョンと比較し、デプロイで発生した新しいタイプのエラーやエラー率の上昇を検出します。Watchdog が新しいデプロイメントに欠陥があると判断した場合、影響を受けるサービスの詳細が APM サービスページと、影響を受けるエンドポイントのリソースページに表示されます。

Watchdog が現在アクティブなバージョンに不具合があることを検出した場合、サービス詳細ページの上部にピンク色のバナーが表示されます。これは下のスクリーンショットで確認できます。画面下部の Deployments テーブルは、そのサービスのデプロイメントの履歴を表示しており、Watchdog が過去に不具合を発見したバージョンも示しています。

APM サービスページ。上部にピンク色のバナー、下部にデプロイメントのテーブルが表示されます

バナーの View Details をクリックすると、欠陥のあるデプロイメントに関する追加情報が表示されたスライドアウトパネルが開きます。このビューには、欠陥のあるデプロイメントに関する次のような詳細情報が表示されます。

  • エラー率の上昇に関するグラフ
  • 新たに検出されたエラーの種類
  • 影響を受けたエンドポイント
  • HTTP ステータスコード

このビューは、Deployments テーブルの任意のバージョンをクリックしてアクセスすることもできます。以下のスクリーンショットはこの詳細表示の例で、エラータイプ db.utils.OperationalError/inventory エンドポイントに影響し、HTTP ステータスコード (500) が表示されていることを示しています。

欠陥のあるデプロイメントの追跡詳細パネル

欠陥のあるデプロイメントが検出されると、Watchdog はこれをイベントエクスプローラーにイベントとして追加します。このようなイベントで自動的に通知されるようにモニターを設定することができます。これを行うには、New Monitors ページに移動して、Events を選択し、モニターを定義する検索クエリに tags:deployment_analysis を含めます。

また、Suggested Monitors ボタンをクリックし、次に Enable をクリックすることでもモニターを有効にすることができます。Suggested Monitors ボタンは、サービスにまだモニターが構成されていない場合のみ利用可能です。このボタンがない場合は、上記の手順で New Monitors のページからモニターを作成してください。

各デプロイは繰り返し分析されます。同じ欠陥のあるデプロイの再アラートを防ぐために、Datadog ではモニターの回復時間を 60 分に設定することを推奨しています。

APM サービスページと Suggested Monitors ボタン

エラーがあるにもかかわらず、新しいデプロイメントに欠陥のフラグが立たないのはなぜですか?

Watchdog は、新しいデプロイメントがエラーのもっともな原因であるかどうかを判断しようとします。以下の理由の組み合わせにより、そうでないと判断されることがあります。

  • この種のエラーは、以前のバージョンや最近のデプロイメントで発生したものであり、新しいものではないようです。
  • この種のエラーは少なく、一過性のものであり、新しいバージョンのまま時間が経つと消えてしまいます。
  • 最近の履歴の中に十分な過去のデプロイメントがなかったため、Watchdog が分析のベースラインを確立することができませんでした。
  • 新しいバージョンのエラー率は、以前のバージョンに比べて有意に高いわけではありませんでした。
  • このエラーパターンは、たとえ新しいコードバージョンに欠陥がなくても、サービスをデプロイする際に一般的です。