Monitorar consultas ativas

Nesta página, descrevemos como monitorar e solucionar problemas de consultas que estão sendo executadas na sua instância do Spanner. Consultas ativas são consultas de longa duração que podem afetar o desempenho da instância. O monitoramento dessas consultas pode ajudar a identificar as causas da latência da instância e do alto uso da CPU.

Usando o console do Google Cloud , é possível conferir as consultas ativas na página Query Insights do Spanner. Elas são classificadas pelo horário de início da consulta. Se houver muitas consultas ativas, os resultados poderão ser limitados a um subconjunto do total de consultas devido às restrições de memória que o Spanner impõe à coleta de dados.

Antes de começar

Para receber as permissões necessárias para visualizar consultas ativas, peça ao administrador para conceder a você os seguintes papéis do IAM na instância:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Visualizar consultas ativas

Para conferir as consultas ativas de cada banco de dados, faça o seguinte:

  1. No console Google Cloud , acesse a página Instâncias do Spanner.

    Acessar a página "Instâncias do Spanner"

  2. Clique na instância que contém as consultas que você quer monitorar.

  3. No menu de navegação, clique em Query Insights.

  4. Use o menu Banco de dados para especificar o banco de dados que você quer monitorar.

  5. Clique na guia Consultas ativas. A guia contém um resumo das consultas ativas, além de uma tabela com as 50 consultas ativas mais longas.

Ver consultas de maior duração

A tabela a seguir descreve as colunas padrão na tabela Consultas em execução há mais tempo na guia Consultas ativas:

Nome da coluna Descrição
ID da consulta O identificador exclusivo da consulta.
Consulta O texto da consulta SQL.
Impressão digital Hash da tag de solicitação ou, se uma tag não estiver presente, um hash do texto da consulta SQL.
Horário de início O carimbo de data/hora de quando a consulta começou.
Duração da consulta A duração da consulta ativa em execução.
Ação Contém um link para encerrar a consulta.

Quando a opção Atualização automática está ativada, a tela é atualizada a cada 60 segundos.

Use o botão Opções de exibição da coluna para selecionar qualquer uma das seguintes colunas opcionais que aparecem na tabela "Consultas em execução há mais tempo":

Nome da coluna Descrição
Endereço IP do cliente O endereço IP do cliente que solicitou a consulta. Às vezes, o endereço IP do cliente pode ser editado. O endereço IP mostrado aqui é consistente com os registros de auditoria e segue as mesmas diretrizes de redação. Para mais informações, consulte Endereço IP do autor da chamada em registros de auditoria. O Spanner recomenda solicitar o endereço IP do cliente apenas quando ele for necessário, já que as solicitações podem gerar mais latência.
Região do servidor A região em que o servidor raiz do Spanner processa a consulta. Para mais informações, consulte Ciclo de vida de uma consulta.
Tipo de transação O tipo de transação da consulta. Os valores possíveis são READ_ONLY, READ_WRITE e NONE.
Cabeçalho do cliente de API O cabeçalho api_client do cliente.
Prioridade A prioridade da consulta. Para conferir as prioridades disponíveis, consulte RequestOptions.
Cabeçalho do user agent O cabeçalho user_agent que o Spanner recebe do cliente.

Encerrar uma consulta

É possível encerrar uma consulta em execução na sua instância. Encerrar uma consulta pode ajudar a liberar recursos e reduzir a carga na sua instância. Encerrar uma consulta é uma operação de melhor esforço.

A página do console Google Cloud é atualizada depois que você inicia o encerramento. Se o encerramento for bem-sucedido, a consulta será removida da tabela. Se o encerramento falhar, ele vai ocorrer em segundo plano, e a consulta vai continuar aparecendo na tabela Consultas em execução há mais tempo.

O Spanner pode não cancelar uma consulta quando os servidores estão ocupados. Você pode tentar encerrar uma consulta novamente para cancelar.

Para receber a permissão necessária para encerrar uma consulta, peça ao administrador para conceder a você o papel do IAM Leitor do banco de dados do Cloud Spanner (spanner.databaseReader) na instância.

Esse papel predefinido contém a permissão spanner.sessions.delete, que é necessária para encerrar uma consulta.

Para encerrar uma consulta, faça o seguinte:

  1. Selecione a consulta que você quer encerrar na tabela Consultas em execução há mais tempo.
  2. Na coluna Ações, clique em Encerrar.
  3. Na janela Encerrar consulta, clique em Confirmar.

Para encerrar várias consultas, faça o seguinte:

  1. Selecione as consultas que você quer encerrar na tabela Consultas em execução há mais tempo.
  2. Clique em Encerrar consultas selecionadas.
  3. Na janela Encerrar as seguintes consultas, clique em Confirmar.

A seguir