Analiza el volumen de registros con el Análisis de registros

En este documento, se describe cómo puedes usar Log Analytics para estimar el volumen facturable de tus entradas de registro. Puedes escribir consultas que informen y agreguen tu volumen facturable por diferentes dimensiones, como el tipo de recurso o nombre de la aplicación, y, luego, graficar y ver los resultados de las consultas.

Cómo consultar el volumen facturable

El volumen facturable de una entrada de registro, que es el tamaño que se informa a la Facturación de Cloud, está disponible a través del campo storage_bytes. En tus consultas, puedes usar el campo storage_bytes de la misma manera que usas cualquier campo de esquema cuyo tipo de datos sea INTEGER. Por ejemplo, puedes incluirlo en cláusulas SELECT, en sentencias CASE y en expresiones de tabla comunes. Para obtener más información para consultar tus registros, consulta los siguientes documentos:

Debido a que Facturación de Cloud usa el volumen facturable para determinar tus costos, puedes escribir consultas que te ayuden a comprender las fuentes de tus costos. Por ejemplo, puedes escribir consultas que te ayuden a determinar qué aplicaciones están escribiendo la mayor cantidad de entradas de registro. Para obtener información sobre cómo relacionar el volumen facturable con el costo, consulta Resumen de precios de Cloud Logging y Precios de Cloud Logging.

El volumen facturable de una entrada de registro no es el tamaño del objeto LogEntry que se envió a la API de Cloud Logging. El volumen facturable incluye los bytes necesarios para la serialización y los metadatos.

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.

Consultas de muestra

En esta sección, se proporcionan ejemplos de consultas que analizan datos de una sola vista de registro. Si almacenas datos en varias vistas de registro y deseas calcular valores agregados para los datos almacenados en esas vistas, debes usar la sentencia UNION.

Puedes consultar tu entrada de registro con la página Log Analytics o en cualquier lugar donde puedas consultar conjuntos de datos de BigQuery, lo que incluye las páginas BigQuery Studio y Looker Studio, y la herramienta de línea de comandos de bq.

Para usar las consultas de muestra, haz lo siguiente:

Consulta el volumen de registros por app

Para calcular la cantidad total de bytes por día y por app de las entradas de registro que se escribieron en un recurso de Google Kubernetes Engine y que tienen una carga útil JSON, usa la siguiente consulta:

SELECT
  timestamp_trunc(timestamp,DAY) as day,
  JSON_VALUE(labels["k8s-pod/app"]) as app_id,
  SUM(storage_bytes) as total_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"
GROUP BY ALL

Para visualizar los datos, puedes crear un gráfico.

En el siguiente ejemplo, los datos se muestran como un gráfico de barras apiladas. Cada barra del gráfico muestra la cantidad total de bytes almacenados, organizados por app. En este ejemplo, la app frontend genera la mayor cantidad de datos de registro:

Gráfico de ejemplo que muestra los resultados de la consulta del volumen de registros por app.

Cómo consultar el volumen de registro por nombre

Para mostrar una lista de la cantidad de bytes almacenados y el nombre del registro de cada entrada de registro que tenga una carga útil JSON y que se haya escrito en un recurso de Google Kubernetes Engine, usa la siguiente consulta:

SELECT
  log_id AS log_name,
  storage_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"

La consulta anterior no agrega los resultados, sino que hay una fila para cada entrada de registro, y esa fila contiene un nombre de registro y la cantidad de bytes almacenados. Si representas estos datos en un gráfico, puedes visualizar la parte de los datos de registro que se escribieron en diferentes registros:

Gráfico de ejemplo que muestra los resultados de la consulta del volumen de registro por nombre de registro.

El gráfico anterior muestra que la mayoría de los datos de registro se escriben en el registro llamado stdout.

Usa la herramienta de línea de comandos de bq para consultar el volumen de registros por nombre

Puedes incluir el campo storage_bytes en las consultas que ejecutas a través de la página BigQuery Studio o con la herramienta de línea de comandos de bq.

La siguiente consulta informa el nombre del registro y la cantidad de bytes almacenados para cada entrada de registro:

bq query --use_legacy_sql=false  'SELECT log_id as log_name,
  storage_bytes FROM `TABLE_NAME_OF_LOG_VIEW`'

El resultado de esta consulta es similar al siguiente:

+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout   |           716 |
| stdout   |           699 |
| stdout   |           917 |
| stdout   |           704 |

Cada fila corresponde a una entrada de registro. El valor de la columna storage_bytes es el volumen facturable de esa entrada de registro.

Limitaciones

El campo storage_bytes solo está disponible cuando se cumplen las siguientes condiciones:

  • El bucket de registros se actualiza para usar el Análisis de registros.
  • Tu consulta se ejecuta en la página Análisis de registros o en cualquier lugar donde puedas consultar conjuntos de datos de BigQuery, lo que incluye las páginas BigQuery Studio y Looker Studio, y la herramienta de línea de comandos de bq.

  • La entrada de registro se escribió a partir del 1 de enero de 2024.