Visão geral
Nesta página, você aprende como configurar seu ambiente e seu aplicativo Ruby para usar o Cloud Debugger.
Para alguns ambientes, é necessário especificar explicitamente o escopo de acesso para que o agente do Cloud Debugger envie dados.
Recomendamos definir o escopo de acesso da forma mais ampla possível e depois usar o Gerenciador de identidade e acesso para restringir o acesso.
Para manter essa prática recomendada, configure o escopo de acesso para todas as APIs do Cloud com a opção cloud-platform
.
Versões de linguagem e ambiente de computação
O Cloud Debugger está disponível para as versões 2.2 e posteriores do Ruby.
Ambiente padrão do App Engine | Ambiente flexível do App Engine | Compute Engine | Google Kubernetes Engine | Cloud Run | Cloud Run for Anthos | VMs e contêineres em execução em outra plataforma | Cloud Functions |
---|---|---|---|---|---|---|---|
Como configurar o Cloud Debugger
Para configurar o Cloud Debugger, conclua as seguintes tarefas:
Verifique se a API Cloud Debugger está ativada no projeto.
Instale e configure o Debugger no ambiente de computação que você está usando.
Selecione o código-fonte.
Como verificar se a API Cloud Debugger está ativada
Para começar a usar o Cloud Debugger, verifique se a API Cloud Debugger está ativada. O Cloud Debugger é ativado por padrão na maioria dos projetos.Ativar a API Cloud Debugger
Ambiente flexível do App Engine
Adicione a gema
stackdriver
ao seuGemfile
:gem "stackdriver"
Ative o agente.
Rails
O Bundler carrega automaticamente a biblioteca no app quando ele é iniciado. Nenhuma configuração é necessária.
Rack
Use o middleware do Rack fornecido pela biblioteca:
require "google/cloud/debugger"
use Google::Cloud::Debugger::Middleware
Outros
Para aplicativos Ruby puros, inicie o agente explicitamente no ponto de entrada:
require "google/cloud/debugger"
Google::Cloud::Debugger.new.start
O depurador está pronto para ser usado com o aplicativo.
Google Kubernetes Engine
GCLOUD
Para ativar o Debugger usando a gcloud
, conclua as etapas abaixo:
Crie seu cluster com um destes escopos de acesso:
https://www.googleapis.com/auth/cloud-platform
concede ao cluster acesso a todas as APIs do Google Cloud.https://www.googleapis.com/auth/cloud_debugger
concede ao cluster acesso apenas à API Stackdriver Debugger. Use esse escopo de acesso para reforçar a segurança do seu cluster.
gcloud container clusters create example-cluster-name \ --scopes=https://www.googleapis.com/auth/cloud_debugger
Adicione a gema
stackdriver
ao seuGemfile
:gem "stackdriver"
Adicione a linha a seguir ao
Dockerfile
para inserir o agente do Debugger:Run bundle install
Ative o agente do Debugger:
Rails
O Bundler carrega automaticamente a biblioteca no app quando ele é iniciado.
Como opção, você pode fornecer um serviço e uma versão pela interface de configuração 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
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
O Debugger é ativado por padrão quando o Rails está em execução no modo de produção. Para ativar o Debugger no modo de desenvolvimento, adicione o seguinte:
Rack
Use o middleware do Rack fornecido pela biblioteca:
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
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
Outros
Para apps Ruby puros, inicie o agente explicitamente no ponto de entrada:
require "google/cloud/debugger" Google::Cloud::Debugger.new(service_name: "SERVICE-NAME", service_version: "SERVICE-VERSION").start
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
O Debugger agora está ativado para seu app.
CONSOLE
Para ativar o Debugger usando o Console do Google Cloud, siga estas etapas:
Na seção Pool de nós, selecione Segurança e Definir acesso para cada API.
Ative o Debugger.
Opcional: selecione Permitir acesso total a todas as APIs do Cloud.
Compute Engine
Verifique se as instâncias do Compute Engine foram criadas com a opção de escopo de acesso Permitir acesso completo a todas as APIs do Cloud ou se elas têm um dos escopos de acesso a seguir:
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/cloud_debugger
Adicione a gema
stackdriver
ao seuGemfile
:gem "stackdriver"
Use o Bundler para instalar a gem:
bundle install
Ative o agente.
Rails
O Bundler carrega automaticamente a biblioteca no app quando ele é iniciado.
Como opção, você pode fornecer um serviço e uma versão pela interface de configuração 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
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
O Debugger é ativado por padrão quando o Rails está em execução no modo de produção. Para ativar o Debugger no modo de desenvolvimento, adicione o seguinte:
Rack
Use o middleware do Rack fornecido pela biblioteca:
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
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
Outros
Para apps Ruby puros, inicie o agente explicitamente no ponto de entrada:
require "google/cloud/debugger"
Google::Cloud::Debugger.new(service_name: "SERVICE-NAME",
service_version: "SERVICE-VERSION").start
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
O depurador está pronto para ser usado com o app.
Ambiente local e outros
Adicione a gema
stackdriver
ao seuGemfile
:gem "stackdriver"
Use o Bundler para instalar a gem:
bundle install
Faça o download das credenciais da conta de serviço.
Para usar o agente do Cloud Debugger para Ruby em máquinas não hospedadas pelo Google Cloud, o agente deve usar credenciais de conta de serviço do Google Cloud para autenticar com o Cloud Debugger Service.
Use a página "Contas de serviço" do console do Google Cloud para criar um arquivo de credenciais para uma conta de serviço nova ou existente. A conta de serviço precisa ter pelo menos o papel
Cloud Debugger Agent
.Configure e ative o agente com as credenciais salvas.
Rails
Forneça os parâmetros por meio da interface de configuração do 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
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
O Debugger é ativado por padrão quando o Rails está em execução no modo de produção. Para ativar o Debugger no modo de desenvolvimento, adicione o seguinte:
Rack
Use o middleware do Rack fornecido pela biblioteca:
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
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
Outros
Para apps Ruby puros, inicie o agente explicitamente no ponto de entrada:
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
Em que:
SERVICE-NAME
é um nome para o app, comoMyApp
,Backend
ouFrontend
;SERVICE-VERSION
é uma versão, comov1.0
,build_147
ouv20170714
.
Recomendamos fazer essa configuração a partir de variáveis de ambiente. Assim, não será necessário alterar o código-fonte em cada implantação.
O depurador está pronto para ser usado com o aplicativo.
A página "Debug" no Console do Google Cloud pode exibir arquivos de origem locais, sem upload, para desenvolvimento local. Consulte Como selecionar o código-fonte manualmente.