Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Exporta registros con Google Cloud Console

En esta página, se explica cómo exportar entradas de registro con Cloud Console y la herramienta de línea de comandos de gcloud.

También puedes exportar entradas de registro con la API de Cloud Logging.

Para obtener una descripción general conceptual sobre la exportación de registros, consulta Descripción general de las exportaciones de registros. 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 Cloud Logging recibe entradas de registro nuevas, 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.

Puedes exportar registros a los siguientes destinos:

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.

Crea y administra receptores con el explorador y el enrutador de registros

Con Cloud Console, puedes hacer lo siguiente:

  • Visualiza todos tus receptores en un solo lugar.
  • Visualiza qué entradas de registro coinciden con el filtro de tu receptor antes de crear un receptor.
  • Crea y autoriza 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 con la herramienta de línea de comandos de gcloud o la API de Cloud Logging, consulta Receptores agregados.

Para poder crear un receptor, verifica lo siguiente:

  • Si tienes un proyecto de Google Cloud con registros que puedes ver en el Explorador de registros.

  • Debes tener las funciones de IAM de Propietario o Escritor de configuración de registros o Logging en el proyecto de Cloud para crear, borrar o modificar un receptor. Ve a Permisos y funciones para obtener más información.

  • Debes tener un servicio de destino o tener la capacidad de crear un servicio de destino.

Crea un receptor

  1. Para crear un receptor desde la página Enrutador de registros, selecciona Crear receptor.

    Selecciona Crear receptor en el enrutador de registros

    Para crear un receptor desde la página Explorador de registros, selecciona Acciones > Crear receptor.

    Menú que muestra la opción para crear el receptor

    Después de seleccionar Crear receptor en cualquiera de las páginas, completa los siguientes pasos en el panel Crear receptor de enrutamiento de registros.

  2. Ingresa los detalles del receptor:

    • Nombre del receptor: proporciona un identificador para el receptor.

    • Descripción del receptor (opcional): Describe el propósito o caso práctico del receptor.

  3. Ingresa el destino del receptor:

    • Seleccionar servicio de receptores: selecciona el servicio en el que deseas enrutar tus registros.

    Los siguientes servicios y destinos están disponibles:

    • Depósito de registro de Cloud Logging: selecciona o crea un depósito de registro.
    • 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.
    • Cloud Storage: selecciona o crea el depósito de Cloud Storage específico para recibir los registros exportados.
    • Pub/Sub: selecciona o crea el tema específico para recibir los registros exportados.
    • Splunk: Selecciona el tema de Pub/Sub para tu servicio de Splunk.
    • Otro proyecto: Agrega el servicio de Google Cloud y el destino en el siguiente formato:

      SERVICE.googleapis.com/projects/PROJECT_ID/DESTINATION/DESTINATION_ID
      

      Por ejemplo, si tu destino de exportación es un conjunto de datos de BigQuery, el destino del receptor sería el siguiente:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      

  4. Elige registros para incluir en el receptor:

    • Compila un filtro de inclusión: ingresa un filtro para seleccionar los registros que deseas enrutar al destino del receptor.

    Un filtro que desees compilar es un filtro para enrutar todos los registros de acceso a datos a un solo depósito de registro. Este filtro se verá de la siguiente manera:

    LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
    

    Para verificar que ingresaste el filtro correcto, selecciona Obtener vista previa de los registros. Se abrirá el Explorador de registros en una pestaña nueva con el filtro propagado previamente. Para obtener información sobre cómo crear un filtro, consulta Lenguaje de consulta de Logging.

  5. Elige los registros que deseas excluir del receptor (opcional):

    • Crea un filtro de exclusión: selecciona Agregar exclusión y, luego, ingresa un filtro para seleccionar los registros que no deseas enrutar al destino del receptor.

    • Nombre del filtro de exclusión: Proporciona un identificador para el filtro de exclusión.

    • Frecuencia de filtro de exclusiones: Ingresa un número entero entre 0 y 100. Los registros entrantes que coinciden con el filtro de exclusión se muestrean según ese valor.

      Un valor 0 muestra 0 porciento de los registros que coinciden con el filtro; por lo tanto, 0 equivale a inhabilitar el filtro de exclusión. Un valor 100 muestra el 100 porciento de todos los registros. Por lo tanto, todos los registros que coinciden con el filtro de exclusión se excluyen del destino. Un valor 50 muestra el 50 porciento de los registros que coinciden con el filtro de exclusión; por lo tanto, se excluye el 50 porciento de los registros que coinciden con la exclusión, mientras que el otro 50 porciento se enruta al destino.

      Puedes crear hasta 50 filtros de exclusión por receptor.

  6. Selecciona Crear receptor.

