Ruby アプリケーションから Error Reporting にエラーレポートを送信するには、Ruby 用 Error Reporting ライブラリを使用します。
Error Reporting は、App Engine、Compute Engine、Google Kubernetes Engine などの一部の Google Cloud サービスに統合されています。Error Reporting は、こうしたサービスで実行されるアプリケーションによって Cloud Logging に記録されたエラーを表示します。詳細については、このページの Google Cloud Platform での実行をご覧ください。
Logging を使用して、エラーデータを Error Reporting に送信することもできます。データ形式の要件については、Logging のエラー メッセージの形式設定をご覧ください。
始める前に
- Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する。
- Error Reporting API を有効にします。
- Ruby 2.2+ 以降をインストールします。
クライアント ライブラリのインストール
Ruby 用の Error Reporting ライブラリを使用すると、ほぼすべての場所で動作している Ruby アプリケーションから報告されるエラーをモニタリングして表示できます。
-
Gemfile に Google Cloud のオペレーション スイート gem を追加します。
-
Bundler を使用して gem をインストールします。
bundle install
ライブラリの有効化
Ruby on Rails を使用している場合、Bundler は起動時に、ライブラリをアプリケーションに自動的に読み込みます。
他の Rack ベースのアプリケーションでは、ライブラリが提供する Rack ミドルウェアを使用できます。
インストールの詳細については、Ruby 用 Error Reporting ライブラリのドキュメントをご覧ください。公開バグトラッカーを使用して問題を報告することもできます。
クライアント ライブラリの構成
Ruby 用の Error Reporting ライブラリの動作をカスタマイズできます。構成可能なオプションのリストについては、ライブラリの構成をご覧ください。
エラーの報告
ラックベースのフレームワークでのエラー報告
Ruby 用の Error Reporting ライブラリを使用すると、Ruby on Rails や Sinatra などの一般的なラックベースの Ruby ウェブ フレームワークに Error Reporting を簡単に統合できます。ライブラリを有効にすると、アプリケーションのラックスタックからキャプチャされた例外が自動的に報告されます。
手動でのエラー報告
手動でエラーを報告するには、次の例で示すように、report
メソッドを呼び出します。
Google Cloud での実行
Ruby 用 Error Reporting ライブラリを使用するには、Identity and Access Management Error Reporting Writer ロールが必要です。ほとんどの Google Cloud コンピューティング プラットフォームでは、デフォルトでこの役割が付与されます。
次の Google Cloud 環境で Ruby 用 Error Reporting を構成できます。
App Engine フレキシブル環境
App Engine は、デフォルトで Error Reporting Writer 役割を付与します。
Ruby 用 Error Reporting ライブラリは、明示的に認証情報を提示しなくても使用できます。
App Engine のフレキシブル環境のアプリケーションでは、Error Reporting が自動的に有効になります。特別な設定は必要ありません。Google Kubernetes Engine
GKE では、次のサンプル コマンドのように、クラスタの作成時に cloud-platform
アクセス スコープを追加する必要があります。
gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform
Compute Engine
Compute Engine VM インスタンスを使用する場合は、各インスタンスに cloud-platform
アクセス スコープを追加します。Google Cloud Console から新しいインスタンスを作成する場合は、[インスタンスの作成] パネルの [ID と API へのアクセス] のセクションで行います。Compute Engine のデフォルト サービス アカウントまたは別のサービス アカウントを使用し、[ID と API へのアクセス] セクションの [すべての Cloud API に完全アクセス権を許可] を選択します。どのサービス アカウントを選択する場合でも、Cloud Console の [IAM と管理] セクションで Error Reporting Writer ロールが付与されていることを確認してください。
ローカルやその他の場所での実行
自分のワークステーション、データセンターのコンピュータ、別のクラウド プロバイダの VM インスタンスでライブラリを実行するなど、Google Cloud の外部で Ruby 用 Error Reporting ライブラリを使用するには、Google Cloud プロジェクト ID と適切なサービス アカウント認証情報を Ruby 用 Error Reporting ライブラリに直接提供する必要があります。
サービス アカウントの認証情報は手動で作成して取得できます。[ロール] フィールドを指定する場合は、Error Reporting Writer ロールを使用します。Identity and Access Management のロールの詳細については、アクセス制御ガイドをご覧ください。
Ruby on Rails 構成インターフェースの使用
Ruby on Rails フレームワークで Ruby 用 Error Reporting ライブラリを使用するには、Ruby on Rails 構成インターフェースを介してパラメータを指定します。
次のコマンドを使用して、すべての Stackdriver gem の共有構成を設定することもできます。
Rails を本番環境で実行すると、デフォルトで Error Reporting が有効になります。開発モードで Error Reporting を有効にするには、次のコードを追加します。
インストルメンテーション設定インタフェースの使用
他の Rack ベースのアプリケーションで Ruby 用 Error Reporting ライブラリを使用するには、構成インターフェースを介してパラメータを指定します。
次のコマンドを使用して、すべての Google Cloud のオペレーション スイート gem の共有構成を設定することもできます。
エラーレポートの表示
デプロイ後は、Cloud Console Error Reporting ダッシュボードでエラーレポートを表示できます。
詳細については、エラーの表示をご覧ください。