Analiza datos de registros con BigQuery

En este documento, se describe cómo analizar tus datos de registros con los servicios de BigQuery, que pueden consultar conjuntos de datos vinculados de BigQuery. Si creas un conjunto de datos de BigQuery vinculado en un bucket de registros, puedes consultar tus datos de registro con BigQuery o Data Studio. También puedes configurar la página Observability Analytics para ejecutar consultas en el motor de BigQuery. Puedes crear políticas de alertas que supervisen los resultados de consulta en SQL que se ejecutan en el motor de BigQuery.

No puedes crear un conjunto de datos vinculado a BigQuery para una vista de Analytics.

Si no conoces Observability Analytics, consulta la descripción general de Observability Analytics.

Cuándo necesitas un conjunto de datos vinculado

No necesitas un conjunto de datos de BigQuery vinculado cuando deseas consultar tus datos de registros o tus datos de registros y de seguimiento. Para esos casos, puedes usar la página Análisis de observabilidad. También puedes guardar y compartir tus consultas, y guardarlas en un panel personalizado. Para obtener información sobre cómo consultar tus datos de seguimiento, consulta Cómo consultar y analizar seguimientos.

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

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

Cómo se asignan los buckets y las vistas de registros a los objetos de BigQuery

Cuando creas un conjunto de datos de BigQuery vinculado para un bucket de registros, BigQuery dispone de un nuevo conjunto de datos. Especificas el nombre del conjunto de datos vinculado durante el proceso de vinculación. Todas las vistas de registros dentro del bucket de registros se asignan automáticamente a vistas virtuales en el conjunto de datos. El nombre de una vista virtual es el mismo que el de la vista de registros correspondiente.

Por ejemplo, supongamos que el proyecto my_project tiene un bucket de registros llamado example y que este bucket de registros tiene una vista de registros llamada _AllLogs. Si creas un conjunto de datos vinculado para ese bucket de registros con el nombre my_dataset, la página Explorador de BigQuery mostrará una entrada my_project. Un elemento secundario de la entrada my_project es un conjunto de datos con el nombre my_dataset, y ese conjunto de datos enumera una vista virtual llamada _AllLogs.

Implicaciones del control de acceso cuando se usan conjuntos de datos vinculados

Cuando una principal consulta una vista en un conjunto de datos de BigQuery vinculado, esa consulta se ejecuta a través de la capa de permisos de BigQuery, no de la capa de permisos de Cloud Logging. Por lo tanto, los roles y permisos de BigQuery otorgados a la principal en el conjunto de datos vinculado determinan si puede consultar el conjunto de datos.

No puedes restringir un principal a una vista virtual específica dentro de un conjunto de datos vinculado. Cuando se le otorga acceso a un principal al conjunto de datos vinculado, este puede consultar todas las vistas de ese conjunto de datos.

Motores de consultas disponibles

Observability Analytics te permite ejecutar tus consultas de SQL en el motor de Logging predeterminado o en el motor de BigQuery. Si ejecutas una consulta en tu motor de BigQuery, se consultará tu conjunto de datos de BigQuery vinculado, lo que significa que se validarán tus permisos de BigQuery.

Para obtener más información, consulta Elige tu motor de consultas de Observability Analytics.

Acciones del sistema que ocurren cuando creas un conjunto de datos vinculado

Cuando creas un conjunto de datos vinculado, inicias una operación de larga duración. Como parte de esa operación, ocurren varias acciones:

  • Los registros de auditoría registran la solicitud para crear un vínculo y la finalización de la operación.
  • Cuando no existe la cuenta de servicio de Monitoring, Google Cloud Observability la crea.

    La API de Cloud Monitoring debe estar habilitada para que se cree esta cuenta de servicio.

  • Google Cloud Observability requiere una cuenta de servicio antes de poder crear un conjunto de datos vinculado. Cuando es necesario, se crea una cuenta de servicio:

  • Un registro de auditoría registra la solicitud del administrador del agente de servicio para otorgar a la cuenta de servicio de Monitoring el rol de IAM de Agente de servicio de Monitoring.

Antes de comenzar

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

