Exporta con el visor de registros

En esta página, se explica cómo exportar entradas de registro con Cloud Console. También puedes exportar entradas de registro con la API de Cloud Logging o la herramienta de línea de comandos de gcloud logging.

Para obtener una descripción general conceptual sobre la exportación de registros en Logging, consulta Descripción general de las exportaciones de registros. En resumen, puedes exportar registros si creas uno o más receptores que incluyan una consulta de registros y un destino de exportación. A medida que Cloud Logging recibe nuevas entradas de registro, se las comparan con cada receptor. Si una entrada de registro coincide con la consulta de un receptor, se escribe una copia de la entrada de registro en el destino de exportación.

Los destinos admitidos para las entradas de registro exportadas son Cloud Storage, BigQuery y Pub/Sub.

Para obtener información sobre cómo se les da formato y se organizan los registros exportados, además de cómo verlos, ve a Usa registros exportados.

Antes de comenzar

  • Proyecto: debes tener un proyecto de Google Cloud con registros que puedas ver en el visor de registros.

    También debes tener las funciones de propietario o escritor de configuración de registros de Logging de Cloud IAM en el proyecto para crear, borrar o modificar un receptor. Ve a Permisos y funciones para obtener más información.

  • Servicio de destino: para exportar registros, debes registrarte en el servicio de Google Cloud en el que escribirás tus registros: Cloud Storage, BigQuery o Pub/Sub.

Comenzar

  1. Ve a Cloud Logging > Enrutador de registros en Cloud Console:

    Ir a Enrutador de registros

  2. Selecciona un proyecto existente de Google Cloud en la parte superior de la página.

En la siguiente captura de pantalla, se muestra un ejemplo de la página Enrutador de registros, en la que ya se configuraron varios receptores de registros:

La interfaz de usuario que muestra la lista de exportaciones.

Si aún no configuraste ningún receptor de registros, se mostrará el mensaje No hay receptores de registros configurados.

Interfaz de usuario del enrutador de registros

La interfaz enrutador de registros contiene una tabla de resumen de las exportaciones. Cada fila de la tabla contiene información correspondiente a algunas de las propiedades del receptor descritas en Exportaciones de registros:

  • Sink Name (Nombre del receptor): el identificador del receptor en el proyecto actual
  • Destination (Destino): ubicación a la cual irán las entradas de registro exportadas
  • Identidad de escritor (Writer Identity): la cuenta de servicio que Logging usa para escribir entradas de registro en el destino. Esta cuenta de servicio debe tener permiso para escribir en el destino de exportación del receptor.

Cada fila de la tabla tiene un menú en el extremo derecho y cuenta con las siguientes opciones:

  • Editar receptor (Edit Sink): Abre un panel de Editar receptor donde puedes cambiar los parámetros del receptor.
  • Borrar receptor: te permite borrar el receptor y detener la exportación de registros.
  • Ver detalles del receptor: Muestra la consulta del receptor. Si haces clic en Editar, podrás cambiar las propiedades o la consulta del receptor.

El cuadro de búsqueda que se encuentra sobre la tabla te permite consultar tus receptores por búsqueda de texto o por las siguientes propiedades: Nombre del receptor (Sink name), Destino (Destination) y por Identidad del escritor (Writer Identity). Por ejemplo, en la siguiente captura de pantalla, se muestra una búsqueda en bigquery como Destino (Destination) y opciones para concatenar otras propiedades del receptor al argumento por OR (O) (Y es la configuración predeterminada):

La interfaz de usuario que muestra una búsqueda.

Además, si haces clic en cualquiera de los nombres de columna, podrás ordenar datos en orden ascendente o descendente. En la parte inferior de la tabla, también puedes seleccionar la cantidad de filas que deseas mostrar.

Crea receptores

Para crear un receptor de exportación, haz clic en Crear receptor en la parte superior de la página Enrutador de registros. También puedes hacerlo en la parte superior de la página Visor de registros.

Si tu cuenta de servicio no tiene el permiso necesario a fin de crear exportaciones para el proyecto, esta opción no está disponible. Consulta la sección Antes de comenzar para obtener más información.

La siguiente captura de pantalla muestra el panel Editar receptor (Edit sink) con algunos campos completados:

La interfaz de usuario que muestra el panel de edición de la exportación.

Para crear un receptor, completa el panel Editar receptor (Edit Sink) de la siguiente manera:

  1. (filtro): ingresa una consulta de registros avanzada. No necesitas las comillas en la consulta y puedes usar varias líneas. La consulta inicial está determinada por las entradas de registro que se muestran cuando haces clic en Crear exportación.

    Cuando edites la consulta, haz clic en Enviar consulta para ver las entradas de registro coincidentes. Haz clic en Ir a los registros más recientes para recuperar los registros más recientes.

    Si deseas usar la interfaz de visualización básica para seleccionar los registros, usa el menú desplegable en el cuadro de búsqueda.

  2. Sink name: ingresa el identificador que deseas asignar al receptor.

  3. Servicio del receptor: selecciona un servicio de destino: Cloud Storage, Pub/Sub, BigQuery o Destino personalizado.

    Un destino de exportación personalizado debe estar en Cloud Storage, BigQuery o Pub/Sub, pero te permite enviar registros a un receptor en otro proyecto de Google Cloud. La fuente del receptor y el destino no tienen que estar en la misma organización de Google Cloud.

  4. Destino del receptor:

    1. Cloud Storage: selecciona o crea el depósito específico para recibir los registros exportados.
    2. Pub/Sub: selecciona o crea el tema específico para recibir los registros exportados.
    3. BigQuery: selecciona o crea el conjunto de datos específico para recibir los registros exportados. También tienes la opción de usar tablas particionadas.
    4. Destino personalizado: agrega el proyecto de Cloud Storage, Pub/Sub o BigQuery de Google Cloud como una string. Para obtener información sobre el formato del nombre del proyecto, consulta la sección sobre propiedades del receptor.
  5. Haz clic en Actualizar receptor para crear el receptor.

    Como parte de la creación del receptor, Logging intenta otorgar el permiso de identidad de escritor del receptor para escribir en tu destino. Si exportas a un destino en un proyecto que no sea el que posee tus registros, un administrador del nuevo destino debe otorgar el permiso. Debes enviarle al administrador la identidad del escritor del receptor, que aparece con el receptor en la página Router.

Comienzan a exportarse las entradas de registro nuevas que coinciden con tu receptor. Las entradas de registro que vayan a BigQuery o Pub/Sub se transmitirán a esos destinos de exportación de inmediato. Las que vayan a Cloud Storage se enviarán por lotes alrededor de una vez por hora. Para obtener más información, ve a la página Usa registros exportados.

Si Logging experimenta errores cuando se intentan exportar registros a tu destino de exportación, los errores aparecerán en Flujo de actividad en tu proyecto. Selecciona Actividad en la parte superior de la página principal de tu proyecto en Google Cloud Console. Para diagnosticar errores comunes, ve a la sección sobre solución de problemas que se encuentra más abajo.

Actualiza receptores

Para actualizar un receptor, selecciona el comando Editar receptor en el menú que se encuentra a la derecha del nombre del receptor. Puedes cambiar cualquiera de los siguientes parámetros:

  • Destino
  • Consulta

Para cambiar otros parámetros de tus receptores, usa el método de API projects.sinks.update.

Borra receptores

Para eliminar un receptor, selecciona el receptor en la página Enrutador y haz clic en Eliminar en la parte superior de la página. También puedes seleccionar Eliminar receptor en el menú a la derecha del nombre del receptor.

Permisos de destino

En esta sección, se describe cómo otorgar a Logging los permisos de Cloud Identity and Access Management para escribir los registros exportados en el destino de exportación del receptor.

Cuando creas un receptor, Logging crea una nueva cuenta de servicio para él, denominada identidad de escritor única. No puedes administrar esta cuenta de servicio directamente, ya que Cloud Logging es el propietario y el que la administra. La cuenta de servicio se borra si se borra el receptor.

Tu destino de exportación debe permitir que esta cuenta de servicio escriba entradas de registro. Para configurar este permiso, sigue estos pasos:

  1. Crea el receptor nuevo en Cloud Console, la interfaz de línea de comandos de gcloud logging o la API de Logging.

  2. Si creaste el receptor en Cloud Console y tienes acceso de Propietario al destino, entonces Cloud Logging debería haber configurado los permisos necesarios por ti. Si es así, no tienes que hacer nada más. De lo contrario, continúa con los siguientes pasos.

  3. Obtén la identidad de escritor del receptor nuevo, que es una dirección de correo electrónico:

    • Si usas Cloud Console, la identidad del escritor aparece en la lista del receptor en la página Router.
    • Si usas la API de Logging, puedes obtener la identidad de escritor desde el objeto LogSink.
    • Si usas gcloud logging, las identidades del escritor aparecen cuando generas una lista de tus receptores.
  4. Si tienes acceso de Propietario al destino, agrega la cuenta de servicio de la siguiente manera:

    • Para los destinos de Cloud Storage, agrega la identidad de escritor del receptor a tu depósito y asígnale la función de creador de objetos de almacenamiento.
    • Para los destinos de BigQuery, agrega la identidad de escritor del receptor a tu conjunto de datos y asígnale la función de editor de datos de BigQuery.
    • En el caso de Pub/Sub, agrega la identidad de escritor del receptor a tu tema y asígnale la función de publicador de Pub/Sub.

    Esto completa la autorización.

  5. Si no tienes acceso de Propietario al destino de exportación, envía el nombre de la cuenta de servicio de la identidad de escritor a alguien que tenga esa capacidad. Esa persona debe seguir las instrucciones del paso anterior para agregar la identidad de escritor al destino de exportación.

Retrasos en la autorización

Si un receptor intenta exportar una entrada de registro, pero carece del permiso de Cloud IAM correspondiente al destino de exportación, el receptor informa un error y omite la entrada de registro. Esto continúa hasta que se otorga el permiso, momento en el que el receptor comienza a exportar entradas de registro nuevas.

Existe una demora entre la creación del receptor y el uso de su cuenta de servicio nueva para autorizar la escritura en el destino de exportación. Durante las primeras 24 horas después de la creación del receptor, es posible que veas mensajes de error relacionados con permisos del receptor en la página Actividad del proyecto, pero puedes ignorarlos.

Ventajas y limitaciones

Cloud Console tiene las siguientes ventajas sobre la API de Logging:

  • Cloud Console muestra todos tus receptores en un solo lugar.
  • Cloud Console te muestra qué entradas de registro coinciden con tu consulta de receptor antes de crear un receptor.
  • Cloud Console puede crear y autorizar destinos de exportación para tus receptores.

Sin embargo, Cloud Console solo puede crear o ver receptores en los proyectos. Para crear receptores en organizaciones, carpetas o cuentas de facturación, lee Receptores agregados.

Soluciona problemas

A continuación, se describen algunos problemas comunes que puedes encontrar cuando exportas registros y qué hacer al respecto:

  • Errores del destino: verifica la especificación del destino de exportación en el receptor. Usa projects.sinks.get a fin de encontrar la identidad de escritor para tu receptor y asegúrate de que la identidad tenga permisos de escritura en tu destino de exportación.

  • No se exportan registros: a continuación se mencionan algunas razones posibles:

    • Tu consulta es incorrecta. Revisa tu consulta de exportación para verificar si las entradas de registro que coinciden con tu consulta llegaron recientemente a Logging; corrige cualquier error ortográfico o de formato.

    • No se recibieron entradas de registro coincidentes desde que creaste o actualizaste tu receptor; solo se exportan entradas de registro nuevas.

      Toma un tiempo antes de que puedas ver los registros exportados en el destino. Esto sucede en particular en los destinos de Cloud Storage. Para obtener más información, consulta la página Disponibilidad de registros exportados.

      También puedes consultar las métricas del sistema de exportación. Estas métricas del sistema de exportación te pueden decir cuántas entradas de registro se exportan y cuántas se descartan debido a errores.

Tu receptor comienza a exportar registros cuando se corrigen los errores.

Para ver los errores del receptor con el visor de registros, haz lo siguiente:

  1. Ve a Flujo de actividad del proyecto o de otro recurso donde se creó el receptor:

    Ir a Flujo de actividad

  2. En el panel Filtros, selecciona Tipo de actividad > Configuración y Tipo de recurso > Receptor de exportación de registro.

  3. Ajusta la Fecha y hora para ver los errores de receptor durante el período correspondiente.

    Aparecerán los errores del receptor.

En las siguientes secciones, se enumeran algunos posibles errores específicos del servicio y resultados inesperados, y se explica qué hacer al respecto.

Errores en la exportación a Cloud Storage

En la siguiente tabla, se enumeran los errores más comunes cuando se exportan registros a Cloud Storage:

