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 Log retention period.
Pré-requisitos
Conta do Simple Log Service ativada. Para obter mais informações, consulte Activate Simple Log Service.
Projeto e Logstore do Simple Log Service criados. Create a project. Create a Logstore.
O Logstore de destino deve estar vazio e com a indexação de texto completo ativada. Create indexes manually.
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 ocorrem conforme o método de faturamento do Logstore:
Se o Logstore utilizar o método de faturamento 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 billing documentation.
Caso o Logstore utilize o método de faturamento Pay-by-ingested-data, a cobrança será baseada na quantidade de dados brutos ingeridos. Para obter mais informações, consulte billing documentation.
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 billing items diferentes dependendo do 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 você 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 a seleção de 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 adquirir um AccessKey ID, consulte Create an AccessKey.
AccessKey Secret
Insira o AccessKey secret correspondente ao AccessKey ID acima.
NotaPara obter mais informações sobre como adquirir um AccessKey secret, consulte Create an AccessKey.
Advanced Feature Pack
Não suportado. O padrão é o modo Flexible Management.
Advanced Information
Environment Type
Escolha um tipo de ambiente: Dev, Test, Production, Pre-release, SIT, UAT, Stress Testing ou STAG. Instance environment types.
Instance Name
Nome de exibição personalizado para o projeto SLS no DMS.
NotaÉ possível alterar o nome da instância posteriormente. Edit instance information.
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 das 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 das 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 a mensagem de erro "The execution result of the 'getProject' command is null" apareça, 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 você estiver usando o console do DMS no modo normal, escolha na barra de navegação superior.
Clique na aba 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. Utilize um nome descritivo para facilitar a identificação.
Destination Log Service
Sim
Projeto do Simple Log Service, que atua como unidade de gerenciamento de recursos, utilizado para armazenamento de logs.
SLS Logstore
Sim
Logstore destinado aos logs de operação do DMS exportados. Clique na caixa de entrada 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 você deseja exportar. Esses módulos correspondem aos módulos na aba Operation Logs. 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
Defina um método de agendamento para a tarefa.
-
One-time Tasks: Após a criação da tarefa de exportação, ela é executada apenas uma vez.
-
Periodic Tasks: Selecione Day, Week ou Month para exportar logs para o Logstore várias vezes em ciclo. 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 Recurring schedule.
Log Time Range
Não
NotaEste parâmetro fica 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 fica 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. Você será redirecionado para a página do SQL Console. Clique em Query. Na seção de resultados de execução na parte inferior da página, visualize os logs exportados para o Logstore.
Task Logs: Clique em Task Logs para visualizar informações como horários de início e fim da tarefa, quantidade de logs entregues e status da tarefa.
Pause: Clique em Pause. Na caixa de diálogo exibida, clique em OK. A tarefa recorrente será pausada.
-
Restart: Clique em Restart. 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 suportadas.
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 projeto desejado.

-
Na aba , clique em 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 Search syntax and functions e SQL analytic functions.É 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 do 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 você estiver usando o console do DMS no modo normal, escolha na barra de navegação superior.
Clique na aba Pause.
Na coluna OK 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 delete the project that you selected for the log export ao concluir 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 foi realizada. Corresponde ao ID no DMS. |
|
db_name |
Nome do banco de dados onde a operação foi realizada. |
|
is_logic_db |
Indica se o banco de dados é um banco de dados lógico. |
|
instance_id |
ID da instância onde a operação foi realizada. Corresponde ao ID no DMS. |
|
instance_name |
Nome da instância onde a operação foi realizada. |
|
action_desc |
Descrição da operação. |
|
remark |
Observações. |
|
has_sensitive_data |
Indica se o log contém informações sensíveis. |