Configura buckets de registros

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

  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 en la que quieras realizar consultas, asegúrate de que la columna Análisis de observabilidad disponibles muestre Abrir. Si se muestra Actualizar, haz clic en Actualizar y completa el diálogo.

Configura roles y permisos de IAM

En esta sección, se describen los roles o permisos de IAM que se requieren para usar Observability Analytics:

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

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

    Estos son los mismos permisos que necesitas para ver las entradas de registro en la página del 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:

Habilita las APIs

Habilita la API de Cloud Monitoring.

Roles necesarios para habilitar las APIs

Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

Habilitar la API

Verifica tu edición de BigQuery

Si deseas consultar tus datos de registro desde la página Observability Analytics ejecutando ranuras de BigQuery y si usas proyectos con Controles del servicio de la nube privada virtual (VPC), asegúrate de usar la edición Enterprise de BigQuery. Para obtener más información, consulta Información sobre las ediciones de BigQuery.

Cuando desees usar las capacidades de BigQuery para analizar tus datos de registro, actualiza un bucket de registros para usar Observability Analytics 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. Ubica el bucket de registros y verifica que la columna Análisis de observabilidad disponibles muestre Abrir.

    Si en esta columna se muestra Actualizar, significa que el bucket de registros no se actualizó para usar Estadísticas de observabilidad. Configura las estadísticas de observabilidad:

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

    Una vez que 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 registros.

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

    El nombre del conjunto de datos debe ser único para cada Google Cloud proyecto. 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 muestre el nombre del conjunto de datos vinculado en la página Almacenamiento de registros, es posible que transcurran varios minutos antes de 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 Análisis de observabilidad, ejecuta el comando gcloud logging links create:

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

El LINK_ID que proporcionas se usa 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, que 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 Google Cloud proyecto. 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 Análisis de observabilidad, 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 para un bucket de registros existente que se actualizó con Observability Analytics, 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 proporcionas se usa como el 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 Google Cloud proyecto. 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 Análisis de observabilidad, 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 Observability Analytics y conjuntos de datos vinculados, puedes ver y consultar tus conjuntos de datos vinculados con 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 Estadísticas de observabilidad y, luego, consultar el conjunto de datos vinculado, haz lo siguiente:

  1. Asegúrate de que exista un conjunto de datos vinculado para el bucket de registros que aloja la vista de registros 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. Ubica 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 Crea un conjunto de datos vinculado de BigQuery.

  2. En la Google Cloud consola, ve a la página Estadísticas de observabilidad:

    Ir a Estadísticas de observabilidad

    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 registros, busca y selecciona la vista de registros.

  4. En el panel Esquema, 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 muestre.

  5. En la barra de herramientas, expande el botón etiquetado como Ejecutar consulta o Ejecutar en BigQuery y selecciona Abrir en BigQuery.

    Se abrirá la página BigQuery Studio. La instrucción FROM de la consulta se modifica para especificar la ruta de acceso a la vista de registros en el conjunto de datos vinculado con la sintaxis de ruta de acceso a la tabla de BigQuery.

    También puedes editar la búsqueda que se muestra.

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

Ejecuta consultas de Observability Analytics en ranuras de BigQuery

Cuando desees supervisar los resultados de tu consulta en SQL con una política de alertas, ejecuta tus consultas en el motor de BigQuery de la siguiente manera:

  1. Asegúrate de que exista un conjunto de datos vinculado para el bucket de registros que aloja la vista de registros 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. Ubica el bucket de registros y verifica que la columna Conjunto de datos vinculado a BigQuery muestre una URL. Si la entrada está vacía, crea un conjunto de datos vinculado de BigQuery.

  2. Configura Observability Analytics para ejecutar tus consultas en el motor de BigQuery:

    1. En la Google Cloud consola, ve a la página Estadísticas de observabilidad:

      Ir a Estadísticas de observabilidad

      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 registros, busca la vista y, luego, selecciona Consulta o ingresa una consulta.

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

    3. Ve a la barra de herramientas y verifica que se muestre un botón con la etiqueta Ejecutar en BigQuery.

      Si en la barra de herramientas se muestra Ejecutar consulta, haz clic en Configuración y selecciona BigQuery.

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

    4. Ejecuta tu consulta.

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

¿Qué sigue?