Monitorar o uso do Data Boost

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

O Cloud Monitoring permite acompanhar o uso total ao longo do tempo e detalhar esse uso por usuário. Com os registros de auditoria do Spanner, análise de uso flexível, 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 de recurso ou 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 por segundo 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 conferir o uso de uma instância específica, siga estas etapas:

    1. Use o campo Filtro para adicionar filtros, como o ID da instância.
    2. Clique em + para adicionar outros atributos.
  7. Para ver um detalhamento do uso de todas as instâncias, siga estas etapas:

    1. Para limpar os filtros, clique no ícone X ao lado dos campos de filtro.
    2. Na lista suspensa de operadores Aggregation, selecione Sum e, em seguida, selecione instance_id.
  8. Para detalhar o uso por principal, no menu suspenso do operador Agregação, selecione Soma e, em seguida, selecione por credential_id.

Usar 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 de poder detalhar 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 detalhar 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 de geração de registros, consulte Preços de observabilidade do Google Cloud: Cloud Logging.

Ativar os registros de auditoria de uso do Data Boost

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

  1. Siga as instruções Configure os 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 com o texto SQL do job do BigQuery, verifique se os registros de auditoria do BigQuery também estão ativados.

Conferir o uso por principal

Para consultar os registros de auditoria e conferir 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 registros.

  3. Para mostrar o uso por usuário e banco de dados nos últimos 7 dias, execute a consulta a seguir. Para mudar 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

Conferir o uso por ID do job do BigQuery

Para consultar os registros de auditoria e conferir o uso do Data Boost dividido 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 a seguinte 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 de job

Conferir o uso por texto SQL do BigQuery

Para conferir o uso do Data Boost em vários jobs do BigQuery agregados pelo texto SQL deles, 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 registros.

  3. Execute a seguinte 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 seja emitido quando o uso do Data Boost exceder um limite predefinido, consulte Definir um alerta de uso do Data Boost

A seguir