Ayúdanos a definir el futuro de las operaciones de software y haz oír tu voz con la encuesta del estado de DevOps 2021.

Configura Cloud Debugger para Ruby

Descripción general

En esta página se describe cómo configurar el entorno y la aplicación de PHP para usar Cloud Debugger. Para algunos entornos, debes especificar explícitamente el nivel de acceso a fin de permitir que el agente de Cloud Debugger envíe datos. Te recomendamos configurar el nivel de acceso más amplio posible y, luego, usar la Administración de identidades y accesos para restringir el acceso. De acuerdo con esta práctica recomendada, debes configurar el nivel de acceso para que estén todas las API de Cloud con la opción cloud-platform.

Versiones de lenguajes y entorno de procesamiento

El Depurador de Cloud está disponible para Ruby 2.2 y versiones posteriores.

Entorno de App Engine Standard Entorno flexible de App Engine Compute Engine Google Kubernetes Engine Cloud Run Cloud Run para Anthos en Google Cloud VM y contenedores que se ejecutan en otros lugares Cloud Functions

Configura Cloud Debugger

Para configurar Cloud Debugger, completa las siguientes tareas:

  1. Verifica que la API del Depurador de Cloud esté habilitada para tu proyecto.

  2. Instala y configura Debugger en el entorno de procesamiento que usas.

  3. Selecciona tu código fuente.

Verifica que la API de Cloud Debugger esté habilitada

Para comenzar a usar Cloud Debugger, asegúrate de que esté habilitada la API de Cloud Debugger. Cloud Debugger está habilitado de forma predeterminada para la mayoría de los proyectos.
Habilita la API de Cloud Debugger

Entorno flexible de App Engine

  1. Agrega la gema stackdriver a tu Gemfile.

    gem "stackdriver"
    
  2. Habilita el agente.

Rails

Bundler carga la biblioteca en la aplicación de forma automática cuando se inicia. No se requiere configuración.

Rack

Utiliza el middleware de Rack que proporciona la biblioteca:

require "google/cloud/debugger"

use Google::Cloud::Debugger::Middleware

Otro

Para las aplicaciones puras de Ruby, inicia el agente de forma explícita en el punto de entrada:

require "google/cloud/debugger"

Google::Cloud::Debugger.new.start

Ahora puedes usar Debugger con tu app.

Google Kubernetes Engine

GCLOUD

Para habilitar Debugger con gcloud, completa los siguientes pasos:

  1. Crea tu clúster con uno de los niveles de acceso siguientes:

    • https://www.googleapis.com/auth/cloud-platform otorga a tu clúster acceso a todas las API de Google Cloud.

    • https://www.googleapis.com/auth/cloud_debugger otorga a tu clúster acceso solo a la API de Debugger. Usa este nivel de acceso para fortalecer la seguridad de tu clúster.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Agrega la gema stackdriver a tu Gemfile.

    gem "stackdriver"
    
  3. Agrega la línea siguiente a tu Dockerfile con el fin de agregar el agente de Debugger:

    Run bundle install
    
  4. Habilita el agente de Debugger:

    Rails

    Bundler carga la biblioteca en la aplicación de forma automática cuando se inicia.

    De forma opcional, puedes proporcionar un servicio y una versión a través de la interfaz de configuración de 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
    

    En el comando anterior, se muestra lo siguiente:

    • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
    • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

    Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

    Debugger está habilitado de manera predeterminada cuando Rails se ejecuta en el modo de producción. Para habilitar Debugger en el modo de desarrollo, agrega lo siguiente:

    # Add this to config/environments/development.rb
    Rails.application.configure do |config|
      config.google_cloud.use_debugger = true
    end

    Rack

    Utiliza el middleware de Rack que proporciona la 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
    

    En el comando anterior, se muestra lo siguiente:

    • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
    • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

    Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

    Otro

    Para las aplicaciones puras de Ruby, inicia el agente de forma explícita en el punto de entrada:

    require "google/cloud/debugger"
    
    Google::Cloud::Debugger.new(service_name: "SERVICE-NAME",
                        service_version: "SERVICE-VERSION").start
    

    En el comando anterior, se muestra lo siguiente:

    • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
    • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

    Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

    Debugger ahora está habilitado para tu app.