Las nuevas entradas de registro que coinciden con el filtro de tu receptor se enrutan al destino del receptor. Las entradas de registro que vayan a los depósitos de registros, BigQuery o 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 información sobre cómo ver los registros en los destinos exportados, ve a la página sobre cómo usar los registros exportados.

Después de crear el receptor, puedes ver la cantidad y el volumen de las entradas de registro recibidas con las métricas logging.googleapis.com/exports/.

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.

Exporta registros a otro proyecto de Google Cloud

Puedes exportar registros a un destino en un proyecto de Cloud diferente al que se creó el receptor.

Para hacerlo, debes realizar una de las siguientes acciones:

  • Tener uno de los siguientes permisos de IAM en el proyecto de Cloud al que envías registros:

    • Propietario (roles/owner)
    • Administrador de Logging (roles/logging.admin)
    • Escritor de configuración de registros (roles/logging.configWriter)
  • Proporciona a la cuenta de servicio de tu receptor la función roles/logging.logWriter para escribir en el destino.

Para obtener más instrucciones sobre cómo proporcionar los permisos correctos a la cuenta de servicio del receptor, consulta Permisos de destino. Para ver la lista de funciones y permisos de Logging, consulta Control de acceso.

Administra receptores

Una vez que se crea tu receptor, puedes verlo en la página Enrutador de registros, en la que puedes realizar las siguientes acciones:

  • Ver los detalles del receptor
  • Edita el receptor
  • Inhabilita el receptor
  • Borra el receptor

Para ir a la página del enrutador de registros, selecciona Enrutador de registros.

Ir a Enrutador de registros

La interfaz del Enrutador de registros contiene un resumen de la tabla de los receptores. Cada fila de la tabla contiene información correspondiente a algunas de las propiedades del receptor descritas en Exportaciones de registros:

  • Tipo: el tipo de destino del receptor.
  • Nombre: El identificador del receptor en el proyecto actual.
  • Descripción: la descripción del receptor
  • Destino (Destination): nombre completo al que irán las entradas de registro exportadas.
  • Estado: Indica si el receptor está habilitado o inhabilitado.

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

  • Ver detalles del receptor: Muestra el nombre del receptor, la descripción, el servicio, el destino y los filtros de inclusión y exclusión. Si seleccionas Editar, podrás cambiar las propiedades del receptor.
  • Editar receptor: Abre un panel de Editar receptor en el que puedes cambiar los parámetros del receptor.
  • Inhabilitar el receptor: te permite inhabilitar el receptor y dejar de enrutar registros al destino del receptor.

  • Habilitar el receptor: te permite habilitar un receptor inhabilitado y reiniciar los registros de enrutamiento al destino del receptor.

  • Borrar receptor: Te permite borrar el receptor y detener el enrutamiento de los registros al destino del receptor. Los receptores _Default y _Required no se pueden borrar, pero el receptor _Default se puede inhabilitar para detener el enrutamiento de los registros al depósito de registros _Default.

Hacer clic en cualquiera de los nombres de columna te permite ordenar los datos de forma ascendente o descendente. En la parte inferior de la tabla, también puedes seleccionar la cantidad de filas que deseas mostrar.

Crea y administra receptores con la herramienta de línea de comandos de gcloud

Para crear un receptor, ejecuta el comando gcloud logging sinks create:

gcloud logging sinks create SINK_NAME SINK_LOCATION OPTIONAL_FLAGS

Por ejemplo, para crear un receptor a un depósito de registro de Cloud Logging, haz lo siguiente:

gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
  --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"

Enruta registros de un proyecto a un bucket en un proyecto diferente

Para enrutar los registros de tu proyecto actual a un bucket de un proyecto diferente, completa los siguientes pasos.