Error Causa Solución
Los permisos del depósito [YOUR_BUCKET] no permiten que el grupo de registros cree objetos nuevos. La identidad de escritor del receptor no tiene los permisos correctos para el depósito. Agrega los permisos necesarios al depósito o actualiza tu receptor para que use un depósito diferente. Consulta Permisos de destino.
No hay ningún depósito con este nombre: [YOUR_BUCKET]. Es posible que haya un error en el nombre del depósito, o que el depósito se haya borrado. Actualiza tu receptor con el destino de depósito correcto.
El receptor se creó correctamente. Sin embargo, no pudimos otorgar los permisos correctos para el destino. El modelo de control de acceso del depósito se estableció en Uniforme cuando se creó el depósito.

(Este mensaje de error continúa mostrándose después de agregar la cuenta de servicio).
Selecciona el modelo de control de acceso Detallado durante la creación del depósito. Para los depósitos existentes, puedes cambiar el modelo de control de acceso durante los primeros 90 días posteriores a la creación del depósito mediante la pestaña Permisos.

Errores en la exportación a BigQuery

En la siguiente tabla, se enumeran los errores más comunes cuando se exportan registros a BigQuery:

Error Causa Solución
Los permisos del conjunto de datos [YOUR_DATASET] no permiten que el grupo de registros cree tablas nuevas. La identidad de escritor del receptor no tiene suficientes permisos sobre el conjunto de datos. Agrega el permiso al conjunto de datos. Consulta Permisos de destino.
No hay ningún conjunto de datos con este nombre: [YOUR_DATASET]. Es posible que haya un error en el destino de tu receptor o que alguien haya borrado el conjunto de datos. Vuelve a crear el conjunto de datos o actualiza el receptor de exportación para que use un conjunto de datos diferente.
Los registros transmitidos a la tabla [YOUR_TABLE] en el conjunto de datos [YOUR_DATASET] no coinciden con el esquema de tablas. Intentas exportar registros que son incompatibles con el esquema de la tabla actual. Asegúrate de que tus entradas de registro coincidan con el esquema de la tabla. Los problemas comunes incluyen el envío de entradas de registro con diferentes tipos de datos. Por ejemplo, uno de los campos en la entrada de registro es un número entero, mientras que una columna correspondiente en el esquema tiene un tipo de string. El flujo de actividad contiene un vínculo a una de las entradas de registro no válidas. Después de corregir el origen del error, puedes cambiar el nombre de tu tabla actual y dejar que Logging cree la tabla de nuevo.
Se superó la cuota de inserción de transmisión por tabla en la tabla [YOUR_TABLE] del conjunto de datos [YOUR_DATASET]. Exportas demasiadas entradas de registro muy rápido. Consulta los límites de cuota predeterminados de BigQuery, que se aplican a la transmisión de registros. Disminuye la cantidad de datos de registro que genera tu receptor. Puedes actualizar la consulta de tu receptor para que coincida con menos entradas de registro o usar la función sample().
Los registros transmitidos a la tabla particionada [YOUR_TABLE] se encuentran fuera de los límites de tiempo permitidos. BigQuery no acepta registros con fechas muy lejanas en el pasado o el futuro. Los registros fuera de los límites de tiempo permitidos no se pueden exportar con receptores. Puedes exportar esos registros a Cloud Storage y usar un trabajo de carga de BigQuery en su lugar. Consulta la documentación de BigQuery para obtener más instrucciones.
Los registros no se pueden transmitir al conjunto de datos [YOUR_DATASET] porque una política de la organización prohíbe esa operación. Existe una política de la organización que impide la escritura en el conjunto de datos seleccionado. Consulta la documentación para obtener más detalles sobre las políticas de la organización. Modifica tu receptor de exportación para que use un conjunto de datos compatible.

Errores en la exportación de registros a Pub/Sub

En la siguiente tabla, se enumeran los errores más comunes en la exportación de registros a Pub/Sub:

Error Causa Solución
[ACCOUNT] necesita permiso de edición sobre [PROJECT] para publicar a [TOPIC]. La identidad de escritor del receptor no tiene los permisos correctos para el tema. Agrega los permisos necesarios a tu proyecto. Consulta Permisos de destino.
El tema [TOPIC] no existe. Quizás borraste el tema configurado para recibir tus registros exportados. Vuelve a crear el tema con el mismo nombre o cambia la configuración de exportación para usar un tema diferente.

Qué sigue