CONSOLE

Para habilitar Debugger con Google Cloud Console, sigue estos pasos:

  1. En la sección Grupos de nodos, selecciona Seguridad y, luego, Configurar el acceso para cada API.

  2. Habilita Debugger.

    La API de Debugger está habilitada para el clúster.

  3. Opcional: Seleccione Permitir el acceso completo a todas las API de Cloud.

Compute Engine

  1. Asegúrate de que tus instancias de Compute Engine se creen con la opción de nivel de acceso Permitir el acceso total a todas las API de Cloud, o que tengan uno de los siguientes niveles de acceso:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. Agrega la gema stackdriver a tu Gemfile.

    gem "stackdriver"
    
  3. Usa Bundler para instalar la gema:

    bundle install
    
  4. Habilita el agente.

Rails

Bundler carga la biblioteca en la aplicación de forma automática cuando se inicia.

De forma opcional, puedes proporcionar un servicio y una versión a través de la interfaz de configuración de 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

En el comando anterior, se muestra lo siguiente:

  • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
  • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

Debugger está habilitado de manera predeterminada cuando Rails se ejecuta en el modo de producción. Para habilitar Debugger en el modo de desarrollo, agrega lo siguiente:

# Add this to config/environments/development.rb
Rails.application.configure do |config|
  config.google_cloud.use_debugger = true
end

Rack

Utiliza el middleware de Rack que proporciona la 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

En el comando anterior, se muestra lo siguiente:

  • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
  • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

Otro

Para las aplicaciones puras de Ruby, inicia el agente de forma explícita en el punto de entrada:

require "google/cloud/debugger"

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

En el comando anterior, se muestra lo siguiente:

  • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
  • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

Ahora puedes usar Debugger con tu app.

En el entorno local y en otros lugares

  1. Agrega la gema stackdriver a tu Gemfile.

    gem "stackdriver"
    
  2. Usa Bundler para instalar la gema:

    bundle install
    
  3. Descarga las credenciales de la cuenta de servicio.

    Con el propósito de usar el agente del Depurador de Cloud para Ruby en máquinas que no aloja Google Cloud, el agente debe usar las credenciales de una cuenta de servicio de Google Cloud para autenticarse con el servicio del Depurador de Cloud.

    Usa la página de cuentas de servicio de Cloud Console a fin de crear un archivo de credenciales para una cuenta de servicio nueva o existente. La cuenta de servicio debe tener al menos la función de Cloud Debugger Agent.

  4. Configura y habilita al agente con las credenciales descargadas.

Rails

Proporciona los parámetros a través de la interfaz de configuración de 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

En el comando anterior, se muestra lo siguiente:

  • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
  • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

Debugger está habilitado de manera predeterminada cuando Rails se ejecuta en el modo de producción. Para habilitar Debugger en el modo de desarrollo, agrega lo siguiente:

# Add this to config/environments/development.rb
Rails.application.configure do |config|
  config.google_cloud.use_debugger = true
end

Rack

Utiliza el middleware de Rack que proporciona la 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

En el comando anterior, se muestra lo siguiente:

  • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
  • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

Otro

Para las aplicaciones puras de Ruby, inicia el agente de forma explícita en el punto 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

En el comando anterior, se muestra lo siguiente:

  • SERVICE-NAME es el nombre de tu app, como MyApp, Backend o Frontend.
  • SERVICE-VERSION es una versión, como v1.0, build_147 o v20170714.

Recomendamos configurarlas desde las variables de entorno para que no tengas que cambiar el código fuente con cada implementación.

Ahora puedes usar Debugger con tu app.

En la página de Depuración en Cloud Console, se pueden mostrar los archivos de origen local, sin subir, para el desarrollo local. Consulta Selecciona el código fuente de forma manual.