Acceso al registro de consultas lentas y al registro general de MariaDB - Amazon Relational Database Service

Acceso al registro de consultas lentas y al registro general de MariaDB

Puede escribir el registro de consultas lentas y el registro general de MariaDB en un archivo o en una tabla de la base de datos configurando parámetros en su grupo de parámetros de la base de datos. Para obtener información acerca de cómo crear y modificar un grupo de parámetros de base de datos, consulte Grupos de parámetros para Amazon RDS. Debe definir estos parámetros para poder ver el registro de consultas lentas o el registro general en la consola de Amazon RDS o a través de la API de Amazon RDS, la AWS CLI o los SDK de AWS.

Puede controlar lo que registra MariaDB con los parámetros de esta lista:

  • slow_query_log o log_slow_query: para crear el registro de consultas lentas, use el valor 1. El valor predeterminado es 0.

  • general_log: para crear el registro general, use el valor 1. El valor predeterminado es 0.

  • long_query_time o log_slow_query_time: para evitar que se registren consultas rápidas en el registro de consultas lentas, especifique el valor del tiempo de ejecución mínimo de una consulta, en segundos, para que se registre. El valor predeterminado es 10 segundos y el mínimo es 0. Si log_output = FILE, puede especificar un valor de punto flotante que llega a una resolución de microsegundos. Si log_output = TABLE, debe especificar un valor entero con resolución de segundos. Solo se registran las consultas cuyo tiempo de ejecución supere el valor de long_query_time o log_slow_query_time. Por ejemplo, si configura long_query_time o log_slow_query_time como 0,1, evitará que se registren las consultas que tarden menos de 100 milisegundos en ejecutarse.

  • log_queries_not_using_indexes: para incluir en el registro de consultas lentas todas las consultas que no usen un índice, defina este parámetro como 1. El valor predeterminado es 0. Las consultas que no usen un índice se registran incluso si su tiempo de ejecución es inferior al valor del parámetro long_query_time.

  • log_output option: puede especificar una de las opciones siguientes para el parámetro log_output:

    • TABLE (predeterminada): las consultas generales se escriben en la tabla mysql.general_log y las consultas lentas en la tabla mysql.slow_log.

    • FILE: tanto los registros de las consultas generales como los de las consultas lentas se escriben en el sistema de archivos. Los archivos de registro se rotan cada hora.

    • NONE: deshabilitar registro.

Cuando el registro está habilitado, Amazon RDS rota los registros de las tablas o elimina los archivos de registro a intervalos regulares. Esta medida es una precaución para reducir el riesgo de que un archivo de registro grande bloquee el uso de la base de datos o afecte al rendimiento. El registro con las opciones FILE y TABLE emplea la rotación y eliminación del modo siguiente:

  • Cuando está activado el registro FILE, los archivos de registro se examinan cada hora, y los que tienen una antigüedad superior a 24 horas se eliminan. En algunos casos, el tamaño restante del archivo de registro combinado después de la eliminación puede superar el umbral del 2 por ciento del espacio asignado a una instancia de base de datos. En estos casos, los archivos de registro más grandes se eliminan hasta que el tamaño del archivo de registro no sobrepase el umbral.

  • Cuando el registro de tipo TABLE está habilitado, en algunos casos, las tablas de registro se rotan cada 24 horas. Esta rotación de produce cuando el espacio ocupado por los registros de tabla es superior al 20% del espacio de almacenamiento asignado. También ocurre si el tamaño de todos los registros combinados es superior a 10 GB. Si la cantidad de espacio utilizada para una instancia de base de datos es superior al 90% del espacio de almacenamiento asignado a la instancia de base de datos, se reducen los umbrales de la rotación de registros. Las tablas de registro se rotan si el espacio ocupado por los registros de tabla es superior al 10 % del espacio de almacenamiento asignado. También rotan si el tamaño de todos los registros combinados es superior a 5 GB.

    Cuando se rotan las tablas de registro, la tabla de registro actual se copia en una tabla de registro de copia de seguridad y las entradas de la tabla de registro actual se eliminan. Si la tabla de registro de copia de seguridad ya existe, se elimina antes de copiar la tabla del registro actual en la copia de seguridad. Puede consultar la tabla de registro de copia de seguridad si es necesaria. La tabla de registro de copia de seguridad para la tabla mysql.general_log se llama mysql.general_log_backup. La tabla de registro de copia de seguridad para la tabla mysql.slow_log se llama mysql.slow_log_backup.

    Para rotar la tabla mysql.general_log puede ejecutar el procedimiento mysql.rds_rotate_general_log. Para rotar la tabla mysql.slow_log puede ejecutar el procedimiento mysql.rds_rotate_slow_log.

    Los registros de tabla se rotan durante una actualización de la versión de la base de datos.

Amazon RDS registra la rotación de registros de TABLE y de FILE en un evento de Amazon RDS y envía una notificación.

Para trabajar con los registros desde la consola de Amazon RDS, la API de Amazon RDS, la CLI de Amazon RDS o los SDK de AWS, configure el parámetro log_output en FILE. Al igual que el registro de errores de MariaDB, estos archivos de registro rotan cada hora. Se conservan los archivos de registro que se generaron durante las 24 horas anteriores.

Para obtener más información acerca de los registros de consultas lentas y general, vaya a los siguientes temas de la documentación de MariaDB: