Monitorar consultas ativas

Nesta página, descrevemos como monitorar e solucionar problemas das consultas que estão ativas no seu banco de dados. O monitoramento dessas consultas pode ajudar a identificar as causas de latência do sistema e o alto uso da CPU.

O painel do Query Insights mostra um resumo das transações ativas e uma lista de transações com consultas e estatísticas associadas. As transações são exibidas pelo horário de início da transação. Se houver um número grande de consultas em execução, os resultados poderão ser limitados a um subconjunto do total de consultas.

Antes de começar

Para visualizar as consultas ativas, faça o seguinte:

  1. Configure o Gemini nos bancos de dados.
  2. Crie um papel personalizado e adicione as seguintes permissões:
    Tarefas Papéis Permissões
    Mostrar recomendações databaseinsights.viewer databaseinsights.activeQueries.fetch
    databaseinsights.activitySummary.fetch
    Encerrar recomendações databaseinsights.operationsAdmin N/A

Ver consultas ativas

Para ver as consultas ativas, faça isto:

  1. Adicione esse papel para cada usuário que verá as consultas ativas.

  2. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  3. Para abrir a página Visão geral de uma instância, clique no nome da instância.

  4. Siga um dos procedimentos abaixo para exibir o painel do Query Insights:

    • Selecione a guia Query Insights.
    • Clique em Acessar o Query Insigths para ver informações mais detalhadas sobre consultas e desempenho. O painel do Query Insights abre. Ele mostra detalhes sobre a instância na parte superior.
  5. Clique na guia Visualização de consulta ativa.

    Nela, é possível modificar as informações de consulta que aparecem na tabela Transações em execução há mais tempo:

    • Bancos de dados: filtra a carga de consulta em um banco de dados específico ou em todos os bancos de dados.
    • Usuário: filtra a carga de consulta de uma conta de usuário específica.
    • Visão geral do resumo de todas as consultas ativas: fornece uma visão geral de todas as consultas ativas exibindo o total de conexões com base nos seguintes parâmetros:
      1. Distribuição de conexões ativas categorizadas por estado da conexão.
      2. Distribuição de transações ativas com base no estado da transação.
      3. Distribuição de durações de consultas.
    • Transações em execução há mais tempo: fornece uma visão geral das 50 principais consultas em execução (nos estados ativo e inativo em transação) com base no tempo de execução decrescente. É possível filtrar e ordenar as consultas ativas na tabela.

Ver consultas ativas normalizadas

É possível ver uma lista das principais transações de longa duração com consultas ativas normalizadas no painel do Query Insights. Uma consulta ativa normalizada remove dados sensíveis e retorna um resumo. O resumo é igual para valores diferentes usados no exemplo a seguir:

  • Consultas regulares

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • Resumo ou consulta normalizada

    • select * from test_table where id=?;

Uma consulta executada em sessões diferentes é exibida como entradas diferentes no painel.

Ver as principais transações em execução há mais tempo

A tabela Transações em execução há mais tempo no painel do Query Insights contém as seguintes colunas:

Nome da coluna Descrição
ID da lista de processos Identificador exclusivo da conexão ou do ID da linha de execução.
Consulta Texto da consulta SQL.
Status Status da conexão.
Duração da sessão Duração da última sessão em execução.
Duração da transação Duração da transação ativa em execução.
Duração da consulta Duração da última consulta executada nessa transação.
Tipo de evento de espera Tipo do evento de espera ocorrendo.
Evento de espera Evento de espera ocorrendo.
Banco de dados Nome do banco de dados em que essa conexão está em execução.
Nome do aplicativo Nome do aplicativo em que essa conexão está em execução.
Nome de usuário Nome do usuário conectado ao banco de dados.
Endereço do cliente Endereço IP específico do cliente que enviou uma consulta.
Ação Contém um link para encerrar uma transação.

A tela é atualizada automaticamente a cada 60 segundos.

Encerrar um processo

Para encerrar uma consulta ou transação, você precisa ter o papel databaseinsights.operationsAdmin. Para mais informações, consulte Papéis básicos e predefinidos do IAM.

Para encerrar uma consulta ou transação, siga estas etapas:

  1. Na tabela Transação em execução há mais tempo, selecione uma consulta.
  2. Na coluna Ação, clique em Encerrar conexão.
  3. Na janela Encerrar conexão, clique em Confirmar.

Se o sistema encerrar com sucesso a consulta ou a transação, uma mensagem de êxito será exibida. Se necessário, o sistema também realizará uma reversão.