Panoramica dei registri di database RDS per MySQL - 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à.

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

  • Registro delle istanze

  • Registro 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.

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. Anche se potresti vedere una certa dimensione in byte o kilobyte per i log degli errori contenuti in AWS Management Console, 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 RDS. È necessario impostare questi parametri prima di poter visualizzare il registro delle query lente o il registro generale nella console Amazon RDS o utilizzando l'API Amazon RDS, l'interfaccia a riga di comando di Amazon RDS o. AWS SDKs

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 valore 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 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 parametro long_query_time. Il valore predefinito è 0.

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

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

    • FILE – Scrive sia i log generali sia i log delle query lente nel file system.

    • NONE – Disabilita il logging.

Affinché i dati delle query lente vengano visualizzati in Amazon CloudWatch Logs, devono essere soddisfatte le seguenti condizioni:

  • CloudWatch I log devono essere configurati per includere log di query lente.

  • slow_query_logdeve essere abilitato.

  • log_output deve essere impostato su FILE.

  • L'interrogazione deve richiedere più tempo del tempo configuratolong_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 del plugin MariaDB Audit per My SQL.

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. Puoi iscriverti alla categoria di low storage eventi per ricevere una notifica quando le tabelle di registro vengono ruotate per liberare spazio. Per ulteriori informazioni, consulta Utilizzo delle notifiche di RDS eventi di Amazon.

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

Per utilizzare i log dalla console Amazon RDS, dall'API Amazon RDS, dalla CLI di Amazon RDS oppure AWS SDKs imposta il parametro su FILE. log_output 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 for MySQL versione 8.0.32 e precedenti, il valore predefinito di questo parametro è 256 MB. Questo importo viene derivato moltiplicando il valore predefinito del innodb_log_file_size parametro (128 MB) per il valore predefinito del parametro (2). innodb_log_files_in_group Per ulteriori informazioni, consulta Best practice per la configurazione dei parametri per Amazon RDS for MySQL, parte 1: Parametri relativi alle prestazioni.

Per la versione 8.0.33 di RDS per MySQL e le versioni secondarie successive, Amazon RDS utilizza il parametro anziché il parametro. innodb_redo_log_capacity innodb_log_file_size Il valore predefinito di Amazon RDS del innodb_redo_log_capacity parametro è 2 GB. Per ulteriori informazioni, consulta Changes in MySQL 8.0.30 (Modifiche in MySQL 8.0.30) nella documentazione di MySQL.

A partire da MySQL 8.4, Amazon RDS abilita il parametro per impostazione predefinita. innodb_dedicated_server Con il innodb_dedicated_server parametro, il motore di database calcola i parametri and. innodb_buffer_pool_size innodb_redo_log_capacity Per ulteriori informazioni, consulta Configurazione delle dimensioni del buffer pool e della capacità di redo log in My 8.4 SQL.