Gráfico de resultados de la consulta en SQL

En este documento, se describe cómo generar gráficos con los resultados de tus consultas de Log Analytics, lo que te permite identificar patrones y tendencias en tus datos de registro. El Análisis de registros te permite buscar y agregar registros para generar estadísticas útiles con consultas en SQL.

Después de ejecutar una consulta, los resultados se pueden ver en una tabla o convertir en un gráfico. Además, la consulta y su visualización se pueden guardar en un panel. Por ejemplo, para ver qué tipos de gravedad generan tus registros, crea un gráfico que muestre los recuentos de registros generados en las últimas 12 horas y desglosa los registros por severity. En la siguiente captura de pantalla, se ilustran los datos desglosados en diferentes tipos de gravedad:

Ejemplo de un gráfico que ilustra un desglose por gravedad.

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 en la que desees realizar consultas, asegúrate de que la columna Análisis de registros 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 Log Analytics:

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

    Puedes restringir un principal 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 consultar vistas de Analytics, pídele a tu administrador que te otorgue el rol de IAM de Usuario de Observability Analytics (roles/observability.analyticsUser) en tu proyecto.

  • Para obtener los permisos que necesitas para crear gráficos, pídele a tu administrador que te otorgue el rol de IAM de editor de Monitoring (roles/monitoring.editor) en tu proyecto.

Selecciona los datos para graficarlos

Para configurar los datos que se mostrarán en un gráfico, crea una consulta con SQL. Cuando seleccionas la pestaña Gráfico, se muestra un gráfico con los resultados de tu búsqueda. Después de ejecutar la consulta y generar un gráfico, puedes personalizar la configuración del gráfico. Para ello, cambia el tipo de gráfico y selecciona columnas para ver diferentes datos.

Para ver los resultados de la consulta como un gráfico, ejecuta una consulta de la siguiente manera:

  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 el panel Consulta, ingresa una consulta y, luego, haz clic en Ejecutar.

  3. Una vez que se complete la consulta, en la pestaña Resultados, selecciona cómo deseas ver los resultados de la consulta:

    • Tabla: Solo formato tabular.

    • Gráfico: Solo formato de gráfico

    • Ambos: Formato de gráfico y tabular.

      Después de seleccionar cómo ver los resultados de la consulta, puedes configurar los campos de la visualización seleccionada y, luego, guardar la consulta y los resultados en un panel personalizado. El formato guardado es tabular cuando seleccionaste la opción Tabla. De lo contrario, el formato es un gráfico.

      En el caso de los gráficos, las opciones de visualización te permiten seleccionar el tipo de gráfico y elegir qué filas y columnas se incluirán en el gráfico. Para obtener más información sobre la configuración del gráfico, consulta Cómo personalizar la configuración del gráfico.

Personaliza la configuración del gráfico

Puedes personalizar la configuración del gráfico cambiando el tipo de gráfico, seleccionando la dimensión y la medida que se incluirán en el gráfico, y aplicando un desglose. La dimensión se usa para agrupar o categorizar filas y es el valor del eje X. La medida, o el valor del eje Y, es una serie de datos que se traza en el eje Y.

Cambiar el tipo de gráfico

