Error Reporting の概要

Error Reporting は、実行中のクラウド サービスで発生したエラー イベントを集計します。エラー イベントは、アプリケーションで発生したエラーの 1 回の発生を表します。各イベントに保存されるデータには、エラーが発生した時刻、発生したコンテキスト、返されたエラー メッセージなど、エラーに関する情報が含まれます。

エラーイベントは、Error Reporting API によって報告されるか、Error Reporting でログエントリを検査して、スタック トレースなどの一般的なテキスト パターンのエラーだと推測されます。Error Reporting は、根本原因が同じであると考えられるエラーイベントをグループ化します。

Error Reporting が自動的に有効になります。

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 回の発生により置き換えられる。
  • コンパイラにより導入された方法やシンボルを削除します。

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 つのリテラル トークンのみが考慮されます。左側の例では、runtimeerrorindex です。

データのリージョン

データ所在地または影響レベル 4(IL4)の要件に従って Assured Workloads を設定すると、Error Reporting が自動的に無効になります。 Google Cloud

Cloud Logging では、ログを特定の場所に転送することで、ログをリージョン化できます。[エラーグループ] ページで、Error Reporting はログエントリを含むログバケットのリージョンに基づいてエラーグループを整理して表示します。たとえば、us-central-1 にリストされているエラー グループには、us-central-1 のログバケットに属するエラーログのみが含まれます。グローバル エラーグループには、global リージョンのログバケットの一部であるエラーログのみが含まれます。

[エラーグループ] ページに表示されるエラーグループのリージョンをフィルタするには、[リージョン] メニューから値を選択します。このメニューのデフォルト値は global です。

[エラー グループ] ページの [地域] メニュー。

次のステップ