Watchdog Insights

概要

インシデントの調査には、試行錯誤が必要です。特定の分野に精通したエンジニアは、その経験をもとに、まずどこに潜在的な問題があるのかを知っています。Watchdog Insights を使うことで、経験の浅いエンジニアも含め、すべてのエンジニアが最も重要なデータに注意を払い、インシデント調査を加速させることができます。

Datadog の大半を通して、Watchdog は以下の 2 種類のインサイトを返します。

  • 異常: Watchdog が組織のデータをスキャンして見つけた、アクティブな検索クエリに一致するすべての事前計算された Watchdog アラートWatchdog アラートエクスプローラーで全リストにアクセスできます。
  • Outliers: 一部のイベント タイプで特定のタグが異常に頻出する (たとえば errors) ことや、連続メトリクスの値を押し上げる (たとえば latency) タグを指します。 Outliers は、アクティブなクエリと時間範囲に一致するデータをもとに動的に算出されます。
Watchdog Insights のバナーと 5 つのログ異常が表示されたログエクスプローラー

インサイトの確認

Watchdog Insights のカルーセルは、以下の製品ページの上部付近にあります。

カルーセルを展開すると、概要が表示されます。最も優先度の高いインサイト (Insight typeStateStatusStart timeAnomaly type に基づく) が左側に表示されます。

Log Explorer の Watchdog Insights カルーセル。 web-store サービスの新規エラー ログ、および product-recommendation サービスで発生した 2 件のエラー ログのスパイクという 3 つの異常を表示している

View all をクリックするとパネルが展開されます。右側からサイドパネルが開き、Watchdog Insights の垂直リストが表示されます。各エントリには詳細表示があり、サマリーカードより多くの情報が表示されます。

すべての外れ値には、インタラクションが埋め込まれ、トラブルシューティング情報が記載されたサイドパネルが付属しています。各インサイトのインタラクションとサイドパネルは、Watchdog Insights タイプによって異なります。

Filter on Insight クエリ

現在の表示を Watchdog Insight に合わせて絞り込むには、Insight サマリー カードの右上にカーソルを合わせます。 2 つのアイコンが表示されるので、ツールチップが Filter on Insight になっている逆三角形のアイコンをクリックします。ページが更新され、該当する Insight に対応するエントリーの一覧が表示されます。 Note: Watchdog Insights でフィルタリングすると、確認対象のスコープが自動的に変わります。その結果、外れ値の Insight を選ぶと、それがベースラインとして扱われるため表示されなくなります。

インサイトコンテキストでのエクスプローラーのフィルター

外れ値を共有する

特定の外れ値を共有するには、Insight パネルでその外れ値をクリックして詳細のサイド パネルを開きます。続いて、詳細パネル上部の Copy Link ボタンをクリックします。

リンクをコピーする手順を示す Outlier サイド パネル

外れ値へのリンクは、元となるデータの保持期間が過ぎると失効します。たとえば、外れ値の算出に使ったログの保持期間が 15 日の場合、その外れ値へのリンクもログと同じく 15 日で失効します。

Watchdog Explains でグラフの Insight を調べる

問題のタグ (この例では researcher-query) を除外し、元の状態と、問題のタグを除外した場合にグラフがどう見えるかを比較する

Datadog は、メトリクス、トレース、ログなど、アプリケーションパフォーマンスに関するさまざまなデータを収集し、「何が」「どのように」「なぜ」起こっているのかを明らかにします。Watchdog Explains は、レイテンシー、エラー率、リクエスト数の推移などの大まかなトレンドを分析し、重要なシグナルを検出します。これらのグラフでスパイクが確認された際、Watchdog Explains は次のような重要な疑問を迅速に解明する手助けをします。

  • このスパイクの原因は?
  • この異常は全体に影響しているのか、それとも単独の事象なのか?

詳細は Watchdog Explains のドキュメントを参照してください。

外れ値タイプ

エラー外れ値

エラー外れ値は、現在のクエリに一致するエラーの特性を含むファセットタグまたは属性などのフィールドを表示します。エラー間で統計的に過大評価されている key:value ペアは、問題の根本原因へのヒントになります。

