Exporta con el visor de registros

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

Si no estás familiarizado con la exportación de registros en Logging, consulta la Descripción general de Logs Export. En resumen, los registros se exportan mediante la creación de uno o más receptores que incluyen un filtro de registros y un destino de exportación. A medida que Stackdriver Logging recibe nuevas entradas de registro, se las compara con cada receptor. Si una entrada de registro coincide con el filtro de un receptor, se escribe una copia de la entrada de registro en el destino de exportación.

Para obtener información sobre cómo se formatean y organizan los registros exportados, consulta Usa registros exportados.

Comenzar

  1. Dirígete a la página Stackdriver Logging > Logs Exports (Exportaciones de registros) en GCP Console:

    Ir a Logs Exports

  2. Selecciona un proyecto de GCP existente en la parte superior de la página. Verás la lista de las exportaciones de registros en tu proyecto de GCP.

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

Página de exportación

Si aún no configuraste ningún receptor de registros, verás el mensaje No Log sinks are configured (No se configuraron receptores de registros) en lugar de la lista anterior.

Antes de comenzar

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

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

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

Interfaz de usuario de Logs Exports

La interfaz de Logs Exports 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 Descripción general de Logs Exports:

  • 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
  • Writer Identity (Identidad de escritor): 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ú ampliado en el extremo derecho y muestra las siguientes opciones:

  • Edit sink (Editar receptor): abre un panel Edit Export (Editar exportación) en el que puedes cambiar los parámetros del receptor.
  • Delete sink (Borrar receptor): te permite borrar el receptor y detener la exportación de registros.
  • View filter (Ver filtro): muestra el filtro del receptor. Si haces clic en Edit (Editar), podrás cambiar las propiedades o el filtro del receptor.

El cuadro de filtro de búsqueda que se encuentra sobre la tabla te permite filtrar tus receptores por búsqueda de texto o por las propiedades Sink name, Destination y Writer Identity. Por ejemplo, la siguiente captura de pantalla muestra una búsqueda en bigquery como Destination y opciones para concatenar otras propiedades de receptores al argumento mediante OR (AND se usa de forma predeterminada):

Filtro de exportación

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 exportaciones, haz clic en el botón Create Export (Crear exportación) en la parte superior de la página Logs Exports. También puedes acceder a este botón en la parte superior de la página del Visor de registros.

Si tu cuenta carece del permiso para crear exportaciones en el proyecto, este botón se inhabilitará. Consulta la sección anterior Antes de comenzar para obtener más información.

La siguiente captura de pantalla muestra el panel Edit Export con algunos campos completados:

Configurar exportación