Puedes seleccionar entre los siguientes tipos de gráficos, según el tipo de filas y columnas que hayas seleccionado como dimensión y métrica, y cómo deseas que se visualicen esos datos.

  • Gráfico de barras (predeterminado): Los gráficos de barras representan los datos en dos ejes. Si tu gráfico usa una categoría o una cadena como dimensión, puedes establecer la configuración del gráfico de barras como horizontal o vertical, en la que se intercambian los ejes de dimensión y medida.

  • Gráfico de líneas: Los gráficos de líneas se pueden usar para mostrar los cambios en los datos a lo largo del tiempo. Cuando usas un gráfico de líneas, cada serie temporal se muestra con una línea diferente que corresponde a las medidas que seleccionaste.

    Si tu eje X se basa en el tiempo, cada punto de datos se coloca al comienzo de un intervalo de tiempo. Cada punto de datos se conecta a través de una interpolación lineal.

  • Gráfico de áreas apiladas: Un gráfico de áreas se basa en un gráfico de líneas, y el área debajo de cada línea está sombreada. En los gráficos de áreas, las series de datos se apilan. Por ejemplo, si tienes dos series idénticas, estas se superpondrán en un gráfico de líneas, pero el área sombreada se apilará en un gráfico de áreas.

  • Gráfico circular o de anillo: Un gráfico circular muestra cómo se relacionan las categorías de un conjunto de datos con el conjunto de datos completo. Para ello, usa un círculo para representar el conjunto de datos completo y secciones en el círculo para representar las categorías del conjunto de datos. El tamaño de una sección indica cuánto, a menudo como porcentaje, contribuye la categoría al total.

  • Tabla: Una tabla muestra una fila por cada fila del resultado de la consulta. Las columnas de la tabla se definen con la cláusula SELECT. Si planeas mostrar datos en formato tabular en un panel, usa una cláusula LIMIT para restringir la cantidad de filas en el resultado a menos de unos cientos.

  • Indicador o cuadro de evaluación: Los indicadores y los cuadros de evaluación te proporcionan el valor más reciente junto con una indicación verde, ámbar o roja según cómo se compare ese valor con un conjunto de umbrales. A diferencia de los indicadores, que solo muestran información sobre el valor más reciente, los cuadros de evaluación también pueden incluir información sobre valores anteriores.

    Los indicadores y los cuadros de evaluación solo pueden mostrar el resultado de la consulta cuando este contiene al menos una fila, y esa fila contiene una columna con una marca de tiempo y una columna con datos numéricos. El resultado de la consulta puede contener varias filas y más de dos columnas.

    Si deseas realizar la agregación basada en el tiempo como parte de tu consulta, haz lo siguiente:

    • Configura tu consulta para agregar datos en un intervalo de tiempo, ordenar los resultados por marcas de tiempo descendentes y limitar la cantidad de filas en los resultados. Puedes usar la cláusula LIMIT o el selector de período para limitar la cantidad de filas en el resultado de la consulta.

      Por ejemplo, la siguiente consulta una vista de registro y agrega datos por hora, aplica un límite y ordena los resultados:

      SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count
      FROM `TABLE_NAME_OF_LOG_VIEW`
      WHERE severity IS NOT NULL AND severity = "DEFAULT"
      GROUP BY hour,severity
      ORDER BY hour DESC
      LIMIT 10
      
    • Establece la Dimensión para que coincida con la columna que informa la unidad de tiempo. Por ejemplo, si tu consulta agrega datos por hora y crea una columna llamada hour, establece el menú Dimensión en hour.

    • Selecciona Inhabilitar intervalo porque tu búsqueda ya especifica el intervalo de agregación. En el ejemplo, este intervalo es de una hora.

    • Establece la medida en la columna numérica y la función en none.

    Si deseas confiar en el Análisis de registros para que realice la agregación basada en el tiempo por ti, haz lo siguiente:

    • Configura el selector de intervalo de tiempo, que afecta la cantidad de filas en el resultado de la consulta.
    • Establece la Dimensión para que coincida con la columna que informa la unidad de tiempo. Por ejemplo, puedes configurar este menú como timestamp.
    • Establece el menú Interval en el intervalo de agregación en un intervalo específico. Por ejemplo, establece el valor de este campo en 1 hour. No selecciones Intervalo automático.
    • Establece la Medida en la columna numérica y selecciona una función, como suma.

Cambia la dimensión y la métrica

