Ative e visualize logs de auditoria SQL no Lindorm.
Pré-requisitos
A versão secundária do LindormTable deve ser 2.7.6 ou posterior. Para visualizar ou atualizar a versão secundária do LindormTable, consulte Notas de versão do LindormTable e Atualizar a versão secundária do mecanismo de uma instância Lindorm.
Observações de uso
O recurso de log de auditoria SQL não é compatível com instâncias Lindorm Serverless nem com instâncias de nó único.
Se você ativar o recurso de log de auditoria como usuário RAM, conceda a permissão AliyunLogFullAccess a esse usuário. Para mais informações sobre como conceder permissões a um usuário RAM, consulte Conceder permissões a um usuário RAM.
-
Após a ativação do recurso de log de auditoria, o Lindorm cria um projeto e um Logstore dedicado na região onde a instância está implantada.
O formato de nomenclatura de um Project é
aliyun-product-Alibaba Cloud Account ID-region ID.O nome do Logstore dedicado é
lindorm-sql-audit-log.
Não é possível executar determinadas operações em Logstores dedicados. Por exemplo, não é permitido gravar dados, modificar ou excluir índices desses Logstores. A modificação dos atributos de um Logstore dedicado também é bloqueada. No entanto, recursos como consulta de dados, análise estatística e alertas funcionam normalmente, sem restrições.
Certifique-se de que o SLS esteja disponível. Se o SLS ficar indisponível, o recurso de análise completa de logs não poderá ser utilizado.
Tipos de log de auditoria
Os logs de auditoria SQL do Lindorm registram os seguintes tipos de operações SQL:
Operações DDL, como CREATE DATABASE, CREATE TABLE, ALTER TABLE e DROP TABLE
Operações DML, como INSERT, UPSERT, DELETE e UPDATE
Operações DQL, como SELECT
Geralmente, as operações DML e DQL são frequentes, e o registro dessas operações pode afetar o desempenho e a estabilidade da sua instância. Por isso, o Wide Table Engine registra apenas logs de auditoria SQL DDL por padrão. Para ativar os logs de auditoria DML e DQL, ajuste o nível de auditoria usando a variável de sistema AUDIT_LEVEL. Para obter instruções detalhadas, consulte Modificar o nível de log de auditoria.
Ativar o recurso de log de auditoria SQL
Faturamento
O Log Service cobra taxas de pagamento conforme o uso pelos logs de auditoria SQL, com base no espaço de armazenamento e no período de retenção. Para obter informações detalhadas sobre preços, consulte Preços do Log Service.
Procedimento
Faça login no console do Lindorm.
No canto superior esquerdo da página, selecione a região onde a instância está implantada.
Na página Instances, clique em ID da instância desejada ou em View Instance Details na coluna Actions da instância correspondente.
No painel de navegação à esquerda, clique em Wide Table Engine.
Clique em aba SQL Audit Logs e, em seguida, clique em Enable audit logs.
Na caixa de diálogo Enable SQL Audit Logs, clique em OK.
Visualizar logs de auditoria SQL
Período de retenção de logs
Por padrão, os logs de auditoria SQL do Lindorm são retidos por 30 dias. É possível Modificar o período de retenção de logs no console do Lindorm. Os logs são excluídos automaticamente após o término do período de retenção.
Modificar o período de retenção de logs
Faça login no console do Lindorm.
No canto superior esquerdo da página, selecione a região onde a instância está implantada.
Na página Instances, clique em ID da instância desejada ou em View Instance Details na coluna Actions da instância correspondente.
No painel de navegação à esquerda, escolha . No canto superior direito, clique em Modify retention period e defina o novo período de retenção na caixa de diálogo exibida.
Clique em Confirm Modifications.
Visualizar logs de auditoria
Faça login no console do Lindorm.
No canto superior esquerdo da página, selecione a região onde a instância está implantada.
Na página Instances, clique em ID da instância desejada ou em View Instance Details na coluna Actions da instância correspondente.
-
No painel de navegação à esquerda, escolha para visualizar os detalhes do log de auditoria do Wide Table Engine.
NotaPor padrão, os detalhes de log dos últimos 15 minutos são exibidos. Você também pode alterar o período de tempo conforme as necessidades do seu negócio.
(Opcional) Na aba Raw Log, filtre os logs por diversos critérios. Utilize o painel Index Fields à esquerda para filtrar por campos como db, clientIp e fail. O painel direito exibe os campos detalhados de cada log, incluindo
sqlType,user,affectRows,checkRows,clientIp,clientPorteconnectionId. Por exemplo, selecione default sob o campo db para filtrar registros de auditoria de um banco de dados específico.
Campos nos logs de auditoria
|
Campo |
Descrição |
|
instance_id |
O ID da instância Lindorm. |
|
reqId |
O ID exclusivo que identifica o log de auditoria da operação. |
|
user |
O nome de usuário associado ao log de auditoria da operação. |
|
fail |
Indica se a instrução SQL foi executada com sucesso. O valor |
|
reason |
A mensagem de erro presente no log de auditoria da operação. Esta mensagem é retornada apenas quando ocorre um erro na operação. |
|
connectionId |
O ID de conexão do cliente. |
|
protocol |
O tipo de protocolo do cliente. Valores válidos: Avatica e MySQL. |
|
db |
O nome do banco de dados selecionado. |
|
sql |
A instrução SQL executada. |
|
sqlType |
O tipo da instrução SQL. Os valores válidos incluem |
|
params |
Os parâmetros especificados na instrução SQL. Separe múltiplos parâmetros com vírgulas (,). Este campo está disponível em cenários de consulta com parâmetros vinculados. |
|
sqlTime |
O momento em que a instrução SQL foi executada. |
|
responseTime |
O tempo de resposta. Unidade: milissegundos. |
|
checkRows |
O número de linhas verificadas, que indica a quantidade de linhas retornadas pelo mecanismo de armazenamento de dados durante a consulta. |
|
affectRows |
O número de linhas afetadas pela instrução. Para operações INSERT, UPDATE ou DELETE, affectRows indica a quantidade de linhas modificadas. Para uma instrução de consulta, affectRows indica o número de linhas retornadas. |
|
dbVersion |
A versão do SQL no servidor conectado. |
|
hostname |
O nome do host no nó do servidor. |
|
clientIp |
O endereço IP do cliente. |
|
clientPort |
O número da porta do cliente. |
Alterar o tipo de logs de auditoria
Execute a instrução ALTER SYSTEM para modificar o valor do parâmetro AUDIT_LEVEL e ajustar o nível de saída dos logs de auditoria SQL.
Valores válidos:
0: Registra logs DDL.
1: Registra logs DDL e DML.
2: Registra logs DDL e DQL.
3: Registra logs DDL, DML e DQL.
Exemplo
Modifique o nível de log de auditoria para registrar logs DDL e DQL.
ALTER SYSTEM SET AUDIT_LEVEL = 2;
Verificar o resultado
Execute a instrução SHOW SYSTEM VARIABLES LIKE 'AUDIT_LEVEL'; para verificar se a alteração foi bem-sucedida.
Para mais informações sobre variáveis de sistema, consulte ALTER SYSTEM.