Configura Cloud Logging para Python

Puedes escribir registros en Cloud Logging desde aplicaciones de Python. usando el controlador de registros estándar de Python o el Biblioteca cliente de la API de Cloud Logging para Python directamente. Cuando usa el controlador de registros estándar de Python, debes adjuntar un del controlador de Cloud Logging al controlador raíz de Python. Este documento ilustra ese enfoque.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Enable the Cloud Logging API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Enable the Cloud Logging API.

    Enable the API

  8. Prepara tu entorno para el desarrollo en Python.

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

Cómo instalar la biblioteca

Si deseas instalar la biblioteca de Cloud Logging para Python, consulta Instala la biblioteca cliente para Python. Esta biblioteca te permite adjuntar un controlador de Cloud Logging al estándar Controlador raíz de Python. También puedes usar esta biblioteca para enviar APIs las solicitudes a Cloud Logging.

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.

Escribe registros con el controlador de registros estándar de Python

Para enviar todas las entradas de registro que se escriben con el estándar Del controlador raíz de Python a Cloud Logging, haz lo siguiente:

  1. Adjunta el controlador de Cloud Logging al registrador raíz de Python llamando el método 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.setup_logging()

    Para obtener información sobre cómo configurar el controlador de registros, consulta Integración con la biblioteca estándar de Logging.

  2. Escribe datos de registro con el registrador raíz de Python:

    # 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)

    De forma predeterminada, cualquier registro cuyo nivel de gravedad sea de al menos INFO que escribe tu aplicación se envían a Cloud Logging.

    Si los mensajes se registran en Logging desde App Engine o Google Kubernetes Engine y, luego, el controlador las envía a las propiedades de esos entornos respectivo los tipos de recursos; De lo contrario, los registros se enumeran en el registro python en la Tipo de recurso Global.

Escribe registros con la biblioteca cliente de Cloud Logging

Si deseas obtener información sobre el uso de la biblioteca cliente de Cloud Logging para Python directamente, consulta Bibliotecas cliente de Cloud Logging.

Ejecuta en Google Cloud

Para que una aplicación escriba registros con la biblioteca de Cloud Logging para Python, la cuenta de servicio del recurso subyacente debe tener la Rol de IAM de Escritor de registros (roles/logging.logWriter). La mayoría de los entornos de Google Cloud configuran automáticamente cuenta de servicio para tener este rol.

App Engine

Cloud Logging se habilita automáticamente para App Engine, y la API de cuenta de servicio predeterminada tiene los permisos de IAM de forma predeterminada para escribir entradas de registro.

Para obtener más información, consulta Escribir y visualizar registros.

Google Kubernetes Engine (GKE)

GKE otorga automáticamente la cuenta de servicio predeterminada. el rol de IAM de escritor de registros (roles/logging.logWriter). Si usas Federación de identidades para cargas de trabajo para GKE con esta cuenta de servicio predeterminada para permitir que las cargas de trabajo accedan a recursos las APIs de Google Cloud, no se requiere ninguna configuración adicional. Sin embargo, si usas la Federación de identidades para cargas de trabajo para GKE con una cuenta de servicio de IAM personalizada y, luego, asegúrate de que la cuenta tiene el rol de Escritor de registros (roles/logging.logWriter).

Si es necesario, también puedes usar el siguiente comando para 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. Cuando crees una instancia nueva a través del consola de Google Cloud, 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. Cualquiera que sea el servicio que selecciones, asegúrate de que se le haya otorgado la El rol de escritor de registros en IAM y Administrador de la Consola de Google Cloud

Ejecuta de forma local y en otros lugares

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

Para las cuentas de servicio existentes, haz lo siguiente:

  1. Otorga la IAM a la cuenta de servicio Rol de IAM de Escritor de registros (roles/logging.logWriter). Para obtener más información sobre IAM, consulta Control de acceso.

  2. Configura las credenciales predeterminadas de la aplicación.

Si no tienes una cuenta de servicio, crea una. Para obtener información sobre este proceso, consulta Crea cuentas de servicio.

Si quieres obtener información general sobre los métodos que puedes usar para la autenticación, consulta Terminología: cuentas de servicio.

Consulta los registros

En la consola de Google Cloud, ve a la página Explorador de registros.

Ir al Explorador de registros

Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

En el Explorador 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 una debate sobre la observabilidad de Google Cloud heredada y la observabilidad las soluciones de Kubernetes Monitoring y cómo esas opciones afectan la tipo de recurso, consulta Migra a Kubernetes Monitoring de Google Cloud Observability.

  • 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 Explorador 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 información adicional, consulta Usa el Explorador de registros.