Ruby 用 Stackdriver Debugger の設定

は、

App Engine フレキシブル環境

  1. Gemfile に Stackdriver gem を追加します。

    gem "stackdriver"
    
  2. エージェントを有効にします。

Rails

起動時に、Bundler がライブラリをアプリに自動的に読み込みます。構成は不要です。

Rack

ライブラリが提供する Rack ミドルウェアを使用します。

require "google/cloud/debugger"

use Google::Cloud::Debugger::Middleware

その他

Pure Ruby アプリの場合、エントリ ポイントで明示的にエージェントを起動します。

require "google/cloud/debugger"

Google::Cloud::Debugger.new.start

これで、アプリでデバッガを使用できるようになりました。

GKE

  1. クラスタが次のいずれかのアクセス スコープで作成されていることを確認します。

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger

    例:

    gcloud container clusters create EXAMPLE-CLUSTER-NAME \
        --scopes https://www.googleapis.com/auth/cloud-platform
    
  2. Compute Engine の手順に従います。

Compute Engine

  1. Compute Engine インスタンスが [すべての Cloud API に完全アクセス権を許可] アクセス スコープ オプションで作成されていることを確認するか、次のいずれかのアクセス スコープを使用します。

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. Gemfile に Stackdriver gem を追加します。

    gem "stackdriver"
    
  3. Bundler を使用して gem をインストールします。

    bundle install
    
  4. エージェントを有効にします。

Rails

起動時に、Bundler がライブラリをアプリに自動的に読み込みます。

Ruby on Rails の構成インターフェースでサービスとバージョンを指定することもできます。

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  config.google_cloud.debugger.service_name = "SERVICE-NAME"
  config.google_cloud.debugger.service_version = "SERVICE-VERSION"
end

ここで:

  • SERVICE-NAME はアプリの名前です(MyAppBackendFrontend など)。
  • SERVICE-VERSION はバージョンです(v1.0build_147v20170714 など)。

これらの値を環境変数から設定することをおすすめします。この方法では、デプロイごとにソースコードを変更する必要はありません。

Rack

ライブラリが提供する Rack ミドルウェアを使用します。

require "google/cloud/debugger"

Google::Cloud::Debugger.configure do |config|
  config.service_name = "SERVICE-NAME"
  config.service_version = "SERVICE-VERSION"
end

use Google::Cloud::Debugger::Middleware

ここで:

  • SERVICE-NAME はアプリの名前です(MyAppBackendFrontend など)。
  • SERVICE-VERSION はバージョンです(v1.0build_147v20170714 など)。

これらの値を環境変数から設定することをおすすめします。この方法では、デプロイごとにソースコードを変更する必要はありません。

その他

Pure Ruby アプリの場合、エントリ ポイントで明示的にエージェントを起動します。

require "google/cloud/debugger"

Google::Cloud::Debugger.new(service_name: "SERVICE-NAME",
                            service_version: "SERVICE-VERSION").start

ここで:

  • SERVICE-NAME はアプリの名前です(MyAppBackendFrontend など)。
  • SERVICE-VERSION はバージョンです(v1.0build_147v20170714 など)。

これらの値を環境変数から設定することをおすすめします。この方法では、デプロイごとにソースコードを変更する必要はありません。

これで、アプリでデバッガを使用できるようになりました。

ローカルと他の場所

  1. Gemfile に Stackdriver gem を追加します。

    gem "stackdriver"
    
  2. Bundler を使用して gem をインストールします。

    bundle install
    
  3. サービス アカウントの認証情報をダウンロードします。

    Google Cloud Platform でホストされていないマシンで Ruby 用 Stackdriver Debugger エージェントを使用するには、エージェントが GCP サービス アカウントの認証情報を使用して Stackdriver Debugger サービスの認証を行う必要があります。

    GCP Console の [サービス アカウント] ページで、既存または新しいサービス アカウントの認証情報ファイルを作成します。サービス アカウントには、少なくとも Stackdriver Debugger Agent 役割が必要です。

  4. ダウンロードした認証情報でエージェントを構成し、有効にします。

Rails

Ruby on Rails 構成インターフェースでパラメータを指定します。

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
  config.google_cloud.debugger.service_name = "SERVICE-NAME"
  config.google_cloud.debugger.service_version = "SERVICE-VERSION"
end

ここで:

  • SERVICE-NAME はアプリの名前です(MyAppBackendFrontend など)。
  • SERVICE-VERSION はバージョンです(v1.0build_147v20170714 など)。

これらの値を環境変数から設定することをおすすめします。この方法では、デプロイごとにソースコードを変更する必要はありません。

Rack

ライブラリが提供する Rack ミドルウェアを使用します。

require "stackdriver"
require "google/cloud/debugger"

Google::Cloud.configure do |config|
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
  config.service_name = "SERVICE-NAME"
  config.service_version = "SERVICE-VERSION"
end

use Google::Cloud::Debugger::Middleware

ここで:

  • SERVICE-NAME はアプリの名前です(MyAppBackendFrontend など)。
  • SERVICE-VERSION はバージョンです(v1.0build_147v20170714 など)。

これらの値を環境変数から設定することをおすすめします。この方法では、デプロイごとにソースコードを変更する必要はありません。

その他

Pure Ruby アプリの場合、エントリ ポイントで明示的にエージェントを起動します。

require "google/cloud/debugger"

Google::Cloud::Debugger.new(project: "YOUR-PROJECT-ID",
                            keyfile: "/path/to/service-account.json",
                            service_name: "SERVICE-NAME",
                            service_version: "SERVICE-VERSION").start

ここで:

  • SERVICE-NAME はアプリの名前です(MyAppBackendFrontend など)。
  • SERVICE-VERSION はバージョンです(v1.0build_147v20170714 など)。

これらの値を環境変数から設定することをおすすめします。この方法では、デプロイごとにソースコードを変更する必要はありません。

これで、アプリでデバッガを使用できるようになりました。

GCP Console の [デバッグ] ページには、ローカル環境のソースファイルをアップロードせずに表示できます。ソースコードを手動で選択するをご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Stackdriver Debugger のドキュメント