Error Reporting を使用すると、EC2 アプリケーションのクラッシュを集計し、ランタイム例外を診断できます。エラーデータを送信するには、Cloud Logging にログをストリーミングするか、Error Reporting API を直接呼び出します。Logging を使用する場合、ログエントリは形式の要件に準拠している必要があります。
ロギングを使用してエラーを報告する
EC2 アプリケーションを Error Reporting に接続するには、例外やその他のエラーを Logging に送信します。
次に例を示します。
- Amazon Web Services(AWS)システムを Google Cloudに接続します。詳細については、個々の VM に Logging エージェントをインストールするをご覧ください。
- ご使用の環境に適した Logging
google-fluentdエージェントをインストールします。手順については、Logging エージェントをインストールするをご覧ください。 例外とスタック トレースを Logging に記録するようにアプリケーションを変更します。
単一のエラーまたは例外に関する情報は、スタック トレースのすべてのフレームを含め、すべて同じログエントリに格納する必要があります。すべての情報が 1 つにまとめられていないと、Error Reporting でエラーを検出できない可能性があります。ログエントリのペイロードに構造化 JSON 形式を使用すると、各エラーに関するさまざまな情報を含めることができます。
Java
次のコードを pom.xml ファイルに追加します。
次に、例外データを送信するために、次のようなコードを使用します。
Python
まず、fluent-logger-python ライブラリをインストールします。
sudo pip install fluent-logger
次に、例外データを送信するために、次のようなコードを使用します。
Node.js
まず、fluent-logger-node ライブラリをインストールします。
npm install fluent-logger
次に、例外データを送信するために、次のようなコードを使用します。
Go
まず、fluent-logger-golang パッケージをインストールします。
go get github.com/fluent/fluent-logger-golang/
次に、エラーデータを送信するために、次のようなコードを使用します。
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] ページに移動します。
このページは、検索バーを使用して見つけることもできます。