Exporte os logs de operação do Data Management (DMS) para o Simple Log Service (SLS) e, em seguida, consulte-os e analise-os para auditar a atividade dos usuários.
Informações básicas
Os logs de operação do DMS registram sequencialmente todas as ações dos usuários, incluindo detalhes do usuário, módulos de recursos, carimbos de data/hora, tipos de operação e instruções SQL. Para obter mais informações, consulte Período de retenção de logs.
Pré-requisitos
Conta do Simple Log Service ativada. Para obter mais informações, consulte Ativar o Simple Log Service.
Projeto e Logstore do Simple Log Service criados. Criar um projeto. Criar um Logstore.
Logstore de destino vazio e com indexação de texto completo ativada. Criar índices manualmente.
Faturamento
A exportação de logs de operação do DMS para o SLS é gratuita.
-
Após a coleta dos logs no SLS, as cobranças seguem o método de faturamento do Logstore:
Se o Logstore utilizar o método Pay-by-feature, haverá cobrança por espaço de armazenamento, tráfego de leitura, solicitações, transformação de dados e envio de dados. Para obter mais informações, consulte a documentação de faturamento.
Caso o Logstore utilize o método Pay-by-ingested-data, a cobrança baseia-se na quantidade de dados brutos ingeridos. Para obter mais informações, consulte a documentação de faturamento.
Recursos
-
Projetos e Logstores personalizados do Simple Log Service
ImportanteNão exclua o projeto e o Logstore do SLS utilizados para os logs de operação do DMS. Caso contrário, a coleta de logs será interrompida.
Logstores personalizados geram diferentes itens de faturamento conforme o método de faturamento.
-
Painel exclusivo
Nenhum painel exclusivo está disponível.
Procedimento
Etapa 1: Registrar o projeto no DMS
Faça logon no console do DMS V5.0 como administrador.
-
Na página inicial do console, na área Database Instances, clique em
.NotaSe estiver usando o console do DMS no modo Simples, clique em Database Instances no painel de navegação à esquerda. Na seção Database Instances, clique em
. -
Na página Add Instance, insira as informações do SLS.
Categoria
Parâmetro
Descrição
Data Source
-
Selecione Alibaba Cloud.
Basic Information
File and Log Storage
Selecione SLS.
Instance Region
Selecione a região do seu projeto SLS.
Connection Method
Padrão: Connection String Address.
Connection String Address
Gerado automaticamente após selecionar uma Instance Region.
Project name
Insira o nome do seu projeto SLS.
AccessKey ID
Insira seu AccessKey ID da Alibaba Cloud para verificação de identidade.
NotaPara obter mais informações sobre como obter um AccessKey ID, consulte Criar um AccessKey.
AccessKey Secret
Insira o AccessKey secret correspondente ao AccessKey ID acima.
NotaPara obter mais informações sobre como obter um AccessKey secret, consulte Criar um AccessKey.
Advanced Feature Pack
Não suportado. O padrão é o modo Flexible Management.
Advanced Information
Environment Type
Selecione um tipo de ambiente: Dev, Test, Production, Pre-release, SIT, UAT, Stress Testing ou STAG. Tipos de ambiente de instância.
Instance Name
Nome de exibição personalizado para o projeto SLS no DMS.
NotaÉ possível alterar o nome da instância posteriormente. Editar informações da instância.
DBA
Selecione um DBA para a instância. O DBA gerencia processos subsequentes, como solicitações de permissão.
Query Timeout (s)
Política de segurança que controla o tempo de execução de instruções de consulta para proteger o banco de dados.
Export Timeout (s)(s)
Política de segurança que controla o tempo de execução de instruções de exportação para proteger o banco de dados.
NotaApós configurar as informações básicas, clique em Test Connection na parte inferior da página e aguarde a aprovação do teste.
Caso apareça a mensagem de erro "The execution result of the 'getProject' command is null", confirme se o projeto foi criado pela conta da Alibaba Cloud usada para fazer logon no DMS.
Clique em Submit.
Etapa 2: Criar uma tarefa no DMS para exportar logs de operação
Faça logon no DMS 5.0.
-
Passe o ponteiro sobre o ícone
no canto superior esquerdo e escolha .NotaSe estiver usando o console do DMS no modo normal, escolha na barra de navegação superior.
Clique em Export logs. Em seguida, no canto superior direito, clique em New Task.
-
Na caixa de diálogo New Export Task, configure os seguintes parâmetros.
Parâmetro
Obrigatório
Descrição
Task Name
Sim
Nome da tarefa de exportação. Use um nome descritivo para facilitar a identificação.
Destination Log Service
Sim
Projeto do Simple Log Service usado para armazenamento de logs, que atua como unidade de gerenciamento de recursos.
SLS Logstore
Sim
Logstore destinado aos logs de operação do DMS exportados. Clique em Sync Dictionary e selecione o Logstore de destino.
NotaSe o Logstore de destino não aparecer na lista suspensa, clique em Sync Dictionary e depois em OK. O DMS coletará automaticamente os metadados do Logstore.
Feature Module
Sim
Selecione os módulos de recursos do DMS cujos logs deseja exportar. Esses módulos correspondem aos da aba Operation Logs e incluem recursos como gerenciamento de instâncias, gerenciamento de usuários, permissões e consulta de dados no SQL Window. Por padrão, os logs de All Features são exportados.
Scheduling Method
Sim
Escolha um método de agendamento para a tarefa.
-
One-time Tasks: A tarefa de exportação executa apenas uma vez após a criação.
-
Periodic Tasks: Selecione Day, Week ou Month para exportar logs para o Logstore ciclicamente. Na primeira execução de uma tarefa recorrente, todos os logs de operação do DMS gerados desde o horário inicial do log até o primeiro horário de início agendado são exportados. As execuções subsequentes exportam apenas logs incrementais. Para obter mais informações, consulte Agendamento recorrente.
Log Time Range
Não
NotaEste parâmetro está disponível somente quando você define Scheduling Method como One-time Tasks.
Intervalo de tempo para exportação de logs. Padrão: últimos três anos.
Log Start Time
Não
Nota-
Este parâmetro está disponível somente quando você define Scheduling Method como Periodic Tasks.
-
Tarefas periódicas não possuem horário de término.
Horário inicial para os registros de log. Padrão: três anos antes da criação da tarefa.
-
-
Clique em OK. Uma tarefa de exportação de logs será criada. O sistema também cria campos de índice, como dbId, dbName e dbUser, no seu Logstore para consultas e análises de dados subsequentes.
-
Uma tarefa única exporta logs apenas uma vez. Quando o status da tarefa for Successful, os logs terão sido exportados.
NotaDevido ao atraso de indexação do Logstore, tarefas únicas iniciam aproximadamente 90 segundos após a criação.
Uma tarefa periódica exporta logs múltiplas vezes. O status exibe Pending Scheduling antes e depois de cada exportação. Consulte os logs da tarefa para verificar se uma execução foi bem-sucedida.
Também é possível realizar as seguintes operações na coluna Actions:
Query: Clique em Query para ser redirecionado à página SQL Console. Clique em Query e visualize os logs exportados para o Logstore na seção de resultados de execução na parte inferior da página.
Task Logs: Clique em Task Logs para visualizar informações como horários de início e término da tarefa, quantidade de logs entregues e status da tarefa.
Pause: Clique em Pause e, na caixa de diálogo exibida, clique em OK para pausar a tarefa recorrente.
-
Restart: Clique em Restart e, na caixa de diálogo exibida, clique em OK para reiniciar uma tarefa periódica pausada.
NotaA operação de reinício não é suportada para tarefas únicas. No entanto, outras operações são permitidas.
Todas as operações, como consulta e pausa, são suportadas para tarefas periódicas.
-
Etapa 3: Consultar e analisar os logs de operação do DMS exportados no console do SLS
Faça logon no console do Simple Log Service.
-
Na seção Projects, clique em Log Storage e selecione o projeto desejado.

