Cómo consultar un conjunto de datos vinculado de BigQuery

En este documento, se describe cómo crear un conjunto de datos vinculado para un bucket de registros y cómo consultar y ver los registros en ese conjunto de datos. Por ejemplo, puedes crear un conjunto de datos vinculado para ejecutar consultas en el Análisis de registros con tus espacios reservados de BigQuery. Del mismo modo, es posible que desees un conjunto de datos vinculado para que puedas escribir consultas en BigQuery o en Looker Studio que unan tus datos de registro con otros datos de la empresa.

Si no estás familiarizado con Log Analytics, consulta la descripción general de Log Analytics.

Cuando necesitas un conjunto de datos vinculado

No necesitas un conjunto de datos de BigQuery vinculado para realizar consultas a una vista de registro en la página Log Analytics cuando usas el servicio predeterminado de Cloud Logging. Puedes guardar y compartir tus consultas, y guardar los resultados en un panel personalizado.

Necesitas un conjunto de datos de BigQuery vinculado cuando quieras hacer cualquiera de las siguientes acciones:

Un conjunto de datos vinculado de BigQuery para un bucket de registros permite que BigQuery lea los datos del bucket de registros.

Si ejecutas tus consultas en ranuras reservadas de BigQuery, estas estarán sujetas a los precios de procesamiento de capacidad. Además, si consultas tus datos con un servicio que no sea Log Analytics, es posible que tus consultas estén sujetas a otros cargos según ese servicio. Consulta la página de precios del servicio que usas.

Antes de comenzar

En esta sección, se describen los pasos que debes completar antes de poder usar Log Analytics.

Configura buckets de registros

Asegúrate de que tus buckets de registros se hayan actualizado para usar el Análisis de registros:

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

    Ir al Almacenamiento de registros

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

  2. Para cada bucket de registros que tenga una vista de registros que deseas consultar, asegúrate de que la columna Log Analytics disponible muestre Abierto. Si aparece Upgrade, haz clic en Upgrade y completa el diálogo.

Configura roles y permisos de IAM

En esta sección, se describen los roles o los permisos de IAM necesarios para usar Log Analytics:

  • Para obtener los permisos que necesitas para usar Log Analytics y consultar vistas de registro, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

    Puedes restringir un principal a una vista de registro específica agregando una condición de IAM al otorgamiento de rol de acceso a la vista de registros que se realiza a nivel del proyecto o agregando una vinculación de IAM al archivo de política de la vista de registro. Para obtener más información, consulta Controla el acceso a una vista de registro.

    Estos son los mismos permisos que necesitas para ver las entradas de registro en la página Explorador de registros. Para obtener información sobre los roles adicionales que necesitas para consultar vistas en buckets definidos por el usuario o para consultar la vista _AllLogs del bucket de registros _Default, consulta Roles de Cloud Logging.

  • Para obtener los permisos que necesitas para crear y consultar conjuntos de datos vinculados, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto que almacena el bucket de registros:

Verifica tu edición de BigQuery

Si deseas consultar tus datos de registro desde la página Análisis de registros con los espacios reservados de BigQuery y usas proyectos con controles de servicio de nube privada virtual (VPC), asegúrate de usar la edición empresarial de BigQuery. Para obtener más información, consulta Información sobre las ediciones de BigQuery.

Cuando quieras usar las funciones de BigQuery para analizar tus datos de registros, actualiza un bucket de registros para usar el Análisis de registros y, luego, crea un conjunto de datos vinculado. Con esta configuración, Logging almacena tus datos de registro, pero BigQuery puede leerlos.

Consola de Google Cloud

Para crear un vínculo a un conjunto de datos de BigQuery para un bucket de registros existente, haz lo siguiente:

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

    Ir al Almacenamiento de registros

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

  2. Busca el bucket de registros y verifica que la columna Log Analytics disponible muestre Abierto.

    Si esta columna muestra Actualizar, significa que el bucket de registros no se actualizó para usar el Análisis de registros. Configura Log Analytics:

    1. Haz clic en Actualizar.
    2. Haz clic en Confirmar en el diálogo.

    Cuando se complete la actualización, continúa con el siguiente paso.

  3. En el bucket de registros, haz clic en Más y, luego, en Editar bucket.

    Se abrirá el diálogo Editar bucket de registro.

  4. Selecciona Crear un nuevo conjunto de datos de BigQuery que se vincule a este bucket y, luego, ingresa el nombre del conjunto de datos nuevo.

    El nombre del conjunto de datos debe ser único para cada proyecto de Google Cloud. Si ingresas el nombre de un conjunto de datos existente, recibirás el siguiente error: Dataset name must be unique in the selected region.

  5. Haz clic en Listo y, luego, en Actualizar bucket.

    Después de que Logging muestra el nombre del conjunto de datos vinculado en la página Logs Storage, es posible que transcurran varios minutos hasta que BigQuery reconozca el conjunto de datos.

gcloud

Para crear un conjunto de datos vinculado para un bucket de registros que se actualizó para usar el Análisis de registros, ejecuta el comando gcloud logging links create:

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

El LINK_ID que proporciones se usará como nombre del conjunto de datos de BigQuery, y el valor de este campo debe ser único para tu proyecto de Google Cloud.

El comando links create es asíncrono. El valor que devuelve un método asíncrono es un objeto Operation y contiene información sobre el progreso del método. Cuando se completa el método, el objeto Operation contiene el estado. Para obtener más información, consulta Métodos de API asíncronos.

El comando links create tarda varios minutos en completarse.

Por ejemplo, el siguiente comando crea un conjunto de datos vinculado llamado mylink para el bucket de registros llamado my-bucket:

gcloud logging links create mylink --bucket=my-bucket --location=global

El nombre del conjunto de datos debe ser único para cada proyecto de Google Cloud. Si intentas crear un conjunto de datos con el mismo nombre que uno existente, recibirás el siguiente error:

BigQuery dataset with name "LINK_ID" already exists.

Si intentas crear un conjunto de datos vinculado para un bucket de registros que no se actualizó para usar el Análisis de registros, se informará el siguiente error:

A link can only be created for an analytics-enabled bucket.

REST

Para crear un conjunto de datos de BigQuery vinculado a un bucket de registros existente que se actualizó con el Análisis de registros, llama al método asíncrono projects.locations.buckets.links.create de la API de Cloud Logging.

Prepara los argumentos del método de la siguiente manera:

  1. Crea el cuerpo de la solicitud para el comando create. El cuerpo de la solicitud tiene el formato de un objeto Link.
  2. Para el parámetro de consulta del comando, usa linkId=LINK_ID. El LINK_ID que proporciones se usará como nombre del conjunto de datos de BigQuery, y el valor de este campo debe ser único para tu proyecto de Google Cloud.

La respuesta a los métodos asíncronos es un objeto Operation. Este objeto contiene información sobre el progreso del método. Cuando se completa el método, el objeto Operation contiene el estado. Para obtener más información, consulta Métodos de API asíncronos.

El método links.create tarda varios minutos en completarse.

El nombre del conjunto de datos debe ser único para cada proyecto de Google Cloud. Si intentas crear un conjunto de datos con el mismo nombre que uno existente, recibirás el siguiente error:

BigQuery dataset with name "LINK_ID" already exists.

Si intentas crear un conjunto de datos vinculado para un bucket de registros que no se actualizó para usar el Análisis de registros, se informará el siguiente error:

A link can only be created for an analytics-enabled bucket.

Ejecuta consultas desde BigQuery

Cuando tienes un bucket de registros que usa el Análisis de registros y conjuntos de datos vinculados, puedes ver y consultar tus conjuntos de datos vinculados en la página de BigQuery Studio. Con esta configuración, puedes analizar tus conjuntos de datos con comandos, flujos de trabajo y conjuntos de datos disponibles solo en BigQuery Studio.

