

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Monitore o desempenho de consultas do MySQL com registros de consulta gerais e lentos no Lightsail
<a name="amazon-lightsail-enabling-mysql-general-and-slow-query-logs"></a>

Os [registros de consulta gerais e lentos](amazon-lightsail-viewing-database-logs-and-history.md) são desativados por padrão para bancos de dados MySQL no Amazon Lightsail. Você pode habilitar esses logs e começar a coleta de dados atualizando alguns parâmetros de banco de dados. Atualize os parâmetros do banco de dados usando a API Lightsail AWS Command Line Interface ,AWS CLI() ou. SDKs Neste guia, mostramos como usar o AWS CLI para atualizar os parâmetros do banco de dados e ativar os registros de consulta gerais e lentos. Também fornecemos opções adicionais para controlar os logs gerais e de consultas lentas, e como a retenção de dados de log é feita.

## Pré-requisito
<a name="prerequisite-to-enable-general-and-slow-query-logs"></a>

Caso ainda não tenha feito isso, instale e configure a AWS CLI. Para obter mais informações, consulte [Configurar o AWS Command Line Interface para trabalhar com o Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

## Ative os registros de consulta gerais e lentos no console do Lightsail
<a name="enable-the-general-and-slow-query-logs"></a>

Para ativar os registros de consulta gerais e lentos no console do Lightsail, você deve atualizar os parâmetros `slow_query_log` e `general_log` do banco de dados com um valor `1` de, e `log_output` o parâmetro com um valor de. `FILE`

**Para habilitar os registros de consulta gerais e lentos no console do Lightsail**

1. Abra uma janela de Terminal ou um Prompt de Comando.

1. Insira o comando a seguir para atualizar o parâmetro `general_log` para um valor de `1`, que é verdadeiro ou habilitado.

   ```
   aws lightsail update-relational-database-parameters --region {{Region}} --relational-database-name {{DatabaseName}} --parameters "parameterName=general_log,parameterValue=1,applyMethod=pending-reboot"
   ```

   No comando, substitua:
   + {{DatabaseName}}com o nome do seu banco de dados.
   + {{Region}}com o Região da AWS do seu banco de dados.

1. Insira o comando a seguir para atualizar o parâmetro `slow_query_log` para um valor de `1`, que é verdadeiro ou habilitado.

   ```
   aws lightsail update-relational-database-parameters --region {{Region}} --relational-database-name {{DatabaseName}} --parameters "parameterName=slow_query_log,parameterValue=1,applyMethod=pending-reboot"
   ```

   No comando, substitua:
   + {{DatabaseName}}com o nome do seu banco de dados.
   + {{Region}}com o Região da AWS do seu banco de dados.

1. Insira o comando a seguir para atualizar o `log_output` parâmetro para um valor de`FILE`, que grava os dados de log em um arquivo do sistema e permite que eles sejam exibidos no console do Lightsail.

   ```
   aws lightsail update-relational-database-parameters --region {{Region}} --relational-database-name {{DatabaseName}} --parameters "parameterName=log_output,parameterValue=FILE,applyMethod=pending-reboot"
   ```

   No comando, substitua:
   + {{DatabaseName}}com o nome do seu banco de dados.
   + {{Region}}com o Região da AWS do seu banco de dados.

1. Insira o comando a seguir para reiniciar o banco de dados e fazer com que as alterações entrem em vigor.

   ```
   aws lightsail reboot-relational-database --region {{Region}} --relational-database-name {{DatabaseName}}
   ```

   No comando, substitua:
   + {{DatabaseName}}com o nome do seu banco de dados.
   + {{Region}}com o Região da AWS do seu banco de dados.

   Neste momento, seu banco de dados ficará indisponível durante a reinicialização. Aguarde alguns minutos e entre no console do [Lightsail](https://lightsail.aws.amazon.com/) para ver os registros de consulta gerais e lentos do seu banco de dados. Para obter mais informações, consulte [Visualização dos registros e do histórico do seu banco de dados no Amazon Lightsail](amazon-lightsail-viewing-database-logs-and-history.md).
**nota**  
Para obter mais informações sobre a atualização dos parâmetros do banco de dados, consulte [Atualização dos parâmetros do banco de dados no Amazon Lightsail](amazon-lightsail-updating-database-parameters.md).

## Controlar as opções adicionais de log do banco de dados
<a name="control-additional-database-log-options"></a>

Para controlar opções adicionais para os logs de consultas gerais e de consultas lentas do MySQL, atualize os seguintes parâmetros:
+ `log_output` – defina este parâmetro como `TABLE`. Isso grava as consultas gerais na tabela `mysql.general_log` e as consultas lentas na tabela `mysql.slow_log`. Você também pode definir o parâmetro `log_output` como `NONE` para desativar o registro em log.
**nota**  
Definir o `log_output` parâmetro para impedir que `TABLE` os dados de registro de consultas gerais e lentas sejam exibidos no console do Lightsail. Em vez disso, você deve fazer referência ao `mysql.general_log` e às tabelas `mysql.slow_log` em seu banco de dados para visualizar os dados de log.
+ `long_query_time`: para evitar que as consultas de execução rápida sejam registradas no log de consultas lentas, especifique um valor para o tempo de execução de consultas mais curto a ser registrado, em segundos. O padrão é 10 segundos e o mínimo é 0. Se o parâmetro `log_output` estiver definido como `FILE`, você poderá especificar um valor de ponto flutuante com resolução por microssegundo. Se o parâmetro `log_output` estiver definido como `TABLE`, você deverá especificar um valor inteiro com a segunda resolução. Somente as consultas com tempo de execução que exceda o valor do parâmetro `long_query_time` serão registradas. Por exemplo, definir `long_query_time` como 0.1 impede que qualquer consulta que seja executada por menos de 100 milissegundos seja registrada.
+ `log_queries_not_using_indexes`: para registrar todas as consultas que não usam um índice no log de consultas lentas, defina como 1. O padrão é 0. As consultas que não utilizam um índice são registradas, mesmo que seu tempo de execução seja inferior ao valor do parâmetro `long_query_time`.

## Retenção de dados de log
<a name="log-data-retention"></a>

Quando o registro em log está habilitado, é feito o rodízio dos logs da tabela ou os arquivos de log são excluídos em intervalos regulares. Essa medida é uma precaução para reduzir a possibilidade de um arquivo de log grande bloquear o uso do banco de dados ou afetar o desempenho. Quando o parâmetro `log_output` estiver como `FILE` ou `TABLE`, o registro em log é tratado da seguinte forma:
+ Quando o registro em log `FILE` está habilitado, os arquivos de log são examinados a cada hora, e os arquivos de log com mais de 24 horas são excluídos. Em alguns casos, o tamanho do arquivo de log combinado restante após a exclusão pode exceder o limite de 2% do espaço alocado de um banco de dados. Nesses casos, os arquivos de log maiores são excluídos até que o tamanho de arquivo de log não exceda o limite.
+ Quando o registro em log de `TABLE` estiver habilitado, em alguns casos, o rodízio das tabelas de log será feito a cada 24 horas.

  Essa rotação ocorrerá se o espaço usado pelos logs de tabelas for superior a 20% do espaço de armazenamento alocado ou se o tamanho de todos os logs combinados for superior a 10 GB.

  Se a quantidade de espaço usada por um banco de dados for maior que 90% do espaço de armazenamento alocado do banco de dados, os limites para o rodízio de logs serão reduzidos.

  As tabelas de log serão rotacionadas se o espaço usado pelos logs de tabelas for superior a 10% do espaço de armazenamento alocado ou se o tamanho de todos os logs combinados for superior a 5 GB.

  Você pode assinar o evento `low_free_storage` para ser notificado quando tabelas de log forem rotacionadas para liberar espaço.
  + Quando as tabelas de log são revezadas, a tabela de log atual é copiada para uma tabela de log de backup e as entradas na tabela de log atual são removidas. Se a tabela de log de backup já existir, então ela será excluída antes que a tabela de log atual seja copiada ao backup. Você pode consultar a tabela de log de backup. A tabela de log de backup para a tabela `mysql.general_log` é denominada `mysql.general_log_backup`. A tabela de log de backup para a tabela `mysql.slow_log` é denominada `mysql.slow_log_backup`.
  + Você pode fazer o rodízio da tabela `mysql.general_log` chamando `mysql.rds_rotate_general_logprocedure`. Você pode fazer o rodízio da tabela `mysql.slow_log` chamando `mysql.rds_rotate_slow_logprocedure`.
  + Os logs de tabelas são rotacionados durante um upgrade de versão do banco de dados.