Ten en cuenta que los receptores de depósitos entre proyectos requieren agregar los permisos de administración de identidades y accesos adecuados a la cuenta de servicio que Logging crea para estos receptores. También debes habilitar la facturación en el proyecto de Google Cloud del depósito de destino.

  1. Si aún no lo hiciste, crea un bucket en el otro proyecto:

     gcloud logging buckets create BUCKET_ID --project=DESTINATION_PROJECT_ID
    
  2. Crea un receptor para enrutar los registros al otro bucket:

     gcloud logging sinks create SINK_NAME \
       logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/global/buckets/BUCKET_ID \
       --log-filter='FILTER_CONDITIONS'
    
  3. Obtén la cuenta de servicio del campo writerIdentity en tu receptor:

     gcloud logging sinks describe SINK_NAME
    

    La cuenta de servicio se verá de la siguiente manera:

     serviceAccount:p123456789012-12345@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Otorga la función roles/logging.bucketWriter a la cuenta de servicio.

    1. Obtén la política de administración de identidades y accesos para el proyecto de destino y escríbela en un archivo local en formato JSON:

      gcloud projects get-iam-policy DESTINATION_PROJECT_ID --format json > output.json
      
    2. Agrega una condición de IAM que permita que la cuenta de servicio solo escriba en el bucket que creaste. Por ejemplo:

       {
         "bindings": [
           {
             "members": [
               "user:username@gmail.com"
             ],
             "role": "roles/owner"
           },
           {
             "members": [
               "[SERVICE_ACCOUNT]"
             ],
             "role": "roles/logging.bucketWriter",
             "condition": {
                 "title": "Bucket writer condition example",
                 "description": "Grants logging.bucketWriter role to service account [SERVICE_ACCOUNT] used by log sink [SINK_NAME]",
                 "expression":
                   "resource.name.endsWith("locations/global/buckets/BUCKET_ID")"
             }
           }
         ],
         "etag": "BwWd_6eERR4=",
         "version": 3
       }

    3. Actualiza la política de IAM:

      gcloud projects set-iam-policy DESTINATION_PROJECT_ID output.json
      

Detén la transferencia de los registros

Cuando inhabilitas la transferencia de registros para el depósito _Default, si inhabilitas el receptor _Default y otros receptores de enrutamiento que se enrutan al depósito _Default, Cloud Logging deja de transferir y almacenar tus datos de registros en el _Default depósito. El depósito _Default contiene registros hasta que se cumplan las dos condiciones siguientes:

  • No hay una ruta de receptores para el depósito _Default.

  • El período de retención del depósito caducó.

Una vez que inhabilitaste todos los receptores que envían registros al depósito _Default, Cloud Logging ya no cobra por transferir registros nuevos al depósito.

Para inhabilitar la transferencia de registros, completa los siguientes pasos:

  1. Ve al enrutador de registros.

    Ir a Enrutador de registros

  2. Para encontrar todos los receptores que enrutan los registros al depósito _Default, filtra los receptores por destino y, luego, ingresa _Default.

    Buscar todos los receptores que enruten los registros al depósito predeterminado

  3. Para cada receptor, selecciona Menú y, luego, Inhabilitar receptor.

    El receptor predeterminado está inhabilitado

Los receptores están inhabilitados y Cloud Logging ya no enruta registros al depósito _Default.

Permisos de destino

En esta sección, se describe cómo otorgar a Logging los permisos de administración de identidades y accesos para escribir los registros exportados en el destino de exportación del receptor.

Cuando creas un receptor, Logging crea una cuenta de servicio nueva 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, ve a laEnrutador de registros y seleccionamenú > Ver detalles del receptor las rutas "a GCP". La identidad de escritor aparece en el panel Detalles del receptor (Sink details).
    • Si usas gcloud logging, las identidades del escritor aparecen cuando generas una lista de tus receptores.
    • Si usas la API de Logging, puedes obtener la identidad de escritor desde el objeto LogSink.
  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.
    • Para los destinos de depósitos de registros, agrega la identidad de escritor del receptor al depósito de registro a fin de otorgarle el permiso roles/logging.bucketWriter.
  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 escritura 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 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.

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 filtro no es correcto. Verifica el filtro para verificar que las entradas de registro que coincidan con tu filtro hayan llegado recientemente a Logging. corregir errores ortográficos o errores de formato.

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

      Hay una demora antes de poder 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 mediante 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 bucket [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 bucket. Agrega los permisos necesarios al bucket o actualiza tu receptor para que use un bucket diferente. Consulta Permisos de destino.
No hay ningún bucket con este nombre: [YOUR_BUCKET]. Es posible que haya un error en el nombre del bucket, o que el bucket se haya borrado. Actualiza tu receptor con el destino de bucket 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 la tabla.
O el error: table_invalid_schema.
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. Consulta Esquema de BigQuery para registros exportados a fin de obtener más instrucciones.
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 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?