Error Reporting を使用すると、Google Kubernetes Engine アプリケーションのクラッシュを集計し、ランタイム例外を診断できます。エラーデータを送信するには、Cloud Logging にログをストリーミングするか、Error Reporting API を直接呼び出します。Logging を使用する場合、ログエントリは形式の要件に準拠している必要があります。
ロギングを使用してエラーを報告する
GKE のデフォルトの Logging エージェントによって、クラスタのログを Cloud Logging に送信するエージェントをデプロイして管理するためのマネージド ソリューションが提供されます。エージェントの構造は、クラスタのバージョンによって異なります。このエージェントについては、GKE ログの管理をご覧ください。
Error Reporting では、例外またはスタック トレースが 1 つのログエントリに含まれる必要があります。ほとんどのロギング エージェントは、複数のログ行(新しい行にそれぞれ出力されるスタックフレーム)が 1 つのスタック トレースを表していることを認識でき、それを単一のログエントリとして Cloud Logging に送信します。エージェントが複数の行を 1 つのエラーに再構築できない場合は、projects.events.report API エンドポイントを使用します。これにより、エラーの内容を制御できます。
Error Reporting API を使用してエラーを書き込む
Error Reporting API は、エラー情報をサービスに書き込むための report エンドポイントを提供します。
Error Reporting API を有効にします(有効になっていない場合)。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。REST API またはクライアント ライブラリのいずれかを使用して、API にエラーを報告します。
サンプル
ASP.NET
ASP.NET NuGet パッケージにより、捕捉されなかった例外が ASP.NET ウェブ アプリケーションから Error Reporting に報告されます。
NuGet パッケージをインストールする
Stackdriver ASP.NET NuGet パッケージを Visual Studio にインストールするには:
- ソリューションを右クリックして、[ソリューションの NuGet パッケージの管理] を選択します。
- [プレリリースを含む] チェックボックスを選択します。
Google.Cloud.Diagnostics.AspNetという名前のパッケージを検索してインストールします。
使用法
Stackdriver ASP.NET NuGet パッケージをインストールしたら、次のステートメントをアプリケーション コードに追加して Stackdriver へのエラーの送信を開始します。
using Google.Cloud.Diagnostics.AspNet;
例外の報告を有効にするには、次の HttpConfiguration コードを .NET ウェブアプリの Register メソッドに追加します(your-project-id は実際のプロジェクト ID に置き換えます)。
このメソッドを使用する ASP.NET アプリケーションに追加すると、発生した例外で捕捉されなかった例外が Google Cloud コンソールの Error Reporting セクションで Google Cloudに報告されるため、これらの例外を表示することができます。
C#
次の例は、GoogleCloudPlatform/dotnet-docs-samples リポジトリにあります。これを使用するには、プロジェクトのビルド後に次のようにプロジェクト ID を指定します。
C:\...\bin\Debug> set GOOGLE_PROJECT_ID=[YOUR_PROJECT_ID]
[YOUR_PROJECT_ID] はGoogle Cloud コンソールの正しい値に置き換えます。
その後、次のようなコードで例外データを送信します。
Go
Go 用 Error Reporting の設定をご覧ください。
Java
Java 用 Error Reporting の設定をご覧ください。
Node.js
Node.js 用 Error Reporting の設定をご覧ください。
Ruby
Ruby 用 Error Reporting の設定をご覧ください。
Python
Python 用 Error Reporting の設定をご覧ください。
PHP
PHP 用 Error Reporting の設定をご覧ください。
エラーグループを表示する
Google Cloud コンソールで [Error Reporting] ページに移動します。
このページは、検索バーを使用して見つけることもできます。