Cómo configurar Stackdriver Error Reporting para Ruby

Puedes enviar informes de errores a Stackdriver Error Reporting desde aplicaciones de Ruby con la biblioteca de Stackdriver Error Reporting para Ruby.

Stackdriver Error Reporting se integra en algunos productos, como App Engine. Stackdriver Error Reporting muestra los errores que las aplicaciones que se ejecutan en esos productos registran en Stackdriver Logging. Consulta Cómo ejecutar en Google Cloud Platform para obtener más información.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.

    Ir a la página de selección de proyecto

  3. Asegúrate de tener habilitada la facturación para tu proyecto de Google Cloud Platform. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

  4. Habilita lasStackdriver Error Reporting APIAPInecesarias.

    Habilita lasAPI

  5. Instala Ruby 2.2+ o superior.

Cómo instalar la biblioteca cliente

La biblioteca de Stackdriver Error Reporting para Ruby te permite supervisar y ver errores que informan las aplicaciones de Ruby que se ejecutan prácticamente en cualquier sitio.

  1. Agrega la gema de Stackdriver a tu Gemfile:

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

    bundle install

Cómo habilitar la biblioteca

Si usas Ruby on Rails, Bundler carga automáticamente la biblioteca a tu aplicación cuando se inicia.

Otras aplicaciones basadas en Rack pueden usar el middleware de Rack que proporciona la biblioteca:

require "google/cloud/error_reporting"

use Google::Cloud::ErrorReporting::Middleware

A fin de obtener más información sobre la instalación, consulta la documentación sobre la biblioteca de Stackdriver Error Reporting para Ruby. También puedes informar problemas con el seguimiento de problemas.

Cómo configurar la biblioteca cliente

Puedes personalizar el comportamiento de la biblioteca de Stackdriver Error Reporting para Ruby. Consulta la configuración de la biblioteca para obtener una lista de las opciones de configuración posibles.

Cómo informar errores

Cómo informar errores en el marco de trabajo basado en Rack

La biblioteca de Stackdriver Error Reporting para Ruby facilita la integración de Stackdriver Error Reporting en los marcos de trabajo web de Ruby basados en Rack conocidos, como Ruby on Rails y Sinatra. Cuando la biblioteca está habilitada, informa automáticamente las excepciones capturadas de la pila de Rack de la aplicación.

Cómo informar errores de forma manual

Puedes informar un error de forma manual llamando al método report, como se indica en el siguiente ejemplo:

require "google/cloud/error_reporting"

begin
  fail "Raise an exception for Error Reporting."
rescue => exception
  Google::Cloud::ErrorReporting.report exception
end

Cómo ejecutar en Google Cloud Platform

El uso de la biblioteca de Stackdriver Error Reporting para Ruby requiere la función de escritor de Error Reporting de Cloud IAM. La mayoría de las plataformas de procesamiento de Google Cloud Platform ofrecen esta función de forma predeterminada.

Entorno flexible de App Engine

Google App Engine otorga la función de escritor de Error Reporting de forma predeterminada.

La biblioteca de Stackdriver Error Reporting para Ruby puede usarse sin necesidad de proporcionar credenciales de forma explícita.

Stackdriver Error Reporting está habilitado automáticamente para las aplicaciones de entorno de App Engine. No se requiere ninguna configuración adicional.

Kubernetes Engine

En Google Kubernetes Engine debes agregar el nivel de acceso cloud-platform cuando creas el clúster, como se muestra en el siguiente comando de ejemplo:

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform

Compute Engine

Cuando uses las instancias de VM de Google Compute Engine, agrega el nivel de acceso cloud-platform a cada instancia. Cuando crees una instancia nueva con Google Cloud Platform Console, puedes hacerlo en la sección Identidad y acceso a la API del panel Crear instancia: Usa la cuenta de servicio predeterminada de Compute Engine, o bien otra cuenta de servicio de tu elección, y selecciona Permitir acceso completo a todas las API de Cloud en la sección Identidad y acceso a la API. Independientemente de la cuenta de servicio que selecciones, asegúrate de que se otorgue la función de escritor de Error Reporting en la sección IAM y administrador de GCP Console.

Cómo ejecutar de manera local y en otro lugar

A fin de utilizar la biblioteca de Stackdriver Error Reporting para Ruby fuera de Google Cloud Platform, debes proporcionar el ID del proyecto de GCP y las credenciales correspondientes de tu cuenta de servicio directamente a la biblioteca de Stackdriver Error Reporting para Ruby. Esto se aplica a la ejecución de la biblioteca en tu propia estación de trabajo, en las computadoras del centro de datos o en las instancias de VM de otro proveedor de servicios en la nube. Para obtener más información, consulta Cómo obtener y proporcionar las credenciales de la cuenta de servicio de forma manual.

Cómo usar la interfaz de configuración de Ruby on Rails

A fin de usar la biblioteca de Stackdriver Error Reporting para Ruby con el marco de trabajo de Ruby on 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|
  # Stackdriver Error Reporting specific parameters
  config.google_cloud.error_reporting.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.error_reporting.keyfile    = "/path/to/service-account.json"
end

También puedes establecer la configuración compartida para todas las gemas de Stackdriver mediante el siguiente código:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Shared parameters
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
end

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

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

Cómo usar la interfaz de configuración de instrumentación

A fin de usar la biblioteca de Stackdriver Error Reporting para Ruby con las aplicaciones basadas en Rack, proporciona los parámetros a través de la interfaz de configuración:

require "google/cloud/error_reporting"

Google::Cloud.configure do |config|
  # Stackdriver Error Reporting specific parameters
  config.error_reporting.project_id = "YOUR-PROJECT-ID"
  config.error_reporting.keyfile    = "/path/to/service-account.json"
end

También puedes establecer la configuración compartida para todas las gemas de Stackdriver mediante el siguiente código:

require "stackdriver"

Google::Cloud.configure do |config|
  # Stackdriver Shared parameters
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
end

Cómo visualizar informes de errores

Después de la implementación, podrás ver los informes de errores en el panel Error Reporting en GCP Console.

Ir al panel de Error Reporting

Para obtener más información, consulta Cómo visualizar errores.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Stackdriver Error Reporting
¿Necesitas ayuda? Visita nuestra página de asistencia.