Accesso al log delle query lente e al log generale del MariaDB - Amazon Relational Database Service

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à.

Accesso al log delle query lente e al log generale del MariaDB

Il registro delle query lente MariaDB e quello generale possono essere scritti in un file o una tabella di database impostando i parametri nel gruppo di parametri del database. Per informazioni sulla creazione e la modifica di un gruppo di parametri database, consulta Gruppi di parametri per Amazon RDS. Devi impostare questi parametri prima di poter visualizzare il log delle query lente o il log generale nella console Amazon RDS o tramite l'API di Amazon RDS, AWS CLI o gli SDK AWS.

Puoi controllare la registrazione di MariaDB utilizzando i parametri in questo elenco:

  • slow_query_log o log_slow_query: per creare il log delle query lente, imposta su 1. Il valore predefinito è 0.

  • general_log: per creare il log generale, imposta su 1. Il valore predefinito è 0.

  • long_query_time o log_slow_query_time: per evitare che le query a rapida esecuzione vengano registrate nel log delle query lente, è necessario specificare in secondi un valore di registrazione per il tempo di esecuzione query più breve. Il valore predefinito è 10 secondi, il minimo è 0 secondi. Se log_output = FILE, puoi specificare un valore in virgola mobile con risoluzione al microsecondo. Se log_output = TABLE, devi specificare un valore intero con risoluzione al secondo. Vengono registrate nel log solo le query con tempo di esecuzione che supera il valore long_query_time o log_slow_query_time. Ad esempio, impostando long_query_time o log_slow_query_time su 0,1 si impedisce a tutte le query con tempo di esecuzione inferiore a 100 millisecondi di essere registrate nel log.

  • log_queries_not_using_indexes: per registrare tutte le query che non usano un indice sul log delle query lente, imposta il parametro 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.

  • log_output option: puoi specificare una delle seguenti opzioni per il parametro log_output:

    • TABLE (predefinito) – Scrive le query generali nella tabella mysql.general_log e le query lente nella tabella mysql.slow_log.

    • FILE – Scrive sia i log generali sia i log delle query lente nel file system. I file di log vengono ruotati ogni ora.

    • NONE – Disabilita il logging.

Quando la registrazione è abilitata, Amazon RDS ruota i log delle tabelle o elimina i file di log a intervalli regolari. Questa è una precauzione per ridurre la possibilità che un file di log di grandi dimensioni blocchi l'uso del database o influisca sulle prestazioni. I logging di tipo FILE e TABLE gestiscono la rotazione e l'eliminazione in questo modo:

  • 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 per cento di spazio assegnato a un'istanza 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 registri delle tabelle è più del 20% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i log combinati è maggiore di 10 GB. Se la quantità di spazio utilizzato per un'istanza database è maggiore del 90% dello spazio di archiviazione assegnato per l'istanza database, le soglie di rotazione dei registri vengono ridotte. Le tabelle dei registri vengono ruotate se lo spazio utilizzato dai registri delle tabelle supera il 10% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i log combinati è maggiore di 5 GB.

    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, se necessario. 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 la procedura mysql.rds_rotate_general_log. Puoi ruotare la tabella mysql.slow_log chiamando la procedura mysql.rds_rotate_slow_log.

    I log della tabella vengono ruotati durante l'aggiornamento della versione del database.

Amazon RDS registra la rotazione di log TABLE e FILE in un evento Amazon RDS e invia una notifica.

Per usare i log dalla console Amazon RDS, dall'API di Amazon RDS, dalla CLI di Amazon RDS o dagli SDK AWS, imposta il parametro log_output su FILE. Come il log degli errori MariaDB, questi file di log vengono ruotati ogni ora. I file di log che sono stati generati durante le precedenti 24 ore vengono conservati.

Per ulteriori informazioni sui log delle query lente e i log generali, consulta i seguenti argomenti nella documentazione del MariaDB: