Error Reporting を使用すると、アプリケーション エラー イベントを根本原因別に集計して、クラウド サービス全体で問題を特定、優先順位付け、トリアージできます。エラーイベントは、単一のアプリケーション エラーを表し、そのタイムスタンプ、実行コンテキスト、メッセージをキャプチャします。Error Reporting は、Error Reporting API からイベントを直接収集するか、ログエントリでスタック トレースと一般的なエラー パターンをスキャンしてイベントを推測します。
パフォーマンスを最適化するため、Error Reporting は 1 時間あたり最大 1,000 件のエラーを抽出し、このしきい値に達するとカウントを推定します。イベント ボリュームが容量を超えると、Error Reporting は 1 時間あたり最大 100 件のエラーを抽出し、表示されるカウントを外挿し続けます。
Error Reporting がログエントリを分析するタイミング
Error Reporting は Cloud Logging 上に構築されたグローバル サービスであり、次のすべての条件が満たされる場合にログエントリを分析できます。
- Assured Workloads が無効になっている。詳細については、Assured Workloads の概要をご覧ください。
- ログエントリを保存するすべてのログバケットで、顧客管理の暗号鍵(CMEK)が無効になっている。Error Reporting は、CMEK が有効になっているログバケットにログエントリを保存できません。ログバケットの CMEK 構成を確認する方法については、鍵の有効化を確認するをご覧ください。
- ログバケットは次のいずれかを満たしています。
- ログバケットがログエントリの元のプロジェクトに保存されている。
- ログエントリがプロジェクトに転送され、そのプロジェクトがそれらのログエントリを、所有するログバケットに保存した。
エラー イベントのグループ化方法
Error Reporting は、ログエントリを評価してエラーイベントを特定する際に、次のデータを無視します。
- 重要度レベルが
ERRORより低い App Engine スタンダード環境によって書き込まれたログエントリ。 - ユーザーが所有していないスタック フレーム(公開ライブラリに属するスタック フレームなど)。
ログエントリがスキャンされると、Error Reporting はエラーイベントを推測する前に次の変更を行います。
- 1 つ以上のスタック フレームの繰り返しシーケンスを、そのシーケンスの 1 回の出現に置き換えます。
- コンパイラにより導入された方法やシンボルを削除する。
Error Reporting は、指定された順序でこれらのルールを適用して、エラー イベントをグループ化します。
| エラーイベント | グループ化基準 |
|---|---|
| 環境内の一般的な問題に起因するエラー イベント。
たとえば、App Engine 固有の問題: com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException Java の問題: java.util.concurrent.CancellationException |
例外タイプによりグループ化。 |
| スタック トレースがあるエラー イベント。入れ子になった例外の場合は、最も内側の例外が考慮されます。 次に例を示します。 runtime error: index out of range
package1.func1()
file1:20
package2.func2()
file2:33 |
例外タイプと上位 5 つのフレームによりグループ化。 |
| スタック トレースはないが、メッセージがあるエラー イベント。 次に例を示します。 runtime error: index out of range
func1()この例では、 |
メッセージと(存在する場合は)関数名によりグループ化。最初の 3 つのリテラル トークンのみが考慮されます。 |
データのリージョン
データ所在地または影響レベル 4(IL4)の要件に従って Assured Workloads を設定すると、Error Reporting が自動的に無効になります。 Google Cloud
Cloud Logging では、ログを特定の場所に転送することで、ログをリージョン化できます。[エラーグループ] ページで、Error Reporting はログエントリを含むログバケットのリージョンに基づいてエラーグループを整理して表示します。たとえば、us-central1 にリストされているエラーグループには、us-central1 のログバケットの一部であるエラーログのみが含まれます。グローバル エラーグループには、global リージョンのログバケットの一部であるエラーログのみが含まれます。
[エラーグループ] ページに表示されるエラーグループのリージョンをフィルタするには、[リージョン] メニューから値を選択します。このメニューのデフォルト値は global です。
![[エラー グループ] ページの [地域] メニュー。](https://docs.cloud.google.com/static/error-reporting/images/error-region.png?authuser=19&hl=ja)