-
Na aba , clique em Logstores e selecione o Logstore desejado.

-
Na caixa de pesquisa, insira uma instrução de consulta e análise.
Uma instrução de consulta e análise consiste em uma instrução de pesquisa e uma instrução analítica no formato
Search statement|Analytic statement. Para obter mais informações sobre a sintaxe, consulte Sintaxe e funções de pesquisa e Funções analíticas SQL.É possível consultar e analisar as seguintes informações no SLS:
NotaO Logstore dmstest é usado como exemplo.
-
Usuários com maior frequência de falha ao fazer logon em um banco de dados.
__topic__ : DMS_LOG_DELIVERY AND subModule : LOGIN | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest WHERE state = '0' GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10; -
Usuários com endereço IP de origem anormal. O endereço IP 127.0.0.1 é usado como exemplo.
NotaO endereço IP de origem de uma instância corresponde ao seu endereço IP local no momento do registro da instância no DMS. Esse endereço identifica a origem do acesso à instância.
__topic__ : DMS_LOG_DELIVERY | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest WHERE state = '0' and requestIp in ('127.0.0.1') GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10; -
Usuário que acessou o DMS com maior frequência.
__topic__ : DMS_LOG_DELIVERY| SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10; -
Usuários que acessaram e operaram em vários bancos de dados no mesmo dia.
__topic__: DMS_LOG_DELIVERY | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, date_trunc('day', gmtCreate) time, dbId, COUNT(*) qpd from dmstest GROUP BY time, operUserId, operUserName, dbId ORDER BY time, qpd DESC; -
Usuários que falharam ao executar operações de banco de dados no DMS.
__topic__ : DMS_LOG_DELIVERY AND moudleName : SQL_CONSOLE | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, actionDesc as sqlStatement, subModule as sqlType, remark as failReason FROM dmstest WHERE state = '-1' order by id; -
Usuários que baixaram dados sensíveis com maior frequência.
__topic__ : DMS_LOG_DELIVERY AND moudleName : DATA_EXPORT | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest WHERE hasSensitiveData = 'true' GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10; -
Instruções SQL executadas para operações em lote, como exclusão e atualização de dados sensíveis.
__topic__ : DMS_LOG_DELIVERY | SELECT subModule, COUNT(*) cnt, COUNT(affectRows) affectRow FROM dmstest WHERE subModule != '' GROUP BY subModule ORDER BY cnt DESC; -
Verificar se o recurso de marca d'água de dados estava ativado durante a exportação de dados.
__topic__ : DMS_LOG_DELIVERY AND moudleName : DATA_EXPORT | SELECT targetId as orderId, concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest where actionDesc like '%Enable data watermark: false' GROUP BY targetId, operUserId, operUserName ORDER BY cnt DESC LIMIT 10;NotaPara consultar usuários que ativaram o recurso de marca d'água de dados, use a instrução:
'%Enable data watermark: true'.Para consultar usuários que desativaram o recurso de marca d'água de dados, use a instrução:
'%Enable data watermark: false'.
-
Usuários que baixaram conjuntos de resultados SQL da seção de resultados de execução na página SQL Console.
__topic__ : DMS_LOG_DELIVERY AND moudleName : SQL_CONSOLE_EXPORT | SELECT concat(cast(operUserId as varchar), '(', operUserName, ')') user, COUNT(*) cnt FROM dmstest GROUP BY operUserId, operUserName ORDER BY cnt DESC LIMIT 10;
-
(Opcional) Etapa 4: Pausar a tarefa recorrente
Se você criou uma tarefa recorrente na Etapa 2 (com Scheduling Method definido como Periodic Tasks) e já concluiu a análise dos logs de operação do DMS, pause a tarefa.
Faça logon no DMS 5.0.
-
Passe o ponteiro sobre o ícone
no canto superior esquerdo e escolha .NotaSe estiver usando o console do DMS no modo normal, escolha na barra de navegação superior.
Clique em OK.
Na coluna Actions da tarefa recorrente, clique em Pause.
Na caixa de diálogo exibida, clique em OK.
Próximos passos
O projeto SLS não é excluído automaticamente após a conclusão ou pausa da tarefa de exportação. Para evitar cobranças desnecessárias, acesse o console do Simple Log Service e exclua o projeto selecionado para a exportação de logs assim que terminar sua análise.
Campos de log brutos no SLS
Principais campos nos logs de operação do DMS importados para o SLS:
|
Campo |
Descrição |
|
id |
ID exclusivo do log. |
|
gmt_create |
Horário de criação do log. |
|
gmt_modified |
Horário da última modificação do log. |
|
oper_user_id |
ID de usuário do operador. |
|
oper_user_name |
Nome do operador. |
|
module_name |
Módulo de recurso exportado:
|
|
sub_module |
Submódulo de recurso. Por exemplo, para SQL_CONSOLE, o submódulo refere-se ao tipo de instrução SQL executada pelo usuário. |
|
db_id |
ID do banco de dados onde a operação ocorreu. Corresponde ao ID no DMS. |
|
db_name |
Nome do banco de dados onde a operação ocorreu. |
|
is_logic_db |
Indica se o banco de dados é lógico. |
|
instance_id |
ID da instância onde a operação ocorreu. Corresponde ao ID no DMS. |
|
instance_name |
Nome da instância onde a operação ocorreu. |
|
action_desc |
Descrição da operação. |
|
remark |
Observações. |
|
has_sensitive_data |
Indica se o log contém informações sensíveis. |