Para crear un receptor, completa el panel Edit Export de la siguiente manera:

  1. (filtro): ingresa un filtro de registro avanzado. No necesitas comillas alrededor del filtro y puedes usar varias líneas. El filtro inicial se determina con las entradas de registro que se muestran cuando haces clic en Create Export.

    Cada vez que edites el filtro, presiona Submit Filter (Enviar filtro) debajo del cuadro de filtro para mostrar las entradas de registro coincidentes. Haz clic en el ícono Jump to newest logs (Ir a los registros más recientes) en la parte superior de la página para obtener los registros más recientes.

    Si deseas usar la interfaz de vista básica para seleccionar los registros, usa el menú ▾ en el lado derecho del cuadro de filtro de búsqueda.

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

  3. Sink Service (Servicio de receptor): selecciona un servicio de destino: Cloud Storage, Cloud Pub/Sub, BigQuery o Custom Destination (Destino personalizado).

    Un destino de exportación personalizado también debe encontrarse en Cloud Storage, BigQuery o Cloud Pub/Sub, pero te permite enviar registros a un receptor en un proyecto diferente.

  4. Sink Destination (Destino del receptor):

    1. Cloud Storage: selecciona o crea el depósito particular para recibir los registros exportados.
    2. Cloud Pub/Sub: selecciona o crea el tema particular para recibir los registros exportados.
    3. BigQuery: selecciona o crea el conjunto de datos particular para recibir los registros exportados.
    4. Custom Destination: agrega el proyecto de Cloud Storage, Cloud Pub/Sub o BigQuery como una string. Para obtener información sobre el formato del nombre del proyecto, consulta Propiedades de los receptores.
  5. Haz clic en Update Sink (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 enviar la identidad de escritor del receptor al administrador, que se muestra con el receptor en la página Exports (Exportaciones).

Las nuevas entradas de registro que coincidan con tu receptor comenzarán a exportarse. Las entradas de registro que vayan a BigQuery o Cloud Pub/Sub se transmitirá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, consulta Usa registros exportados.

Si Logging encuentra errores cuando se intenta exportar registros a tu destino de exportación, los errores aparecerán en Activity Stream (Flujo de actividad) en tu proyecto. Selecciona Activity (Actividad) en la parte superior de la página principal de tu proyecto en Google Cloud Platform Console. Para diagnosticar errores comunes, consulta Solución de problemas.

Actualiza receptores

Para actualizar un receptor, selecciona el comando Edit sink en el menú More (Más) a la derecha del nombre del receptor. Puedes cambiar cualquiera de los siguientes parámetros:

  • Destino
  • Filtro

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

Borra receptores

Para borrar un receptor, selecciónalo en la página Exports y presiona Delete (Borrar) en la parte superior de la página. También puedes seleccionar Delete sink en el menú More a la derecha del nombre del receptor.

Permisos de destino

En esta sección, se describe cómo puedes otorgar el permiso de Logging para escribir registros exportados en el destino de exportación de tu 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 de forma directa, ya que la posee y administra Stackdriver Logging. 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 nuevo receptor en GCP Console, la interfaz de línea de comandos de gcloud logging o la API de Logging.

  2. Si creaste tu receptor en GCP Console y tienes acceso de Propietario al destino, entonces Stackdriver Logging debería haber configurado los permisos necesarios en tu nombre. 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 GCP Console, puedes ver la identidad de escritor en la lista de receptores de la página Exports.
    • Si usas la API de Logging, puedes obtener la identidad de escritor desde el objeto LogSink.
    • Si usas gcloud logging, puedes ver las identidades de escritor cuando enumeras 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 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 Editor de datos de BigQuery.
    • Para Cloud Pub/Sub, agrega la identidad de escritor del receptor a tu tema y asígnale la función 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 no tiene el permiso necesario sobre el destino de exportación, informará sobre un error y omitirá la entrada de registro. Esto continuará hasta que se otorgue el permiso, momento en el que el receptor comenzará a exportar nuevas entradas de registro.

Hay una demora inevitable entre la creación del receptor y el uso de su nueva cuenta de servicio para autorizar la escritura en el destino de exportación. Puedes ignorar cualquier mensaje de error del receptor durante la demora.

Ventajas y limitaciones

GCP Console tiene las siguientes ventajas en comparación con la API de Logging:

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

Sin embargo, GCP Console solo puede crear o ver receptores en proyectos. Para crear receptores en organizaciones, carpetas o cuentas de facturación, consulta Exportaciones agregadas.

Solución de problemas

En esta sección, se enumeran algunos errores posibles y resultados inesperados, y se explica qué hacer al respecto.

Los errores de los receptores aparecen en Activity Stream en el proyecto o recurso en el que se creó el receptor. Consulta el flujo de actividad en la página principal del recurso en GCP Console.

Problemas generales

Problema Causa Solución
Tus nuevas entradas de registro se exportan, pero las anteriores no. Logging solo exporta las entradas de registro que se reciben después de que se configura la exportación. Usa el método de API entries.list para recuperar tus entradas de registro más antiguas y luego escríbelas en el destino de exportación con la API del servicio de destino. Solo puedes recuperar las entradas de registro que no alcanzaron su fecha de vencimiento en Stackdriver Logging. Para obtener más información, consulta Límites de retención de registros.

Errores en la exportación a Cloud Storage

En la siguiente tabla, se enumeran los errores más comunes cuando configuras Logging para exportar 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 suficientes permisos sobre 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.

Errores en la exportación a BigQuery

En la siguiente tabla, se enumeran los errores más comunes cuando configuras Logging para exportar 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 el filtro de tu receptor para que coincida con menos entradas de registro o usar la función sample().
Los registros transmitidos a la tabla de partición [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 Cloud Pub/Sub

En la siguiente tabla, se enumeran los errores más comunes cuando configuras Logging para exportar registros a Cloud 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 suficientes permisos sobre 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.

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Stackdriver Logging
Si necesitas ayuda, visita nuestra página de asistencia.