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 uma análise de uso mais flexível, incluindo o fornecimento de métricas por usuário ou por ID do job do BigQuery.

Usar o Cloud Monitoring para rastrear 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. Selecione a opção Metrics Explorer se ela aparecer no menu de navegaçã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 segunda e, em seguida, clique em Aplicar.

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

  6. Para conferir 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, digite ou selecione o ID da instância para exibir o uso.
  7. Para conferir 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 Sum na lista Função de agrupamento.
  8. Para detalhar o uso por principal, em Agrupar por, selecione credential_id na lista Labels e Sum na lista Função de agrupamento.

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

Segundos de PU por usuário

Use os registros de auditoria para analisar o uso do Data Boost

Os registros de auditoria do Spanner permitem uma análise mais flexível do uso do Data Boost. Além da capacidade de dividir o uso ao longo do tempo por instância ou principal como no 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 do job do BigQuery.

A ativação de registros de auditoria pode gerar cobranças extras. Para informações sobre preços do Logging, consulte Preços de observabilidade do Google Cloud: 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 conseguir o uso do Data Boost por 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 ver 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 de exibição do uso, 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 com base em registros de auditoria

Mostrar uso por ID do job do BigQuery

Para consultar os registros de auditoria para ver 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 do SQL do BigQuery

Para visualizar o uso do Data Boost de 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 emitido quando o uso do Data Boost exceder um limite predefinido, consulte Definir um alerta para o uso do Data Boost.

A seguir