Puedes escribir registros en Stackdriver Logging desde las aplicaciones de Ruby con la biblioteca de Stackdriver Logging para Ruby, o, directamente, con la biblioteca cliente de Cloud de Stackdriver Logging para Ruby.
No hace falta que el agente de Stackdriver Logging esté instalado a fin de usar la biblioteca de Stackdriver Logging para Ruby en una instancia de VM de Compute Engine.
Antes de comenzar
-
Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
Selecciona o crea un proyecto de GCP.
-
Comprueba que la facturación esté habilitada en tu proyecto.
- Habilita las Stackdriver Logging API necesarias.
- Instala Ruby 2.2+ o superior.
Instala la biblioteca
Proporcionamos una biblioteca de Stackdriver Logging para Ruby, que brinda una implementación de registrador fácil de usar en los marcos de trabajo web de Ruby basados en Rack:
Agrega la gema de Stackdriver a tu Gemfile:
Usa Bundler para instalar la gema:
bundle install
Habilita la biblioteca
Si usas Ruby on Rails, Bundler carga de forma automática la biblioteca en tu aplicación cuando se inicia, lo que establece el Rails.logger
predeterminado en una instancia del registrador de Stackdriver Logging.
Otras aplicaciones basadas en Rack pueden usar el middleware de Rack para reemplazar el registrador de Rack por el de Stackdriver Logging si tu marco de trabajo web es compatible con el registrador de Rack:
Configura la biblioteca
Puedes personalizar el comportamiento de la biblioteca de Stackdriver Logging para Ruby. Consulta la configuración de la biblioteca para obtener una lista de las posibles opciones de configuración.
Usa el registrador de Stackdriver Logging
Una vez que se habilita la biblioteca de Stackdriver Logging para Ruby, puedes usar el registrador en tu aplicación:
logger.info "Hello World!"
logger.error "Oh No!"
Si deseas obtener más información sobre la instalación, consulta la documentación de la biblioteca de Stackdriver Logging para Ruby. También puedes informar sobre problemas con el seguimiento de problemas.
Usa la biblioteca cliente de Cloud directamente
Si deseas obtener información sobre el uso de la biblioteca cliente de Cloud en Stackdriver Logging para Ruby de forma directa, consulta Bibliotecas cliente de Stackdriver Logging.
Ejecuta en Google Cloud Platform
Usar la biblioteca de Stackdriver Logging para Ruby requiere la función de Escritor de registros de Cloud IAM en GCP. La mayoría de los entornos de GCP proporcionan esta función de forma predeterminada.
App Engine
App Engine otorga la función de Escritor de registros de forma predeterminada.
La biblioteca de Stackdriver Logging para Ruby se puede usar sin tener que proporcionar credenciales de manera explícita.
Stackdriver Logging se habilita de forma automática para las aplicaciones de App Engine. No se requiere ninguna configuración adicional.
Google Kubernetes Engine
En Google Kubernetes Engine, debes agregar el nivel de acceso logging.write
cuando creas el clúster:
gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/logging.write
Compute Engine
Cuando uses las instancias de VM de Compute Engine, agrega el nivel de acceso cloud-platform
a cada instancia. Cuando creas una instancia nueva mediante Google Cloud Platform Console, puedes hacer esto en la sección Identidad y acceso a la API del panel Crear instancia. Usa la cuenta de servicio predeterminada de Compute Engine o una cuenta de servicio diferente y selecciona Permitir acceso total a las API de Cloud en la sección Identidad y acceso a la API. Sin importar la cuenta de servicio que selecciones, asegúrate de que se le otorgue la función de Escritor de registros en la sección IAM y administración de GCP Console.
Ejecuta de forma local y en otros lugares
Si deseas usar la biblioteca de Stackdriver Logging para Ruby fuera de GCP, debes suministrarle tu ID del proyecto de GCP y las credenciales correspondientes de tu cuenta de servicio de forma directa. Esto se aplica a la ejecución del agente en tu propia estación de trabajo, en las computadoras de tus centros de datos o en las instancias de VM de otro proveedor de servicios en la nube. Para obtener más información, consulta Obtén y proporciona credenciales de cuenta de servicio de forma manual.
* Con la interfaz de configuración de Ruby on Rails:Si usas el marco de trabajo de Ruby on Rails, proporciona los parámetros mediante su interfaz de configuración:
También puedes establecer la configuración compartida para todas las gemas de Stackdriver mediante el siguiente código:
Logging se habilita de forma predeterminada cuando Rails se ejecuta en el modo de producción. Para habilitar Logging en el modo de desarrollador, agrega lo siguiente:
Usa la interfaz de configuración de instrumentación:
Cuando se use en otras aplicaciones basadas en Rack, proporciona los parámetros a través de la interfaz de configuración:
También puedes establecer la configuración compartida para todas las gemas de Stackdriver mediante el siguiente código:
Mira los registros
Después de la implementación, podrás ver los registros en el Visor de registros de GCP Console.
Para obtener más información, consulta Visualiza los registros.