Monitorizar el uso de Data Boost

En esta página se describe cómo usar Cloud Monitoring y los registros de auditoría de Spanner para monitorizar y analizar el uso de Spanner Data Boost.

Cloud Monitoring permite hacer un seguimiento del uso total a lo largo del tiempo y desglosarlo por usuario. Los registros de auditoría de Spanner permiten analizar el uso de forma más flexible, lo que incluye proporcionar métricas por usuario o por ID de tarea de BigQuery.

Usar Cloud Monitoring para monitorizar el uso de Data Boost

Sigue estos pasos para monitorizar el uso general de Aumento de datos:

  1. En la Google Cloud consola, ve a Monitorización.
    Ir a Monitoring
  2. Si aparece Explorador de métricas en el menú de navegación, selecciónelo. De lo contrario, haga clic en Recursos y, a continuación, seleccione Explorador de métricas.
  3. En la parte superior de la página, selecciona un intervalo de tiempo.
  4. En la lista desplegable Métrica, en el campo Filtrar por nombre de recurso o métrica, introduce spanner y pulsa Enter para acotar la búsqueda.
  5. En la lista Métrica, selecciona Instancia de Cloud Spanner > Instancia > Segundo de unidad de procesamiento y, a continuación, haz clic en Aplicar.

    De esta forma, se crea un gráfico de líneas del uso agregado de Data Boost en todas las instancias de Spanner.

  6. Para ver el uso de una instancia concreta, sigue estos pasos:

    1. Use el campo Filtro para añadir filtros, como el ID de instancia.
    2. Haga clic en + para añadir otros atributos.
  7. Para ver un desglose del uso de todas las instancias, sigue estos pasos:

    1. Borra los filtros haciendo clic en el icono X situado junto a los campos de filtro.
    2. En la lista desplegable del operador Agregación, selecciona Suma y, a continuación, selecciona instance_id.
  8. Para desglosar el uso por principal, en el desplegable del operador Agregación, selecciona Suma y, a continuación, selecciona credential_id.

Usar registros de auditoría para analizar el uso de Data Boost

Los registros de auditoría de Spanner permiten analizar de forma más flexible el uso de Data Boost. Además de poder desglosar el uso a lo largo del tiempo por instancia o principal, como ocurre con Cloud Monitoring, los registros de auditoría de Spanner, si están habilitados y disponibles, permiten desglosar el uso a lo largo del tiempo por base de datos o ID de trabajo de BigQuery.

Habilitar los registros de auditoría puede conllevar cargos adicionales. Para obtener información sobre los precios de Logging, consulta la página Precios de Google Cloud Observability: Cloud Logging.

Habilitar los registros de auditoría de uso de Data Boost

Debe habilitar los registros de auditoría de acceso a datos de Spanner para poder recoger datos de uso de Data Boost. sigue estos pasos:

  1. Sigue las instrucciones de la sección Configurar registros de auditoría de acceso a datos con la consola Google Cloud .
  2. Habilita el tipo de registro Data Read para el servicio API de Spanner.
  3. Para obtener el uso de Data Boost por texto SQL de trabajos de BigQuery, asegúrese de que los registros de auditoría de BigQuery también estén habilitados.

Ver el uso por principal

