Configura Cloud Logging para Python

Puedes escribir registros en Logging desde aplicaciones de Python mediante el controlador de registros de Python, que se incluye en la biblioteca cliente de Logging, o directamente mediante la biblioteca cliente de Cloud de la API de Cloud Logging para Python.

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 la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página Selector de proyectos

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

  4. Habilita las Cloud Logging API.

    Habilita la API

  5. Prepara tu entorno para el desarrollo en Python.

    Ir a la guía de configuración de Python

Instala la biblioteca

Si quieres instalar la biblioteca de Cloud Logging para Python, consulta Instala la biblioteca cliente.

Una vez instalada, esta biblioteca incluye controladores de registros a fin de conectar el módulo de registro estándar de Python a Logging, así como una biblioteca cliente de la API para acceder a Cloud Logging de forma manual.

Conecta la biblioteca al registro de Python

Cuando adjuntas el controlador de Cloud Logging al registrador raíz de Python para enviar todas las entradas de registro a Cloud Logging, usa el método auxiliar setup_logging:

# Imports the Cloud Logging client library
import google.cloud.logging

# Instantiates a client
client = google.cloud.logging.Client()

# Retrieves a Cloud Logging handler based on the environment
# you're running in and integrates the handler with the
# Python logging module. By default this captures all logs
# at INFO level and higher
client.get_default_handler()
client.setup_logging()

Usa el registrador raíz de Python

Una vez que se adjunta el controlador, se enviarán a Logging todos los registros a nivel de INFO o superior que se emitan en tu aplicación de forma predeterminada:

# Imports Python standard library logging
import logging

# The data to log
text = 'Hello, world!'

# Emits the data using the standard logging module
logging.warning(text)

Si los mensajes se registran en Logging desde App Engine o Google Kubernetes Engine, el controlador los enviará a los respectivos tipos de recursos de esos entornos. De lo contrario, los registros aparecerán de forma predeterminada debajo del registro python en el tipo de recurso Global.

Configura el controlador de registro

Si deseas adjuntar el controlador de registros de Cloud Logging solo para seleccionar registradores de Python, o si deseas configurar el controlador de registros, consulta la documentación de la biblioteca de API.

Si deseas obtener más información sobre la instalación, consulta la documentación de la biblioteca de Cloud Logging para Python. También puedes informar problemas mediante la Herramienta de seguimiento de errores.

Usa la biblioteca cliente de Cloud directamente

Si quieres obtener información sobre cómo usar la biblioteca cliente de Cloud Logging para Python directamente, consulta Bibliotecas cliente de Cloud Logging.

Ejecuta en Google Cloud

Si deseas usar la biblioteca de Cloud Logging para Python, necesitarás la función de Escritor de registros de Cloud IAM en Google Cloud. La mayoría de los entornos de Google Cloud 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 Cloud Logging para Python se puede usar sin necesidad de proporcionar credenciales de forma explícita.

Cloud Logging está habilitado 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 permiso 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 permiso de acceso cloud-platform a cada instancia. Si creas una instancia nueva a través de Google Cloud 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 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. Asegúrate de que la cuenta de servicio que selecciones tenga la función de escritor de registros en la sección IAM y administración de Cloud Console.

Ejecuta de forma local y en otros lugares

Si deseas usar la biblioteca de Cloud Logging para Python fuera de Google Cloud, incluida su ejecución en tu propia estación de trabajo, en las computadoras de tu centro de datos o en las instancias de VM de otro proveedor de servicios en la nube, debes proporcionar el ID de tu proyecto de Google Cloud y las credenciales de la cuenta de servicio adecuada directamente a la biblioteca de Cloud Logging para Python.

Puedes crear y obtener credenciales de cuentas de servicio de forma manual. Cuando especifiques el campo Función, usa la función escritor de registros. Para obtener más información sobre las funciones de Cloud Identity and Access Management, consulta la Guía de control de acceso.

Visualiza los registros

Después de la implementación, puedes ver los registros en el visor de registros de Cloud Console.

Ir al Visor de registros

En el visor de registros, debes especificar uno o más recursos, aunque la selección de recursos puede no ser obvia. Aquí encontrarás algunas sugerencias que te ayudarán a comenzar:

  • Si implementas tu aplicación en App Engine o utilizas las bibliotecas específicas de App Engine, configura tu recurso como Aplicación de GAE.

  • Si implementas tu aplicación en Compute Engine, configura el recurso como Instancia de VM de GCE.

  • Si implementas tu aplicación en Google Kubernetes Engine, la configuración de registro de tu clúster determina el tipo de recurso de las entradas de registro. Para obtener información detallada sobre Google Cloud's operations suite heredado, las soluciones de Kubernetes Monitoring de Google Cloud's operations suite, y cómo estas dos opciones afectan el tipo de recurso, consulta Migra a Kubernetes Monitoring de Google Cloud's operations suite.

  • Si la aplicación usa la API de Cloud Logging directamente, el recurso depende de la API y de tu configuración. Por ejemplo, en la aplicación, puedes especificar un recurso o usar un recurso predeterminado.

  • Si no ves ningún registro en el visor de registros, cambia al modo de consulta avanzada y usa una consulta vacía para ver todas las entradas de registro.

    1. Para cambiar al modo de consulta avanzada, haz clic en menú (▾) en la parte superior del visor de registros y selecciona Convertir a filtro avanzado.
    2. Borra el contenido que aparece en el cuadro de filtro.
    3. Haz clic en Enviar filtro.

    Puedes examinar las entradas individuales para identificar tus recursos.

Para obtener más información, consulta Visualiza los registros y Consultas de registros avanzadas.