Habilite y consulte los registros de auditoría de SQL en Lindorm.
Requisitos previos
La versión secundaria de LindormTable debe ser la 2.7.6 o posterior. Para obtener información sobre cómo consultar o actualizar la versión secundaria de LindormTable, consulte Release notes of LindormTable y Upgrade the minor engine version of a Lindorm instance.
Notas de uso
La función de registro de auditoría de SQL no es compatible con las instancias serverless ni con las instancias de nodo único de Lindorm.
Si habilita la función de registro de auditoría como usuario de RAM, debe otorgar el permiso AliyunLogFullAccess a dicho usuario. Para más información sobre cómo otorgar permisos a un usuario de RAM, consulte Grant permissions to a RAM user.
-
Una vez habilitada la función de registro de auditoría, Lindorm crea un proyecto y un logstore dedicado en la región donde se despliega la instancia de Lindorm.
El formato de nombre del proyecto es
aliyun-product-Alibaba Cloud Account ID-region ID.El nombre del logstore dedicado es
lindorm-sql-audit-log.
No es posible ejecutar ciertas operaciones en los logstores dedicados. Por ejemplo, no puede escribir datos en ellos ni modificar o eliminar sus índices. Tampoco puede modificar los atributos de un logstore dedicado. Sin embargo, funciones como la consulta de datos, el análisis estadístico y las alertas no tienen límites.
Compruebe que SLS esté disponible. Si SLS deja de estarlo, no podrá usar la función de análisis completo de registros.
Tipos de registros de auditoría
Los registros de auditoría de SQL de Lindorm registran los siguientes tipos de operaciones SQL:
Operaciones DDL, como CREATE DATABASE, CREATE TABLE, ALTER TABLE y DROP TABLE.
Operaciones DML, como INSERT, UPSERT, DELETE y UPDATE.
Operaciones DQL, como SELECT.
Por lo general, las operaciones DML y DQL son frecuentes, por lo que registrarlas puede afectar el rendimiento y la estabilidad de su instancia. Por este motivo, Wide Table Engine registra únicamente los registros de auditoría de SQL DDL de forma predeterminada. Para habilitar los registros de auditoría DML y DQL, ajuste el nivel de auditoría mediante la variable de sistema AUDIT_LEVEL. Para obtener instrucciones detalladas, consulte Modify the audit log level.
Habilitar la función de registro de auditoría de SQL
Facturación
Log Service cobra tarifas pay-as-you-go por los registros de auditoría de SQL según el espacio de almacenamiento y el periodo de retención. Para obtener información detallada sobre los precios, consulte Precios de Log Service.
Procedimiento
Inicie sesión en la consola de Lindorm.
En la esquina superior izquierda de la página, seleccione la región donde se despliega la instancia.
En la página Instances, haga clic en el ID de la instancia de destino o haga clic en View Instance Details en la columna Actions de la instancia.
En el panel de navegación izquierdo, haga clic en Wide Table Engine.
Haga clic en la pestaña SQL Audit Logs y, a continuación, haga clic en Enable audit logs.
En el cuadro de diálogo Enable SQL Audit Logs, haga clic en OK.
Consultar los registros de auditoría de SQL
Periodo de retención de registros
De forma predeterminada, los registros de auditoría de SQL de Lindorm se conservan durante 30 días. Puede Modify the log retention period en la consola de Lindorm. Los registros se eliminan automáticamente cuando expira el periodo de retención.
Modificar el periodo de retención de registros
Inicie sesión en la consola de Lindorm.
En la esquina superior izquierda de la página, seleccione la región donde se despliega la instancia.
En la página Instances, haga clic en el ID de la instancia de destino o haga clic en View Instance Details en la columna Actions de la instancia.
En el panel de navegación izquierdo, elija . En la esquina superior derecha, haga clic en Modify retention period y establezca el nuevo periodo de retención en el cuadro de diálogo que aparece.
Haga clic en Confirm Modifications.
Consultar los registros de auditoría
Inicie sesión en la consola de Lindorm.
En la esquina superior izquierda de la página, seleccione la región donde se despliega la instancia.
En la página Instances, haga clic en el ID de la instancia de destino o haga clic en View Instance Details en la columna Actions de la instancia.
-
En el panel de navegación izquierdo, elija para consultar los detalles de los registros de auditoría de Wide Table Engine.
NotaDe forma predeterminada, se muestran los detalles de los registros de los últimos 15 minutos. También puede cambiar el periodo de tiempo según sus necesidades de negocio.
(Opcional) En la pestaña Raw Log, puede filtrar los registros con diversos criterios. Utilice el panel Index Fields de la izquierda para filtrar por campos como db, clientIp y fail. El panel derecho muestra los campos detallados de cada registro, incluidos
sqlType,user,affectRows,checkRows,clientIp,clientPortyconnectionId. Por ejemplo, seleccione default bajo el campo db para filtrar los registros de auditoría de una base de datos específica.
Campos de los registros de auditoría
|
Campo |
Descripción |
|
instance_id |
El ID de la instancia de Lindorm. |
|
reqId |
El ID único que identifica el registro de auditoría de la operación. |
|
user |
El nombre de usuario correspondiente al registro de auditoría de la operación. |
|
fail |
Indica si la sentencia SQL se ejecutó correctamente. Un valor de |
|
reason |
El mensaje de error del registro de auditoría de la operación. Este mensaje solo se devuelve cuando ocurre un error en la operación. |
|
connectionId |
El ID de conexión del cliente. |
|
protocol |
El tipo de protocolo del cliente. Valores válidos: Avatica y MySQL. |
|
db |
El nombre de la base de datos seleccionada. |
|
sql |
La sentencia SQL que se ejecutó. |
|
sqlType |
El tipo de sentencia SQL. Los valores válidos incluyen |
|
params |
Los parámetros especificados en la sentencia SQL. Separe varios parámetros con comas (,). Este campo está disponible en escenarios de consulta donde se vinculan parámetros. |
|
sqlTime |
La hora en la que se ejecutó la sentencia SQL. |
|
responseTime |
El tiempo de respuesta. Unidad: milisegundos. |
|
checkRows |
El número de filas escaneadas, que indica la cantidad de filas devueltas por el motor de almacenamiento de datos durante la consulta. |
|
affectRows |
El número de filas afectadas por la sentencia. Para las operaciones INSERT, UPDATE o DELETE, affectRows indica la cantidad de filas modificadas. Para una sentencia de consulta, affectRows indica la cantidad de filas devueltas. |
|
dbVersion |
La versión de SQL en el servidor conectado. |
|
hostname |
El nombre del host en el nodo del servidor. |
|
clientIp |
La dirección IP del cliente. |
|
clientPort |
El número de puerto del cliente. |
Cambiar el tipo de registros de auditoría
Puede ejecutar la sentencia ALTER SYSTEM para modificar el valor del parámetro AUDIT_LEVEL y ajustar el nivel de salida de los registros de auditoría de SQL.
Valores válidos:
0: registra los registros DDL.
1: registra los registros DDL y DML.
2: registra los registros DDL y DQL.
3: registra los registros DDL, DML y DQL.
Ejemplo
Modifique el nivel de registro de auditoría para registrar los registros DDL y DQL.
ALTER SYSTEM SET AUDIT_LEVEL = 2;
Comprobar el resultado
Ejecute la sentencia SHOW SYSTEM VARIABLES LIKE 'AUDIT_LEVEL'; para comprobar que el cambio se aplicó correctamente.
Para más información sobre las variables de sistema, consulte ALTER SYSTEM.