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à.
Panoramica dei registri di database RDS per MySQL
Puoi monitorare i seguenti tipi di file di registro RDS per MySQL:
-
Log di errori
-
Log delle query lente
-
Log generale
-
Log di audit
-
Log delle istanze
-
Log degli errori di autenticazione del database IAM
Il registro degli errori RDS per MySQL viene generato per impostazione predefinita. È possibile generare la query lenta e i log generali impostando i parametri nel gruppo di parametri di database.
Argomenti
Registri degli errori RDS per MySQL
RDS per MySQL scrive errori nel file mysql-error.log. Ogni file di log ha l'ora di creazione (in UTC) accodata al nome. I file di log hanno anche un timestamp che ti aiuta a determinare quando le voci del log sono state scritte.
RDS per MySQL scrive nel registro degli errori solo durante l'avvio, l'arresto e quando si verificano errori. Un'istanza database può andare avanti ore senza che ci siano nuove voci scritte nel file di log degli errori. Se non vedi voci recenti, significa che il server non ha riscontrato errori che generano una voce di registro.
In base alla progettazione, i registri degli errori vengono filtrati in modo da visualizzare solo eventi imprevisti come errori. Tuttavia, i registri degli errori contengono anche altre informazioni sul database, ad esempio l'avanzamento della query, che non vengono visualizzate. Pertanto, anche senza errori effettivi, la dimensione dei registri degli errori potrebbe aumentare a causa delle attività del database in corso. E anche quando presentano una dimensione in byte o kilobyte nella AWS Management Console, i log degli errori potrebbero avere 0 byte quando li scarichi.
RDS per MySQL scrive mysql-error.log su disco ogni 5 minuti. Aggiunge il contenuto del registro a mysql-error-running.log.
RDS per MySQL ruota il file mysql-error-running.log ogni ora. Conserva i registri generati nelle ultime due settimane.
Nota
Il periodo di conservazione dei log è diverso tra Amazon RDS e Aurora.
Registri generali e delle query lente di RDS per MySQL
Il registro delle query lente e il registro generale di RDS per MySQL possono essere scritti in un file o una tabella di database impostando i parametri nel gruppo 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, la CLI di Amazon RDS o gli SDK AWS.
Puoi controllare la registrazione di RDS per MySQL utilizzando i parametri in questo elenco:
-
slow_query_log: 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: per evitare che le query a esecuzione rapida vengano registrate nel registro delle query lente, specifica in secondi un valore per il runtime di query più breve da registrare. 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 solo le query con runtime che supera il valorelong_query_time. Ad esempio, impostandolong_query_timesu 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 sul log delle query lente, imposta su 1. Le query che non utilizzano un indice vengono registrate anche se il runtime è inferiore al valore del parametrolong_query_time. Il valore predefinito è 0. -
log_output: puoi specificare una delle seguenti opzioni per il parametrooptionlog_output.-
TABLE (predefinito)
mysql.general_logScrive le query generali nella tabella – e le query lente nella tabellamysql.slow_log. -
FILE – Scrive sia i log generali sia i log delle query lente nel file system.
-
NONE – Disabilita il logging.
-
Per garantire la visualizzazione dei dati delle query lente in Amazon CloudWatch Logs, è necessario che siano soddisfatte le seguenti condizioni:
CloudWatch Logs deve essere configurato per includere i log delle query lente.
slow_query_logdeve essere abilitato.log_outputdeve essere impostato suFILE.La query deve richiedere più tempo di quanto configurato per
long_query_time.
Per ulteriori informazioni sui log delle query lente e i log generali, consulta i seguenti argomenti nella documentazione di MySQL:
Registro di controllo di MySQL
Per accedere al log di audit, l'istanza database deve usare un gruppo di opzioni personalizzato con l'opzione MARIADB_AUDIT_PLUGIN. Per ulteriori informazioni, consulta Supporto per MySQL del plug-in per audit MariaDB.
Rotazione e conservazione dei registri per RDS per MySQL
Quando la registrazione è abilitata, Amazon RDS ruota i log delle tabelle o elimina i file di log a intervalli regolari. Questa è una misura preventiva per ridurre l'eventualità che un file di log molto grande comprometta l'uso del database o la performance. RDS per MySQL gestisce la rotazione e l'eliminazione come segue:
-
Le dimensioni dei log delle query lente, degli errori e generale di MySQL sono limitate a un massimo del 2 per cento dello spazio di storage assegnato per un'istanza database. Per mantenere questa soglia, i log vengono ruotati automaticamente ogni ora. MySQL rimuove i file di registro più vecchi di due settimane. Se le dimensioni del file di log combinato superano tale soglia dopo la rimozione dei file di log più vecchi, 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
FILEè abilitata, i file di registro vengono esaminati ogni ora e quelli più vecchi di due settimane 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ù vecchi 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 registri combinati è maggiore di 10 GB. Se la quantità di spazio utilizzato per un'istanza database è maggiore del 90 per cento dello spazio di storage assegnato per l'istanza database, allora le soglie di rotazione del log 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. È possibile abbonarsi alla categoria di eventilow storageper ricevere una notifica quando le tabelle di log vengono ruotate per liberare spazio. Per ulteriori informazioni, consulta Utilizzo della notifica degli eventi di Amazon RDS.Quando le tabelle dei registri vengono ruotate, la tabella dei registri corrente viene copiata prima in una tabella dei registri di backup. Quindi le voci della tabella dei registri corrente vengono rimosse. 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è denominatamysql.general_log_backup. La tabella di log di backup per la tabellamysql.slow_logè denominatamysql.slow_log_backup.Puoi ruotare la tabella
mysql.general_logchiamando la proceduramysql.rds_rotate_general_log. Puoi ruotare la tabellamysql.slow_logchiamando la proceduramysql.rds_rotate_slow_log.I log della tabella vengono ruotati durante l'aggiornamento della versione del database.
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 MySQL, questi file di log vengono ruotati ogni ora. I file di registro generati durante le due settime precedenti vengono conservati. Il periodo di conservazione è diverso tra Amazon RDS e Aurora.
Limiti di dimensioni nei registri di ripristino
Per RDS per MySQL versione 8.0.32 e precedenti, il valore predefinito di questo parametro è 256 MB. Questo valore viene ottenuto moltiplicando il valore predefinito del parametro innodb_log_file_size (128 MB) per il valore predefinito del parametro innodb_log_files_in_group (2). Per ulteriori informazioni, consultare Best practice per la configurazione dei parametri per Amazon RDS per MySQL, parte 1: Parametri relativi alle prestazioni
Per RDS per MySQL 8.0.33 e versioni secondarie successive, Amazon RDS utilizza il parametro innodb_redo_log_capacity al posto del parametro innodb_log_file_size. Il valore predefinito di Amazon RDS per il parametro innodb_redo_log_capacity è 2 GB. Per ulteriori informazioni, consulta Changes in MySQL 8.0.30
A partire da MySQL 8.4, Amazon RDS abilita il parametro innodb_dedicated_server per impostazione predefinita. Con il parametro innodb_dedicated_server, il motore del database calcola i parametri innodb_buffer_pool_size e innodb_redo_log_capacity. Per ulteriori informazioni, consulta Configurazione delle dimensioni del pool di buffer e della capacità dei log di redo in MySQL 8.4.