Para abrir BigQuery desde el Análisis de registros y, luego, consultar el conjunto de datos vinculado, sigue estos pasos:

  1. Asegúrate de que exista un conjunto de datos vinculado para el bucket de registros que aloja la vista de registro que deseas consultar:

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

      Ir al Almacenamiento de registros

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

    2. Busca el bucket de registros y verifica que la columna Conjunto de datos vinculado a BigQuery muestre una URL. Si la entrada está vacía, debes crear un conjunto de datos vinculado. Para obtener información sobre estos pasos, consulta Cómo crear un conjunto de datos vinculado a BigQuery.

  2. En la consola de Google Cloud, ve a la página Análisis de registros:

    Ir a Análisis de registros

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

  3. En la lista Vistas de registro, busca la vista de registro y, luego, selecciona Consulta. El panel Consulta se completa con una consulta predeterminada. También puedes ingresar una consulta en el panel Consulta o editar una consulta que se muestra.

  4. En la barra de herramientas, expande el botón etiquetado como Run query o Run on BigQuery y selecciona Open in BigQuery.

    Se abrirá la página BigQuery Studio. La sentencia FROM de la consulta se modifica para especificar la ruta de acceso a la vista de registro en el conjunto de datos vinculado mediante la sintaxis de ruta de acceso de la tabla de BigQuery.

    También puedes editar la consulta que se muestra.

  5. En la página BigQuery Studio, haz clic en Ejecutar consulta.

Ejecuta consultas de Log Analytics en tus espacios reservados de BigQuery

Cuando quieras minimizar el tiempo de ejecución de tus consultas de Log Analytics, ejecútalas en tus ranuras reservadas de BigQuery. La página Log Analytics está preconfigurada para usar el servicio predeterminado de Log Analytics, lo que significa que tus consultas deben competir por un espacio de ranura limitado con otras consultas. Cuando no hay ranuras disponibles, se retrasa la ejecución de la consulta. Puedes eliminar estas demoras ejecutando tus consultas en ranuras reservadas de BigQuery.

Para emitir una consulta en SQL a una vista de registro, haz lo siguiente:

  1. Asegúrate de que exista un conjunto de datos vinculado para el bucket de registros que aloja la vista de registro que deseas consultar:

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

      Ir al Almacenamiento de registros

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

    2. Busca el bucket de registros y verifica que la columna Conjunto de datos vinculado a BigQuery muestre una URL. Si la entrada está vacía, debes crear un conjunto de datos vinculado. Para obtener información sobre estos pasos, consulta Cómo crear un conjunto de datos vinculado a BigQuery.

  2. Asegúrate de haber configurado tus ranuras reservadas de BigQuery:

    1. Crea una reserva con ranuras dedicadas
    2. Cómo crear asignaciones de reservas
  3. Configura Análisis de registros para ejecutar tus consultas en los segmentos reservados de BigQuery:

    1. En la consola de Google Cloud, ve a la página Análisis de registros:

      Ir a Análisis de registros

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

    2. En la lista Vistas de registro, busca la vista y, luego, selecciona Consulta o ingresa una consulta.

      Si el panel de consulta muestra un mensaje de error que hace referencia a la sentencia FROM, la tabla no se puede resolver en una vista de registro específica. Para obtener información sobre cómo resolver esta falla, consulta Error FROM clause must contain exactly one log view.

    3. Ve a la barra de herramientas y asegúrate de que aparezca un botón etiquetado como Run on BigQuery.

      Si la barra de herramientas muestra Run Query, haz clic en Settings y selecciona BigQuery.

      Si el botón Run on BigQuery está inhabilitado, debes crear un conjunto de datos vinculado.

    4. Ejecuta la consulta.

      Puedes usar las opciones de la barra de herramientas para dar formato a la consulta, borrarla y abrir la documentación de referencia de BigQuery SQL.

¿Qué sigue?