典型的なエラー外れ値の例として、env:stagingdocker_image:acme:3.1http.useragent_details.browser.family:curl が挙げられます。

バナーカードビューでは、次のことがわかります。

  • フィールド名
  • フィールドが寄与するエラーと全体的なログの割合
エラー全体の 73.3% を占める赤いバーと、8.31% を占める青いバーを示すエラー外れ値カード

フルサイドパネルビューでは、次のことがわかります。

  • フィールドを含むエラーログの時系列
  • エラーログに関連付けられることが多いタグ
  • ログパターンの包括的なリスト
エラー外れ値サイドパネル

APM の外れ値は、Watchdog Insights カルーセルが利用可能なすべての APM ページで利用できます。

エラー外れ値

エラー外れ値は、現在のクエリに一致するエラーの特性を含むタグなどのフィールドを表示します。エラー間で統計的に過大評価されている key:value ペアは、問題の根本原因へのヒントになります。

典型的なエラー外れ値には、env:stagingavailability_zone:us-east-1acluster_name:chinookversion:v123456 などがあります。

バナーカードビューでは、次のことがわかります。

  • フィールド名
  • フィールドが寄与するエラーと全体的なトレースの割合
エラー全体の 24.2% を占める赤いバーと、12.1% を占める青いバーを示すエラー外れ値カード

フルサイドパネルビューでは、次のことがわかります。

  • フィールドを含むエラートレースの時系列
  • エラートレースに関連付けられることが多いタグ
  • 関連するエラー追跡の問題と失敗スパンの包括的なリスト
エラー外れ値サイドパネル

レイテンシー外れ値

レイテンシー外れ値は、現在の検索クエリに一致する、パフォーマンスのボトルネックに関連付けられているタグなどのフィールドを表示します。ベースラインよりもパフォーマンスが悪い key:value ペアは、APM スパンのサブセット間のパフォーマンスのボトルネックへのヒントになります。

レイテンシー外れ値は、スパン期間に対して計算されます。

バナーカードビューでは、次のことがわかります。

  • フィールド名

  • タグを含むスパンのレイテンシー分布と残りのデータのベースライン

  • 外れ値タグの対象レイテンシー値のパーセンタイルと、残りのデータのベースラインとの差

    レイテンシー外れ値バナーカード

フルサイドパネルでは、タグとベースラインのレイテンシー分布グラフを見ることができます。X 軸には p50p75p99max の増分と、フィールドを含む APM イベントのリストが表示されます。

レイテンシー外れ値フルサイドパネルビュー

Lock Contention の外れ値

バナーカードビューでは、次のことがわかります。

  • 影響を受けるサービスの名前
  • 影響を受けるスレッドの数
  • 潜在的な CPU の節約 (および推定コスト節約)
Lock Contention に関する Profiling Insight

詳細のサイド パネルでは Lock Contention を解消するための手順を確認できます。

Lock Contention の外れ値への対処方法に関する情報がすべて表示されたサイド パネル

ガベージコレクション外れ値

バナーカードビューでは、次のことがわかります。

  • 影響を受けるサービスの名前
  • ガベージ コレクションの実行に使用された CPU 時間
ガベージコレクションに関するプロファイリングのインサイト

フルサイドパネルでは、ガベージコレクションをより適切に構成して CPU 時間を解放する方法を確認できます。

Garbage Collection の外れ値への対処方法に関する情報がすべて表示されたサイド パネル

正規表現コンパイル外れ値

バナーカードビューでは、次のことがわかります。

  • 影響を受けるサービスの名前
  • 正規表現のコンパイルに費やされた CPU 時間
正規表現コンパイルに関するプロファイリングのインサイト

フルサイドパネルでは、正規表現のコンパイル時間を改善する方法や、コード内で改善できる関数の例を確認できます。

Regex Compilation の外れ値への対処方法に関する情報がすべて表示されたサイド パネル

Database Monitoring では、Watchdog は以下のメトリクスに関するインサイトを表面化します。

  • CPU
  • Commits
  • IO
  • Background
  • Concurrency
  • Idle

インサイトカルーセルを使用して、1 つまたは複数の外れ値の影響を受けたデータベースを発見します。

インサイトでデータベースをフィルターするカルーセル

