Monitorar o uso do Data Boost

Nesta página, descrevemos como usar os registros de auditoria do Cloud Monitoring e do Spanner para monitorar e analisar o uso do Data Boost do Spanner.

Com o Cloud Monitoring, é possível rastrear o uso total ao longo do tempo e detalhar esse uso por usuário. Os registros de auditoria do Spanner permitem análises de uso mais flexíveis, incluindo o fornecimento de métricas por usuário ou por ID do job do BigQuery.

Usar o Cloud Monitoring para acompanhar o uso do Data Boost

Siga estas etapas para acompanhar o uso geral do Data Boost:

  1. No Console do Google Cloud, acesse o Monitoring.
    Acessar o Monitoring
  2. Se o Metrics Explorer for exibido no menu de navegação, selecione-o. Caso contrário, clique em Recursos e selecione Metrics Explorer.
  3. Na parte de cima da página, selecione um intervalo de tempo.
  4. Na lista suspensa Métrica, no campo Filtrar por nome do recurso ou da métrica, digite spanner e pressione Enter para restringir a pesquisa.
  5. Na lista Métrica, selecione Instância do Cloud Spanner > Instância > Unidade de processamento secundária e clique em Aplicar.

    Isso cria um gráfico de linhas do uso agregado do Data Boost em todas as instâncias do Spanner.

  6. Para ver o uso de uma instância específica, siga estas etapas:

    1. Clique em + ADICIONAR FILTRO para criar um filtro.
    2. Na lista suspensa Rótulo 1, selecione instance_id.
    3. No campo de texto Valor 1, insira ou selecione o ID da instância em que o uso será exibido.
  7. Para ver um detalhamento do uso de todas as instâncias, siga estas etapas:

    1. Limpe todos os filtros clicando no ícone de lixeira ao lado dos campos Filtros.
    2. Em Agrupar por, na lista suspensa Rótulos, selecione instance_id e depois Soma na lista Função de agrupamento.
  8. Para detalhar o uso por principal, em Agrupar por, selecione credential_id na lista Marcadores e Soma na lista Função de agrupamento.

O exemplo a seguir mostra a unidade de processamento em segundos por principal.

Segundos de PU por usuário

Usar registros de auditoria para analisar o uso do Data Boost

Os registros de auditoria do Spanner permitem análises mais flexíveis do uso do Data Boost. Além da capacidade de dividir o uso ao longo do tempo por instância ou principal, como acontece com o Cloud Monitoring, os registros de auditoria do Spanner, se ativados e disponíveis, permitem dividir o uso ao longo do tempo por banco de dados ou ID de job do BigQuery.

A ativação dos registros de auditoria pode gerar cobranças extras. Para informações sobre os preços do Logging, consulte Preços do Google Cloud Observability: Cloud Logging.

Ativar registros de auditoria de uso do Data Boost

Ative os registros de auditoria de acesso a dados para o Spanner antes de coletar dados de uso para o Data Boost. Para fazer isso, siga estas etapas:

  1. Siga as instruções em Configurar registros de auditoria de acesso a dados com o console do Google Cloud.
  2. Ative o tipo de registro Leitura de dados para o serviço da API Spanner.
  3. Para usar o Data Boost pelo texto de SQL do job do BigQuery, verifique se os registros de auditoria do BigQuery também estão ativados.

Mostrar uso por principal

Para consultar os registros de auditoria e visualizar o uso do Data Boost por usuário, siga estas etapas:

  1. Acesse o Explorador de registros no console do Google Cloud.

    Acessar o Explorador de registros

  2. No menu de navegação, clique em Análise de dados de registros.

  3. Para mostrar o uso por usuário e banco de dados nos últimos sete dias, execute a consulta a seguir. Para alterar o período em que o uso é mostrado, modifique a expressão timestamp na 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;
    

    Substitua PROJECT_NAME pelo nome do projeto.

O exemplo a seguir mostra o uso em unidades de processamento para quatro principais.

Uso do Data Boost por usuário nos registros de auditoria

Ver o uso por ID do job do BigQuery

Para consultar os registros de auditoria e visualizar o uso do Data Boost detalhado por banco de dados, usuário e ID do job do BigQuery, siga estas etapas:

  1. Acesse o Explorador de registros no console do Google Cloud.

    Acessar o Explorador de registros

  2. No menu de navegação, clique em Análise de dados de registros.

  3. Execute esta 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;
    

    Substitua PROJECT_NAME pelo nome do projeto.

O exemplo a seguir mostra o uso por ID do job do BigQuery.

Uso do Data Boost por ID do job

Mostrar uso por texto de SQL do BigQuery

Para visualizar o uso do Data Boost em vários jobs do BigQuery agregados pelo texto SQL desses jobs, siga estas etapas:

  1. Acesse o Explorador de registros no console do Google Cloud.

    Acessar o Explorador de registros

  2. No menu de navegação, clique em Análise de dados de registros.

  3. Execute esta 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
    

    Substitua PROJECT_NAME pelo nome do projeto.

O exemplo a seguir mostra o uso do Data Boost por texto SQL.

Uso do Data Boost por texto SQL

Criar um alerta do Data Boost

Para criar um alerta que é emitido quando o uso do Data Boost excede um limite predefinido, consulte Definir um alerta para o uso do Data Boost.

A seguir