バックエンドサービスの Error Tracking
概要
It is critical for your system’s health to consistently monitor the errors collected by Datadog. When there are many individual error events, it becomes hard to prioritize errors for troubleshooting.
Error Tracking simplifies debugging by grouping thousands of similar errors into a single issue. An issue is an aggregation of error data that provides insights such as
- How many users have been impacted
- When the error first occurred
- Which commit probably caused the error
Error Tracking enables you to:
- Track, triage, and debug fatal errors
- Group similar errors into issues, so that you can more easily identify important errors and reduce noise
- Set monitors on error tracking events, such as high error volume or new issues
- Follow issues over time to know when they first started, if they are still ongoing, and how often they occur
セットアップ
Error Tracking は、APM でサポートされているすべての言語で利用できます。追加の SDK や構成の変更は必要ありません。
オプションで、スタックトレース内でコードスニペットを見たい場合は、GitHub インテグレーション をセットアップしてください。
リポジトリの構成を始めるには、ソースコードインテグレーションのドキュメント を参照してください。
エラースパンを追跡するためにスパン属性を使用する
Datadog SDK は、インテグレーションやバックエンドサービスのソースコードの手動インスツルメンテーションを通じてエラーを収集します。エラースパンが追跡されるには、error.stack、error.message、および error.type スパン属性 を含み、完全なトレースに属している必要があります。サービス内でエラーが複数回報告された場合、最上位のエラーのみが保持されます。
Go トレーサーは、v2.7.0 バージョンでスタックトレースの報告に使用される属性を変更しました。
Go トレーサーの古いバージョン (v2.7.0 より前) では、スタックトレースは
error.stack スパン属性で報告されます。
v2.7.0 以降では、Go トレーサーはハンドリングスタックトレースを
error.handling_stack スパン属性 (
error.stack 現在利用可能な場合はスローイングスタックを保持) で報告します。
詳細は、
Error Tracking におけるスタックトレースを参照してください。
Error Tracking は、処理する各エラースパンのフィンガープリントを計算します。フィンガープリントには、エラータイプ、エラーメッセージ、およびスタックトレースを形成するフレームが使用されます。同じフィンガープリントを持つエラーはグループ化され、同じ問題に属します。詳細は、Trace Explorer のドキュメント を参照してください。
追跡されるエラーを制御する
Error Tracking はすべてのエラースパンを自動的に処理しますが、どのエラーを取り込み、どのように管理するかを制御できます。
- 包含ルールと除外ルールでエラーをフィルタリングする: サービス、環境、エラータイプなどの属性に基づいて、エラーを包含または除外するルールを定義します。データ収集の管理 を参照してください。
- レート制限を設定する: 1 日あたりのエラー取り込み量を制御してコストを管理します。データ収集の管理 を参照してください。
- 特定の問題を除外する: 繰り返し発生する対応不要な課題を
EXCLUDED としてマークし、収集を停止します。問題の状態 を参照してください。 - トレース全体をフィルタリングする: (エラーをフィルタリングするのではなく) トレースが Datadog に送信されないようにします。APM で不要なリソースを無視する を参照してください。
トラブルシューティングやデバッグを開始するための問題点を検討する
Error Tracking は、Error Tracking エクスプローラー でバックエンドのサービスから収集されたエラーを自動的に分類して表示します。主要機能の概要については、Error Tracking エクスプローラーのドキュメント を参照してください。
APM から作成される問題には、影響を受けたスパンの分布、最新の最も関連性の高いスタックトレース、スパン属性、ホストタグ、コンテナタグ、およびメトリクスが含まれます。
参考資料