Monitorize a utilização da Otimização de dados

Esta página descreve como usar o Cloud Monitoring e os registos de auditoria do Spanner para monitorizar e analisar a utilização do Spanner Data Boost.

O Cloud Monitoring oferece a capacidade de acompanhar a utilização total ao longo do tempo e de discriminá-la por utilizador. Os registos de auditoria do Spanner permitem uma análise de utilização mais flexível, incluindo o fornecimento de métricas por utilizador ou por ID da tarefa do BigQuery.

Use o Cloud Monitoring para acompanhar a utilização da Otimização de dados

Siga estes passos para acompanhar a utilização geral do aumento de dados:

  1. Na Google Cloud consola, aceda a Monitorização.
    Aceder a Monitorização
  2. Se o Explorador de métricas for apresentado no menu de navegação, selecione-o. Caso contrário, clique em Recursos e, de seguida, selecione Explorador de métricas.
  3. Na parte superior da página, selecione um intervalo de tempo.
  4. Na lista pendente Métrica, no campo Filtrar por nome do recurso ou da métrica, introduza spanner e prima Enter para restringir a pesquisa.
  5. Na lista Métrica, selecione Instância do Cloud Spanner > Instância > Segundo da unidade de processamento e, de seguida, clique em Aplicar.

    Isto cria um gráfico de linhas da utilização agregada do Data Boost em todas as instâncias do Spanner.

  6. Para ver a utilização de uma instância específica, siga estes passos:

    1. Use o campo Filtro para adicionar filtros, como o ID da instância.
    2. Clique em + para adicionar outros atributos.
  7. Para ver uma análise detalhada da utilização por todas as instâncias, siga estes passos:

    1. Limpe todos os filtros clicando no ícone X junto aos campos de filtro.
    2. Na lista pendente do operador Agregação, selecione Soma e, de seguida, selecione por instance_id.
  8. Para discriminar a utilização por responsável, no menu pendente do operador Agregação, selecione Soma e, de seguida, selecione por credential_id.

Use registos de auditoria para analisar a utilização do aumento de dados

Os registos de auditoria do Spanner permitem uma análise mais flexível da utilização da Otimização de dados. Além da capacidade de discriminar a utilização ao longo do tempo por instância ou principal, como acontece com o Cloud Monitoring, os registos de auditoria do Spanner, se ativados e disponíveis, permitem discriminar a utilização ao longo do tempo por base de dados ou ID da tarefa do BigQuery.

A ativação dos registos de auditoria pode incorrer em custos adicionais. Para ver informações sobre os preços do Logging, consulte a secção Preços do Google Cloud Observability: Cloud Logging.

Ative os registos de auditoria de utilização do aumento de dados

Tem de ativar os registos de auditoria de acesso aos dados para o Spanner antes de poder recolher dados de utilização para o Data Boost. Para o fazer, siga estes passos:

  1. Siga as instruções em Configure os registos de auditoria de acesso a dados com a Google Cloud consola.
  2. Ative o tipo de registo Data Read para o serviço Spanner API.
  3. Para obter a utilização do Data Boost por texto SQL da tarefa do BigQuery, certifique-se de que os registos de auditoria do BigQuery também estão ativados.

Veja a utilização por responsável

Para consultar os registos de auditoria para ver a utilização do aumento de dados por utilizador, siga estes passos:

  1. Aceda ao Explorador de registos na Google Cloud consola.

    Aceda ao Explorador de registos

  2. No menu de navegação, clique em Log Analytics.

  3. Para mostrar a utilização por utilizador e base de dados nos últimos 7 dias, execute a seguinte consulta. Para alterar o período durante o qual a utilização é apresentada, 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 seu projeto.

O exemplo seguinte mostra a utilização em unidades de processamento para 4 responsáveis.

Utilização do aumento de dados por utilizador a partir dos registos de auditoria

Veja a utilização por ID da tarefa do BigQuery

Para consultar os registos de auditoria para ver a utilização do Data Boost discriminada por base de dados, utilizador e ID da tarefa do BigQuery, siga estes passos:

  1. Aceda ao Explorador de registos na Google Cloud consola.

    Aceda ao Explorador de registos

  2. No menu de navegação, clique em Log Analytics.

  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 seu projeto.

O exemplo seguinte mostra a utilização por ID da tarefa do BigQuery.

Utilização do aumento de dados por ID da tarefa

Veja a utilização por texto SQL do BigQuery

Para ver a utilização do Data Boost para várias tarefas do BigQuery agregadas pelo texto SQL dessas tarefas, siga estes passos:

  1. Aceda ao Explorador de registos na Google Cloud consola.

    Aceda ao Explorador de registos

  2. No menu de navegação, clique em Log Analytics.

  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 seu projeto.

O exemplo seguinte mostra a utilização da Otimização de dados por texto SQL.

Utilização do Data Boost por texto SQL

Crie um alerta de aumento de dados

Para criar um alerta emitido quando a utilização da Otimização de dados excede um limite predefinido, consulte o artigo Defina um alerta para a utilização da Otimização de dados.

O que se segue?