Para elegir qué filas y columnas se incluirán en el gráfico, selecciona los campos de dimensión y medición.

  • Dimensión

    La dimensión debe ser una columna de marca de tiempo, numérica o de cadena. De forma predeterminada, la dimensión se establece en la primera columna basada en la marca de tiempo del esquema. Si no hay ninguna marca de tiempo en la consulta, se selecciona la primera columna de cadena como dimensión. También puedes personalizar la dimensión en el panel Visualización del gráfico. Cuando se selecciona una columna de marcas de tiempo como dimensión, el gráfico muestra cómo cambian los datos con el tiempo. Cuando se selecciona una columna de cadena como la dimensión de un gráfico de barras, puedes ordenar los datos de forma ascendente o descendente, lo que ordena la dimensión por orden léxico. También puedes mantener el orden de clasificación "predeterminado", que ordena la dimensión según los valores de la métrica correspondiente en orden descendente.

    De forma predeterminada, el intervalo para las marcas de tiempo se establece automáticamente, pero también puedes seleccionar un intervalo personalizado. Los intervalos automáticos cambian los valores según el selector de períodos para mantener grupos de tamaño similar.

    También puedes inhabilitar el intervalo, lo que te permite especificar tus propias agregaciones y períodos dentro de la consulta para realizar análisis más complejos. Si se inhabilita el intervalo, se establece la función de agregación de las medidas en none. Solo se permiten las medidas numéricas cuando el intervalo de dimensiones está inhabilitado.

  • Medir

    Puedes seleccionar varias medidas en el panel Visualización del gráfico. Cuando seleccionas una métrica, también debes seleccionar la función de agregación que se realizará en sus valores agrupados, como count, sum, average y percentile-99. Por ejemplo, count-distinct devuelve la cantidad de valores únicos en una columna determinada.

    Si seleccionas la casilla de verificación Inhabilitar intervalo para la dimensión, estará disponible la opción de función de agregación none. Si la dimensión es un valor de cadena, no se muestra la casilla de verificación Inhabilitar intervalo. Sin embargo, si estableces las funciones de agregación de una métrica en none, también se inhabilita el intervalo.

Cómo agregar un desglose

Para dividir una sola serie de datos en varias series de datos según otra columna, agrega un desglose.

Cuando selecciones un desglose, elige columnas que contengan una pequeña cantidad de etiquetas cortas y significativas, como region_name, en lugar de campos que puedan contener una gran cantidad de cadenas o cadenas largas, como textPayload.

Por ejemplo, consulta la siguiente configuración del gráfico, en la que el campo Dimensión está establecido en tipo, el campo Métrica está establecido en Recuento de filas y el campo Desglose está establecido en gravedad:

Ejemplo de un gráfico que contiene un desglose por gravedad.

En la captura de pantalla anterior, se muestra una serie de datos apilados, en la que el tipo de recurso k8s_container se divide en diferentes tipos de severity. Esto te permite identificar cuántos registros de cada tipo de gravedad generó un recurso determinado.

Cómo guardar un gráfico en un panel personalizado

Después de que se genere un gráfico a partir de tu consulta, puedes guardarlo en un panel personalizado. Los paneles personalizados te permiten mostrar y organizar información que te resulte útil con una variedad de tipos de widgets. Estos paneles también te permiten definir variables, que son filtros a nivel del panel que se aplican solo a widgets específicos. Para aplicar una variable a un widget, debes modificar la consulta. Para obtener más información, consulta Cómo aplicar una variable a un widget.

Por ejemplo, puedes crear un panel que proporcione detalles sobre el uso de tus buckets de Cloud Storage:

Ejemplo de panel que muestra el uso de tus buckets de Cloud Storage.

Para guardar el gráfico en un panel, haz lo siguiente:

  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. Ejecuta una consulta para generar un gráfico y, luego, haz clic en Guardar gráfico en la pestaña Gráfico.

  3. En el cuadro de diálogo Guardar en el panel, ingresa un título para el gráfico y selecciona el panel en el que deseas guardarlo.

  4. Opcional: Para ver el panel personalizado, haz clic en Ver panel en la notificación.

Para ver una lista de los paneles personalizados que contienen gráficos generados por consultas en SQL, ve al botón Guardar gráfico y haz clic en Menú.

Cómo editar un gráfico guardado en un panel personalizado

