次のいずれかの方法で、エラーを EC2 アプリケーションから Stackdriver Error Reporting に送信できます。
Stackdriver Logging にロギングする。すでに Stackdriver Logging を使用している場合、追加設定は不要です。エラーのフォーマット要件について詳しくは、Stackdriver Logging でのフォーマット エラーをご覧ください。
Stackdriver Error Reporting API を使用する。アプリケーションでは、REST API を使用して HTTP リクエストを送信したり、試験運用版のライブラリを複数の言語で使用したりできます。
ロギングを使用してエラーを報告する
EC2 アプリケーションを Stackdriver Error Reporting に接続するには、例外やその他のエラーを Stackdriver Logging に送信します。その際、エラーログを他のログから区別するために、エラー専用のログ名を使用してください。次に例を示します。
Stackdriver Logging API を有効にします。
EC2 インスタンスに、
google-fluentd
という Stackdriver Logging エージェントをインストールします。通常、ログを Logging に送信するには、このエージェントが EC2 インスタンスにインストールされていなければなりません。例外とそのスタック トレースを Stackdriver Logging のログに記録するようにアプリケーションを変更します。エラー情報を他のログ情報から区別できるようなログ名を選択してください。
単一のエラーまたは例外に関する情報は、スタック トレースのすべてのフレームを含め、すべて同じログエントリに格納する必要があります。すべての情報が 1 つにまとめられていないと、Error Reporting で情報を取得できない可能性があります。ログエントリのペイロードに構造化 JSON 形式を使用すると、各エラーに関するさまざまな情報を含めることができます。
Java
以下を pom.xml
ファイルに追加します。
次に、例外データを送信するために、次のようなコードを使用します。
Python
まず始めに、fluent-logger-python
ライブラリをインストールします。
sudo pip install fluent-logger
次に、例外データを送信するために、次のようなコードを使用します。
Node.js
まず始めに、fluent-logger-node
ライブラリをインストールします。
npm install --save fluent-logger
次に、例外データを送信するために、次のようなコードを使用します。
Go
まず始めに、fluent-logger-golang
パッケージをインストールします。
go get -u github.com/fluent/fluent-logger-golang/
次に、エラーデータを送信するために、次のようなコードを使用します。
Error Reporting API を使用してエラーを書き込む
Stackdriver Error Reporting API は、エラー情報をサービスに書き込むための report
エンドポイントを提供します。
Stackdriver Error Reporting API を有効にします。
REST API またはクライアント ライブラリのいずれかを使用して、API にエラーを報告します。
サンプル
ASP.NET
Stackdriver ASP.NET NuGet パッケージにより、捕捉されなかった例外が ASP.NET ウェブ アプリケーションから Stackdriver 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 アプリに追加すると、発生したけれども捕捉されなかった例外が GCP Console の Stackdriver Error Reporting セクションの Google Cloud に報告されるため、これらの例外を確認できるようになります。
C#
次の例は、GoogleCloudPlatform/dotnet-docs-samples リポジトリにあります。これを使用するには、プロジェクトのビルド後に次のようにプロジェクト ID を指定します。
C:\...\bin\Debug> set GOOGLE_PROJECT_ID=[YOUR_PROJECT_ID]
[YOUR_PROJECT_ID]
は GCP Console の正しい値に置き換えます。
その後、次のようなコードで例外データを送信します。