En este documento, se describe cómo graficar 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 mediante consultas SQL.
Después de ejecutar una consulta, los resultados se pueden ver en una tabla o convertir en un gráfico, y 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:
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:
-
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.
- 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:
-
Para consultar los buckets de registros
_Required
y_Default
, usa el Visualizador de registros (roles/logging.viewer
). -
Para consultar todas las vistas de registro de un proyecto, usa el Descriptor de acceso de vista de registros (
roles/logging.viewAccessor
).
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 consultar los buckets de registros
-
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 que quieres graficar
Para configurar qué datos se mostrarán en un gráfico, crea una consulta con SQL. Cuando seleccionas la pestaña Gráfico, el registro genera automáticamente un gráfico según los resultados de tu consulta. Después de ejecutar la consulta y generar un gráfico, puedes personalizar su configuración cambiando el tipo de gráfico y seleccionando columnas para ver diferentes datos.
Para ver los resultados de tu consulta como un gráfico, sigue estos pasos:
-
En la consola de Google Cloud, ve a la página Análisis de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
En el panel Consulta, ingresa una consulta y, luego, haz clic en Ejecutar.
Una vez que se complete la consulta, en la pestaña Resultados, selecciona cómo quieres ver los resultados de la consulta:
Tabla: Solo formato tabular.
Gráfico: Solo formato de gráfico
Ambos: Gráfico y formato tabular.
Después de seleccionar cómo ver los resultados de tu consulta, puedes configurar cualquier campo para la visualización seleccionada y, luego, guardar la consulta y los resultados en un panel personalizado. El formato guardado es tabular cuando seleccionas 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 las filas y columnas que se incluyen en él. Para obtener más información sobre la configuración de los gráficos, consulta Cómo personalizar la configuración de los gráficos.
Cómo personalizar la configuración del gráfico
Para personalizar la configuración del gráfico, cambia el tipo de gráfico, selecciona la dimensión y la medida que quieres incluir en el gráfico y aplica 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 elegir entre los siguientes tipos de gráficos, según el tipo de filas y columnas que hayas seleccionado como dimensión y medida, y cómo deseas que se visualicen esos datos.
Gráfico de barras (predeterminado): Los gráficos de barras trazan 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 para que sea 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 de 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 el eje X se basa en el tiempo, cada dato se coloca al comienzo de un intervalo de tiempo. Cada punto de datos está conectado por 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 superponen en un gráfico de líneas, pero el área sombreada se apila en un gráfico de áreas.
Gráfico circular: Un gráfico circular muestra cómo las categorías de un conjunto de datos se relacionan con el conjunto completo. Para ello, usa un círculo para representar el conjunto completo y cuñas en el círculo para representar las categorías del conjunto de datos. El tamaño de un sector indica cuánto, a menudo como un porcentaje, la categoría contribuye al total.
Tabla: Una tabla muestra una fila para cada fila del resultado de la consulta. Las columnas de la tabla se definen con la cláusula
SELECT
. Si planeas mostrar datos en forma tabular en un panel, usa una cláusulaLIMIT
para restringir la cantidad de filas en el resultado a menos de unas pocas centenas.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 que agregue datos durante un intervalo de tiempo, para ordenar los resultados por marcas de tiempo descendentes y para limitar la cantidad de filas en los resultados. Puedes usar la cláusula
LIMIT
o el selector de intervalo de tiempo para limitar la cantidad de filas en el resultado de la consulta.Por ejemplo, la siguiente consulta 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 una hora y crea una columna llamada
hour
, establece el menú Dimensión enhour
.Selecciona Disable interval porque tu consulta 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 usar Log Analytics 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ú Intervalo 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 sum.
Cambia la dimensión y la medición
Para elegir qué filas y columnas se incluyen 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 la dimensión. También puedes personalizar la dimensión en el panel Visualización del gráfico. Cuando se selecciona una columna de marca de tiempo como la dimensión, el gráfico muestra cómo cambian los datos con el tiempo.
De forma predeterminada, el intervalo de 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íodo 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 un análisis más complejo. Si inhabilitas el intervalo, se establece la función de agregación de las medidas en
none
. Solo se permiten 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 medida, también debes seleccionar la función de agregación que se realizará en sus valores agrupados, como
count
,sum
,average
ypercentile-99
. Por ejemplo,count-distinct
muestra la cantidad de valores únicos en una columna determinada.Si seleccionas la casilla de verificación Inhabilitar intervalo para la dimensión, la opción de la función de agregación
none
estará disponible. Si la dimensión es un valor de cadena, no se muestra la casilla de verificación Inhabilitar intervalo. Sin embargo, establecer las funciones de agregación de una medida ennone
también inhabilita el intervalo.
Agrega un desglose
Para dividir una sola serie de datos en varias en función de otra columna, agrega un desglose.
Cuando selecciones un desglose, elige columnas que contengan una pequeña cantidad de etiquetas breves y significativas, como region_name
, en lugar de campos que puedan contener una gran cantidad de cadenas o cadenas largas, como textPayload
.
Por ejemplo, observa la siguiente configuración del gráfico, en la que el campo Dimension está configurado como type, el campo Measure está configurado como Count rows y el campo Breakdown está configurado como severity:
El siguiente gráfico es un ejemplo de un gráfico con un desglose agregado:
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 la información que te resulta útil mediante 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:
Para guardar el gráfico en un panel, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Análisis de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Ejecuta una consulta para generar un gráfico y, luego, haz clic en Guardar gráfico en la pestaña Gráfico.
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.
Opcional: Para ver el panel personalizado, en la notificación, haz clic en Ver panel.
Para ver una lista de paneles personalizados que contienen gráficos generados por las consultas de SQL de Log Analytics, ve al botón Guardar gráfico y haz clic en arrow_drop_down Menú.
Cómo editar un gráfico guardado en un panel personalizado
Para editar los gráficos generados por las consultas de SQL de Log Analytics que se guardan en un panel, consulta Cómo modificar la configuración de un widget. En el cuadro de diálogo Configurar widget, puedes editar la consulta que se usa para generar un gráfico o personalizar la configuración del gráfico para visualizar datos diferentes.
Limitaciones
Si tu proyecto de Google Cloud se encuentra en una carpeta que usa Assured Workloads, los gráficos que generas no se pueden 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 de Log Analytics.
Consultas de muestra
En esta sección, se proporcionan consultas de SQL de ejemplo para graficar 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:
-
En la consola de Google Cloud, ve a la página Análisis de registros:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Identifica el nombre de la tabla de la vista de registro que deseas consultar.
Para identificar este nombre, ve a la lista Vistas de registro, busca la vista de registro y, luego, selecciona Consulta. El panel Consulta se completa con una consulta predeterminada, que incluye el nombre de la tabla de la vista de registro a la que se le 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.
Reemplaza TABLE_NAME_OF_LOG_VIEW por el nombre de la tabla de la vista de registro que deseas consultar y, luego, copia la consulta.
Pega la consulta en el panel Consulta y, luego, haz clic en Ejecutar consulta.
Gráfico de 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`
Un gráfico de ejemplo y su configuración se ven de la siguiente manera:
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, horizontal
- Dimensión:
location
, con un límite de 10 - Métrica: Cuenta filas
- Desglose:
severity
, con un límite de cinco
Gráfico de registros de auditoría de acceso a los datos de BigQuery
La siguiente consulta filtra los registros de auditoría data_access
de BigQuery 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 ejemplo y su configuración se ven de la siguiente manera:
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 - Métrica: Cuenta 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 del gráfico personalizado.
Si tu consulta ya contiene agregaciones, el gráfico generado podría ser diferente debido a la agregación adicional que aplica automáticamente el Análisis de registros.
Las rutas de acceso JSON se deben transmitir a cadenas y números para que se puedan graficar.
¿Qué sigue?
Para obtener una descripción general de Análisis de registros, consulta Descripción general de consultas y análisis de registros.
Para ver consultas de muestra, consulta Consultas de SQL de muestra.
Para obtener información sobre cómo analizar con registros de auditoría mediante el Análisis de registros, consulta Consultas de SQL para estadísticas de seguridad.