C# アプリケーションから Error Reporting にエラーイベントを送信するには、 ライブラリの Google.Cloud.Diagnostics セット を使用します。次の場合は、ライブラリの Google.Cloud.Diagnostics セットを使用してエラーグループを作成します。
- ログエントリを含むログバケットに、顧客管理の暗号鍵(CMEK)がある。
- ログバケットが次のいずれかの条件を満たしている。
- ログバケットがログエントリの元のプロジェクトに保存されている。
- ログエントリがプロジェクトに転送され、そのプロジェクトがそれらのログエントリを、所有するログバケットに保存した。
- カスタム エラーイベントを報告したい。
Error Reporting は、Cloud Run functions、App Engine、Compute Engine、Google Kubernetes Engine などの一部の Google Cloud サービスに統合されています。Error Reporting には、こうしたサービスで実行されるアプリケーションによって Cloud Logging に記録されたエラーイベントが表示されます。詳細については、このページの Google Cloudでの実行をご覧ください。
Logging を使用して、エラーイベントを Error Reporting に送信することもできます。データ形式の要件については、エラーイベントを報告するようにログエントリの形式を設定するをご覧ください。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Error Reporting API .
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Error Reporting API .
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
クライアント ライブラリをインストールする
ライブラリの Google.Cloud.Diagnostics セットを使用すると、ほぼすべての場所で動作している C# アプリケーションから報告されるエラー イベントをモニタリングして表示できます。
-
ASP.NET Core 3 以降を対象とするアプリケーションの場合は、
Google.Cloud.Diagnostics.AspNetCore3ライブラリを使用します。このライブラリは NuGet からインストールできます。 -
ASP.NET Core の以前のバージョンを対象とするアプリケーションの場合は、
Google.Cloud.Diagnostics.AspNetCoreライブラリを使用します。このライブラリは NuGet からインストールできます。 -
ASP.NET Core フレームワーク以外を対象とするアプリケーションでは、
Google.Cloud.Diagnostics.Commonライブラリを使用します。このライブラリは NuGet からインストールできます。
インストールの詳細については、ライブラリの Google.Cloud.Diagnostics セットのドキュメントをご覧ください。公開バグトラッカーを使用して問題を報告することもできます。
クライアント ライブラリを設定する
詳細と例については、次のリソースをご覧ください。
Google.Cloud.Diagnostics.AspNetCore3
ドキュメント
Google.Cloud.Diagnostics.AspNetCore
ドキュメント
Google.Cloud.Diagnostics.Common
ドキュメント
Google Cloudでアプリを実行する
projects.events.report を使用してエラーグループを作成するには、サービス アカウントに Error Reporting 書き込みロール(roles/errorreporting.writer)が必要です。
一部の Google Cloud サービスでは、Error Reporting 書き込みロール(roles/errorreporting.writer)が適切なサービス アカウントに自動的に付与されます。ただし、一部のサービスでは、このロールを適切なサービス アカウントに付与する必要があります。
Cloud Run と Cloud Run functions
Cloud Run で使用されるデフォルトのサービス アカウントには、Error Reporting 書き込みロール(roles/errorreporting.writer)の権限があります。
ライブラリの Google.Cloud.Diagnostics セットを使用できます。認証情報を明示的に提供する必要はありません。
Cloud Run は、自動的に Error Reporting を使用するように構成されています。JavaScript の未処理の例外は、Logging に表示され、ライブラリの Google.Cloud.Diagnostics セットを使用しなくても、Error Reporting によって処理されます。
App Engine フレキシブル環境
App Engine では、デフォルトのサービス アカウントに Error Reporting 書き込みロール(roles/errorreporting.writer)が自動的に付与されます。
ライブラリの Google.Cloud.Diagnostics セットを使用できます。認証情報を明示的に提供する必要はありません。
App Engine フレキシブル環境のアプリケーションでは、Error Reporting が自動的に有効になります。特別な設定は必要ありません。App Engine から stderr に書き込まれたメッセージは分析され、メッセージにスタック トレースが含まれていることが検出されると、Error Reporting によってそのメッセージが表示されます。
Google Cloud コンソールでアプリケーションのエラーと例外データを表示する手順については、エラーの表示をご覧ください。
Google Kubernetes Engine
Google Kubernetes Engine で Error Reporting を使用するには、次の操作を行います。
コンテナが使用するサービス アカウントに、Error Reporting 書き込みロール(
roles/errorreporting.writer)が付与されていることを確認します。Compute Engine のデフォルトのサービス アカウントまたはカスタム サービス アカウントを使用できます。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
クラスタを作成し、クラスタに
cloud-platformアクセス スコープを付与します。たとえば、次の create コマンドは、
cloud-platformアクセス スコープとサービス アカウントを指定します。gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Compute Engine VM インスタンスで Error Reporting を使用するには、次の操作を行います。
VM インスタンスが使用するサービス アカウントに、Error Reporting 書き込みロール(
roles/errorreporting.writer)が付与されていることを確認します。Compute Engine のデフォルトのサービス アカウントまたはカスタム サービス アカウントを使用できます。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
-
Google Cloud コンソールで [VM インスタンス] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Compute Engine] である結果を選択します。
cloud-platformアクセス スコープを適用する VM インスタンスを選択します。[停止] をクリックし、[編集] をクリックします。
[ID と API へのアクセス] セクションで、Error Reporting 書き込みロール(
roles/errorreporting.writer)を持つサービス アカウントを選択します。[アクセス スコープ] セクションで、[すべての Cloud API に完全アクセス権を許可] を選択し、変更を保存します。
[開始 / 再開] をクリックします。
例
詳細と例については、次のリソースをご覧ください。
Google.Cloud.Diagnostics.AspNetCore3
ドキュメント
Google.Cloud.Diagnostics.AspNetCore
ドキュメント
Google.Cloud.Diagnostics.Common
ドキュメント
ローカル開発環境でアプリを実行する
自分のワークステーションでライブラリを実行するなど、ローカル開発環境でライブラリの Google.Cloud.Diagnostics セットを使用するには、ローカル アプリケーションのデフォルト認証情報を使用してライブラリの Google.Cloud.Diagnostics セットを指定する必要があります。詳細については、Error Reporting に対して認証するをご覧ください。
ローカル開発環境でこのページの .NET サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
ローカルシェルを使用している場合は、ユーザー アカウントのローカル認証情報を作成します。
gcloud auth application-default login
Cloud Shell を使用している場合は、この操作を行う必要はありません。
認証エラーが返され、外部 ID プロバイダ(IdP)を使用している場合は、 連携 ID を使用して gcloud CLI にログインしていることを確認します。
詳細については、 ローカル開発環境の認証を設定するをご覧ください。
projects.events.report メソッドは API キーもサポートしています。認証に API キーを使用する場合、ローカルのアプリケーションのデフォルト認証情報ファイルを設定する必要はありません。詳細については、 Google Cloud 認証ドキュメントの API キーを作成するをご覧ください。
エラーグループを表示する
Google Cloud コンソールで [Error Reporting] ページに移動します。
このページは、検索バーを使用して見つけることもできます。
詳細については、エラー グループの表示とフィルタリングをご覧ください。