Error Reporting を使用してエラーデータを収集する

このドキュメントでは、Error Reporting でサポートされている環境の一覧と、アプリケーション開発者向けの言語固有のガイドへのリンクを示します。言語固有のクライアント ライブラリを使用するか、自動的に収集されるログエントリを使用することをおすすめします。ただし、Cloud Logging API または Error Reporting API を使用してエラーデータを書き込むこともできます。たとえば、Cloud Run を使用している場合、stderr に書き込まれる例外は自動的に Cloud Logging に送信されます。

Error Reporting は Cloud Logging 上に構築されたグローバル サービスであり、次のすべての条件が満たされている場合にログエントリを分析できます。

  • Assured Workloads が無効になっている。詳細については、Assured Workloads の概要をご覧ください。
  • ログエントリを保存するすべてのログバケットで、顧客管理の暗号鍵(CMEK)が無効になっている。ログバケットの CMEK 構成を確認する方法については、鍵の有効化を確認するをご覧ください。
  • ログバケットが次のいずれかを満たしている。
    • ログバケットがログエントリの元のプロジェクトに保存されている。
    • ログエントリがプロジェクトに転送され、そのプロジェクトがそれらのログエントリを、所有するログバケットに保存した。
CMEK が有効になっているログバケットにログエントリを保存している場合でも、Error Reporting を使用できます。ただし、Error Reporting クライアント ライブラリまたは Error Reporting API を使用する必要があります。詳細については、Error Reporting API の概要Error Reporting クライアント ライブラリをご覧ください。

Virtual Private Cloud のサポート

Error Reporting は、Virtual Private Cloud(VPC)のサポート対象のサービスです。

データの引き出しのリスクを軽減するには、VPC Service Controls を使用して、Google マネージド サービスの周囲にサービス境界を作成します。VPC Service Controls の概要、およびサービス パラメータの作成方法については、VPC Service Controls のドキュメントをご覧ください。

エラーデータを自動的に報告するように環境を構成する

環境に固有の構成の要件については、次のガイドをご覧ください。

クライアント ライブラリを使用してアプリを計測する

アプリケーションを構成してエラーレポートを送信する方法については、言語に固有の構成ガイドをご覧ください。

API を使用してエラーデータを書き込む

Error Reporting API メソッド report または Cloud Logging API メソッド write を実行することで、Google Cloud プロジェクトにエラーイベントを報告できます。

  • API キーベースの認証が必要な場合は、Error Reporting API を使用する必要があります。Error Reporting API を使用してエラーイベントを報告するには、メソッド report を実行して、メソッドのリクエスト本文を ReportedErrorEvent オブジェクトとしてフォーマットします。

    Error Reporting API を使用すると、適切な形式のエラー メッセージを含むログエントリが自動的に生成され、Cloud Logging に書き込まれます。これらのログエントリは、logName が次のようにフォーマットされたログに書き込まれます。

    projects/PROJECT_ID/clouderrorreporting.googleapis.com%2Freported_errors
    

    ログエントリは report の呼び出しによって生成されるため、Cloud Logging の取り込み費用が発生する場合があります。取り込むログエントリを制御するには、除外フィルタをご覧ください。

    Error Reporting API を使用してエラーイベントを報告する場合、このドキュメントの残りの部分は適用されません。

  • Cloud Logging API を使用する場合は、スタック トレースまたは ReportedErrorEvent オブジェクトを含むように LogEntry オブジェクトの形式を設定する必要があります。形式の要件の詳細については、ログの形式設定エラーをご覧ください。