Puedes modificar un gráfico después de guardarlo en un panel. Para obtener más información, consulta Cómo modificar la configuración de un widget. En el diálogo Configurar widget, puedes hacer lo siguiente:

  • Cambia los datos que consultas.
  • Edita la consulta que se usa para generar un gráfico.
  • Personaliza la configuración del gráfico para visualizar diferentes datos.

Limitaciones

  • Si tu proyecto Google Cloud se encuentra en una carpeta que usa Assured Workloads, los gráficos que generes no se podrán mostrar en un panel personalizado.

  • Los filtros a nivel del panel no se aplican a los gráficos generados a partir de una consulta en SQL.

Consultas de muestra

En esta sección, se proporcionan ejemplos de consultas de SQL para generar gráficos con los resultados de tus consultas. Para obtener estadísticas más útiles de tus registros, personaliza la configuración del gráfico. Para usar las consultas de muestra, haz lo siguiente:

  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. Identifica el nombre de la tabla para la vista de registro que deseas consultar.

    Para identificar este nombre, ve a la lista Vistas de registros, busca la vista de registros y, luego, selecciona Consulta. El panel Query se completa con una consulta predeterminada que incluye el nombre de la tabla de la vista de registro que se consulta. El nombre de la tabla tiene el formato project_ID.region.bucket_ID.view_ID.

    Para obtener más información sobre cómo acceder a la consulta predeterminada, consulta Cómo consultar una vista de registro.

  3. Reemplaza TABLE_NAME_OF_LOG_VIEW por el nombre de la tabla de la vista de registros que deseas consultar y, luego, copia la consulta.

  4. Pega la consulta en el panel Consulta y, luego, haz clic en Ejecutar consulta.

Registra las entradas de registro por ubicación y gravedad

En la siguiente consulta, se seleccionan location y severity, con la ubicación convertida en una cadena:

SELECT
  CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
  severity,
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE resource.labels.location IS NOT NULL

Un gráfico de muestra y su configuración se ven de la siguiente manera:

Ejemplo de gráfico que registra las entradas de registro por ubicación y gravedad.

En la captura de pantalla anterior, la configuración del gráfico tiene los siguientes valores:

  • Tipo de gráfico: Gráfico de barras, horizontal
  • Dimensión: location, con un límite de 10
  • Medida: Contar filas
  • Desglose: severity, con un límite de cinco

Genera un gráfico de los registros de auditoría de acceso a los datos de BigQuery

La siguiente consulta filtra los registros de auditoría de BigQuery data_access y selecciona ciertos campos, como user_email, ip, auth_permission y job_execution_project. Por ejemplo, puedes crear un gráfico que visualice la frecuencia del uso de la API de BigQuery de cada principal a lo largo del tiempo.

SELECT
  timestamp,
  proto_payload.audit_log.authentication_info.principal_email as user_email,
  proto_payload.audit_log.request_metadata.caller_ip as ip,
  auth.permission as auth_permission,
  auth.granted as auth_granted,
  JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `TABLE_NAME_OF_LOG_VIEW` as data_access,
  UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
  log_id="cloudaudit.googleapis.com/data_access"
  AND data_access.resource.type = 'bigquery_dataset'

Un gráfico de muestra y su configuración se ven de la siguiente manera:

Ejemplo de gráfico para los registros de auditoría de acceso a los datos de BigQuery

En la captura de pantalla anterior, la configuración del gráfico tiene la siguiente configuración:

  • Tipo de gráfico: Gráfico de barras, vertical
  • Dimensión: user_email, con un límite de cinco
  • Medida: Contar filas
  • Desglose: auth_permission, con un límite de cinco

Limitaciones

  • Las columnas seleccionadas deben tener al menos una fila con un valor no nulo.

  • Si guardas una consulta y personalizas la configuración del gráfico, no se guardará la configuración personalizada del gráfico.

  • Si tu consulta ya contiene agregaciones, es posible que el gráfico generado sea diferente debido a la agregación adicional que aplica automáticamente el Análisis de registros.

  • Las rutas de acceso JSON se deben convertir en cadenas y números para poder generar gráficos.

¿Qué sigue?