

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Monitora le prestazioni delle query MySQL con log di query generali e lenti in Lightsail
<a name="amazon-lightsail-enabling-mysql-general-and-slow-query-logs"></a>

I [log delle query generici e lenti](amazon-lightsail-viewing-database-logs-and-history.md) sono disabilitati per impostazione predefinita per i database MySQL in Amazon Lightsail. Per abilitare questi log e iniziare a raccogliere dati, occorre aggiornare alcuni parametri del database. Aggiorna i parametri del database utilizzando l'API Lightsail AWS Command Line Interface ,AWS CLI() o. SDKs In questa guida, ti mostriamo come utilizzare per AWS CLI aggiornare i parametri del database e abilitare i log delle query generici e lenti. Vengono fornite anche opzioni supplementari per controllare il log generale e il log delle query lente e la gestione della conservazione dei dati di log.

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

Se non lo hai ancora fatto, installa e configura l' AWS CLI. Per ulteriori informazioni, consulta [Configurazione AWS Command Line Interface per l'utilizzo con Amazon Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

## Abilita i log delle interrogazioni generali e lenti nella console Lightsail
<a name="enable-the-general-and-slow-query-logs"></a>

Per abilitare i log delle interrogazioni generali e lenti nella console Lightsail, è necessario aggiornare i parametri `slow_query_log` e `general_log` del database con un valore `1` di e `log_output` il parametro con un valore di. `FILE`

**Per abilitare i log delle interrogazioni generali e lenti nella console Lightsail**

1. Aprire una finestra del terminal o del prompt dei comandi.

1. Immettere il comando seguente per aggiornare il parametro `general_log` con il valore `1`, che corrisponde a true o abilitato.

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

   Nel comando, sostituisci:
   + {{DatabaseName}}con il nome del tuo database.
   + {{Region}}con Regione AWS il tuo database.

1. Immettere il comando seguente per aggiornare il parametro `slow_query_log` con il valore `1`, che corrisponde a true o abilitato.

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

   Nel comando, sostituisci:
   + {{DatabaseName}}con il nome del tuo database.
   + {{Region}}con Regione AWS il tuo database.

1. Immettete il seguente comando per aggiornare il `log_output` parametro a un valore di`FILE`, che scrive i dati di registro in un file di sistema e ne consente la visualizzazione nella console Lightsail.

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

   Nel comando, sostituisci:
   + {{DatabaseName}}con il nome del tuo database.
   + {{Region}}con Regione AWS il tuo database.

1. Immettere il comando seguente per riavviare il database e applicare le modifiche.

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

   Nel comando, sostituisci:
   + {{DatabaseName}}con il nome del tuo database.
   + {{Region}}con Regione AWS il tuo database.

   A questo punto, il database non è più disponibile durante il riavvio. Attendi qualche minuto, quindi accedi alla console [Lightsail](https://lightsail.aws.amazon.com/) per visualizzare i log delle query generali e lente per il tuo database. Per ulteriori informazioni, consulta [Visualizzazione dei log e della cronologia del database in Amazon Lightsail](amazon-lightsail-viewing-database-logs-and-history.md).
**Nota**  
Per ulteriori informazioni sull'aggiornamento dei parametri del database, consulta [Aggiornamento dei parametri del database in Amazon Lightsail](amazon-lightsail-updating-database-parameters.md).

## Controllo di altre opzioni dei log di database
<a name="control-additional-database-log-options"></a>

Per controllare altre opzioni per il log generale e il log delle query lente di MySQL, aggiornare i parametri seguenti:
+ `log_output`: impostare questo parametro su `TABLE`. Le query generali vengono scritte nella tabella `mysql.general_log` e le query lente nella tabella `mysql.slow_log`. Puoi anche impostare il parametro `log_output` su `NONE` per disabilitare la registrazione.
**Nota**  
L'impostazione del `log_output` parametro su `TABLE` disabilita la visualizzazione dei dati generali e lenti del registro delle interrogazioni nella console Lightsail. Per visualizzare i dati dei log, occorre invece consultare le tabelle `mysql.general_log` e `mysql.slow_log` del database.
+ `long_query_time`: per evitare che le query a rapida esecuzione vengano registrate nel log delle query lente, specificare un valore per il tempo minimo di esecuzione delle query da registrare, espresso in secondi. Il valore predefinito è 10 secondi e il valore minimo è 0. Se il parametro `log_output` è impostato su `FILE`, è possibile specificare un valore a virgola mobile con risoluzione al microsecondo. Se il parametro `log_output` è impostato su `TABLE`, è necessario specificare un valore intero con risoluzione al secondo. Vengono registrate solo le query il cui tempo di esecuzione supera il valore del parametro `long_query_time`. Ad esempio, impostando `long_query_time` su 0,1 si impedisce a tutte le query con tempo di esecuzione inferiore a 100 millisecondi di essere registrate.
+ `log_queries_not_using_indexes`: per registrare tutte le query che non usano un indice nel log delle query lente, impostare su 1. Il valore predefinito è 0. Le query che non usano un indice vengono registrate anche se il loro tempo di registrazione è inferiore al valore del parametro `long_query_time`.

## Conservazione dei dati di log
<a name="log-data-retention"></a>

Quando la registrazione è abilitata, a intervalli regolari viene eseguita la rotazione dei log delle tabelle o l'eliminazione dei file di log. Questa è una misura preventiva per ridurre l'eventualità che un file di log molto grande comprometta l'uso del database o la performance. Quando il parametro `log_output` è impostato su `FILE` o `TABLE`, la registrazione viene gestita come segue:
+ Quando la registrazione `FILE` è abilitata, i file di log vengono esaminati ogni ora e quelli più vecchi di 24 ore vengono eliminati. In alcuni casi, la dimensione del file di log combinato restante dopo l'eliminazione supera la soglia del 2% di spazio assegnato a un database. In questi casi, i file di log più grandi vengono eliminati fino a che le dimensioni del file di log non rimangono inferiori alla soglia.
+ Quando la registrazione `TABLE` è abilitata, in alcuni casi le tabelle di log vengono ruotate ogni 24 ore.

  Questa rotazione avviene se lo spazio usato dai log delle tabelle è più del 20 per cento dello spazio di storage assegnato o se la dimensione di tutti i file combinati è maggiore di 10 GB.

  Se la quantità di spazio utilizzato per un database è maggiore del 90% dello spazio di storage assegnato del database, le soglie per rotazione dei log vengono ridotte.

  Le tabelle di log vengono ruotate se lo spazio utilizzato dai log delle tabelle supera il 10 per cento dello spazio di storage assegnato o se la dimensione di tutti i log combinati è maggiore di 5 GB.

  Puoi iscriverti all'evento `low_free_storage` per ricevere notifica quando le tabelle di log vengono ruotate per liberare spazio.
  + Quando le tabelle di log sono convertite, la tabella di log corrente è copiata in una tabella di logo di backup e le voci nella tabella di log corrente sono eliminate. Se esiste già una tabella di log di backup, questa viene eliminata prima che la tabella di log corrente sia copiata nel backup. Puoi eseguire una query sulla tabella di log di backup. La tabella di log di backup per la tabella `mysql.general_log` è denominata `mysql.general_log_backup`. La tabella di log di backup per la tabella `mysql.slow_log` è denominata `mysql.slow_log_backup`.
  + Puoi ruotare la tabella `mysql.general_log` chiamando `mysql.rds_rotate_general_logprocedure`. Puoi ruotare la tabella `mysql.slow_log` chiamando `mysql.rds_rotate_slow_logprocedure`.
  + I log della tabella vengono ruotati durante l'aggiornamento della versione del database.