その後、データベース上にオーバーレイが表示され、ピンクのピル型ラベルで各 Insight がハイライトされます。あわせて、何が起きたのかの追加情報も表示されます。

Watchdog インサイトがデータベースにオーバーレイされ、何が起きているのかがハイライトされています

エラー外れ値

エラー外れ値は、現在の検索クエリに一致するエラーの特徴を含むファセット化されたタグまたは属性のようなフィールドを表示します。エラーの中で統計的に多く出現する key:value のペアは、問題の根本的な原因を探るヒントを与えてくれます。エラーの外れ値の典型的な例としては、env:stagingversion:1234browser.name:Chrome などがあります。

バナーカードビューでは、次のことがわかります。

  • フィールド名
  • フィールドが寄与する総エラーと全体的な RUM イベントの割合
  • 関連タグ

フルサイドパネルでは、そのフィールドを含む RUM エラーの総数に関する時系列グラフと、影響度を示す円グラフおよびそのフィールドを含む RUM イベントのリストが表示されます。

エラー外れ値フルサイドパネル

レイテンシー外れ値

レイテンシー外れ値は、現在の検索クエリに一致する、パフォーマンスのボトルネックに関連付けられているファセットタグまたは属性などのフィールドを表示します。ベースラインよりもパフォーマンスが悪い key:value ペアは、実際のユーザーのサブセット間のパフォーマンスのボトルネックへのヒントになります。

レイテンシー外れ値は、First Contentful Paint、First Input Delay、Cumulative Layout Shift などの Core Web Vitals、および Loading Time に対して計算されます。詳しくは、ページのパフォーマンスの監視をご覧ください。

バナーカードビューでは、次のことがわかります。

  • フィールド名
  • フィールドと残りのデータのベースラインを含むパフォーマンスメトリクス値

フルサイドパネルでは、パフォーマンスメトリクスに関する時系列グラフが表示されます。X 軸には p50p75p99max の増分と、フィールドを含む RUM イベントのリストが表示されます。

レイテンシー外れ値フルサイドパネルビュー

エラー外れ値

Synthetic Monitoring の Error Outliers は、想定外の挙動やパフォーマンスの逸脱を示します。これらの異常から、あなたの Synthetic Browser Tests における信頼性の問題を把握できます。 Error Outliers を特定することで、失敗したテスト実行で発生したエラーの原因調査がしやすくなり、デバッグを効率化して Mean Time To Resolution (MTTR) を短縮できます。

失敗したテスト実行を確認すると、失敗したテストに紐づく Error Outliers の数が表示されます。

失敗したブラウザ テストの実行の概要。テスト ステップの詳細と、失敗したテスト ステップの Error Outlier として Watchdog が特定したエラー メッセージが表示されている

Error Outlier のメッセージを確認するには、外れ値をクリックします。続いて、テスト ステップのサイド パネルで Errors & Warnings タブをクリックします。

Watchdog が失敗したテスト ステップの Error Outlier として特定したエラー メッセージ

サーバーレスインフラストラクチャーに対して、Watchdog は以下のようなインサイトを提示します。

  • Cold Start Ratio Up/Down
  • Error Invocation Ratio Up/Down
  • Memory Usage Up/Down
  • OOM Ratio Up/Down
  • Estimated Cost Up/Down
  • Init Duration Up/Down
  • Runtime Duration Up/Down

インサイトカルーセルを使用して、1 つまたは複数の外れ値の影響を受けたサーバーレス関数を発見します。

インサイトでサーバーレス関数をフィルターするファセット

その後、関数上にオーバーレイが表示され、ピンクのピル型ラベルで各 Insight がハイライトされます。あわせて、何が起きたのかの追加情報も表示されます。

Watchdog インサイトが関数にオーバーレイされ、何が起きているのかがハイライトされています

プロセスエクスプローラーの場合、Watchdog インサイトカルーセルには、プロセスエクスプローラーの現在のコンテキストのすべてのプロセスの異常が反映されます。

Kubernetes エクスプローラーの場合、Watchdog インサイトカルーセルには、Kubernetes エクスプローラーの現在のコンテキストのすべての Kubernetes の異常が反映されます。

参考資料