Para consultar los registros de auditoría y ver el uso de Data Boost por usuario, sigue estos pasos:

  1. Ve a Explorador de registros en la Google Cloud consola.

    Ir a Explorador de registros

  2. En el menú de navegación, haga clic en Log Analytics.

  3. Para mostrar el uso por usuario y base de datos durante los últimos 7 días, ejecuta la siguiente consulta. Para cambiar el periodo durante el que se muestra el uso, modifica la expresión timestamp en la cláusula WHERE.

    SELECT
      SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage,
      REGEXP_EXTRACT(
        proto_payload.audit_log.resource_name,
        'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database,
      proto_payload.audit_log.authentication_info.principal_email AS principal_email
    FROM `PROJECT_NAME.global._Default._AllLogs`
    WHERE
      timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND resource.type = 'spanner_instance' AND operation.last IS NULL
      AND JSON_VALUE(labels.data_boost_usage) != ''
    GROUP BY database, principal_email;
    

    Sustituye PROJECT_NAME por el nombre de tu proyecto.

En el siguiente ejemplo se muestra el uso de unidades de procesamiento para 4 principales.

Uso de Data Boost por usuario a partir de los registros de auditoría

Ver el uso por ID de tarea de BigQuery

Para consultar los registros de auditoría y ver el uso de Data Boost desglosado por base de datos, usuario y ID de tarea de BigQuery, sigue estos pasos:

  1. Ve a Explorador de registros en la Google Cloud consola.

    Ir a Explorador de registros

  2. En el menú de navegación, haga clic en Log Analytics.

  3. Ejecuta la siguiente consulta:

    SELECT
      SUM(CAST(JSON_VALUE(labels.data_boost_usage) AS INT64)) AS usage,
      REGEXP_EXTRACT(
        proto_payload.audit_log.resource_name,
        'projects/[^/]+/instances/[^/]+/databases/[^/]+') AS database,
      proto_payload.audit_log.authentication_info.principal_email AS principal_email,
      IFNULL(JSON_VALUE(labels.data_boost_workload_id), 'not from BQ') AS job_id
    FROM `PROJECT_NAME.global._Default._AllLogs`
    WHERE
      timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND resource.type = 'spanner_instance' AND operation.last IS NULL
      AND JSON_VALUE(labels.data_boost_usage) != ''
    GROUP BY database, principal_email, job_id;
    

    Sustituye PROJECT_NAME por el nombre de tu proyecto.

En el siguiente ejemplo se muestra el uso por ID de tarea de BigQuery.

Uso de Data Boost por ID de trabajo

Ver el uso por texto de SQL de BigQuery

Para ver el uso de Data Boost de varias tareas de BigQuery agregadas por el texto SQL de esas tareas, sigue estos pasos:

  1. Ve a Explorador de registros en la Google Cloud consola.

    Ir a Explorador de registros

  2. En el menú de navegación, haga clic en Log Analytics.

  3. Ejecuta la siguiente consulta:

    SELECT
      SUM(
        CAST(
          JSON_VALUE(db.labels.data_boost_usage)
          AS INT64)) AS usage,
      JSON_VALUE(
        bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query)
        AS bq_query
    FROM
      `PROJECT_NAME.global._Default._AllLogs` db,
      `PROJECT_NAME.global._Default._AllLogs` bq
    WHERE
      db.timestamp > TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND db.resource.type = 'spanner_instance'
      AND JSON_VALUE(db.labels.data_boost_usage) != ''
      AND db.operation.last IS NULL
      AND bq.timestamp > TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      AND bq.proto_payload.audit_log.method_name
        = 'google.cloud.bigquery.v2.JobService.InsertJob'
      AND bq.resource.type = 'bigquery_project'
      AND JSON_VALUE(
        bq.proto_payload.audit_log.metadata.jobInsertion.job.jobConfig.queryConfig.query)
        IS NOT NULL
      AND JSON_VALUE(db.labels.data_boost_workload_id)
        = REGEXP_EXTRACT(bq.proto_payload.audit_log.resource_name, '[^/]*$')
    GROUP BY bq_query
    ORDER BY usage DESC
    

    Sustituye PROJECT_NAME por el nombre de tu proyecto.

En el siguiente ejemplo se muestra el uso de Data Boost por texto SQL.

Uso de Data Boost por texto SQL

Crear una alerta de Data Boost

Para crear una alerta que se emita cuando el uso de Aumento de datos supere un umbral predefinido, consulta Definir una alerta para el uso de Aumento de datos.

Siguientes pasos