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:
- No Console do Google Cloud, acesse o Monitoring.
Acessar o Monitoring - Selecione a opção Metrics Explorer se ela aparecer no menu de navegação. Caso contrário, clique em Recursos e selecione Metrics Explorer.
- Na parte de cima da página, selecione um intervalo de tempo.
- Na lista suspensa Métrica, no campo Filtrar por nome do recurso ou da métrica, digite
spanner
e pressioneEnter
para restringir a pesquisa. 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.
Para conferir o uso de uma instância específica, siga estas etapas:
- Clique em + ADICIONAR FILTRO para criar um filtro.
- Na lista suspensa Rótulo 1, selecione instance_id.
- No campo de texto Valor 1, digite ou selecione o ID da instância para exibir o uso.
Para conferir um detalhamento do uso de todas as instâncias, siga estas etapas:
- Limpe todos os filtros clicando no ícone de lixeira ao lado dos campos Filtros.
- Em Agrupar por, na lista suspensa Rótulos, selecione instance_id e depois Sum na lista Função de agrupamento.
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.
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:
- Siga as instruções em Configurar registros de auditoria de acesso a dados com o console do Google Cloud.
- Ative o tipo de registro Leitura de dados para o serviço da API Spanner.
- 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:
Acesse o Explorador de registros no console do Google Cloud.
No menu de navegação, clique em Análise de dados de registros.
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áusulaWHERE
.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.
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:
Acesse o Explorador de registros no console do Google Cloud.
No menu de navegação, clique em Análise de dados de registros.
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.
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:
Acesse o Explorador de registros no console do Google Cloud.
No menu de navegação, clique em Análise de dados de registros.
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.
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
- Saiba mais sobre o Data Boost na Visão geral do Data Boost.