Acompanhe um fluxo de trabalho completo de transformação de dados usando logs de acesso a sites como exemplo, desde a escrita de regras de transformação até o roteamento de logs para diferentes Logstores.
Pré-requisitos
Um projeto chamado
web-projectdeve estar criado. Para mais informações, consulte gerencie projects.Um Logstore source chamado
website_logdeve estar criado no projetoweb-project. Para mais informações, consulte crie a basic Logstore.Os logs de acesso ao site devem estar coletados e armazenados no Logstore source (
website_log). Para mais informações, consulte Data collection.-
Os Logstores de destino devem estar criados no projeto
web-project. A tabela a seguir descreve os Logstores de destino.Logstore de destino
Descrição
website-success
Armazena logs de solicitações de acesso bem-sucedidas, correspondente ao destino de armazenamento
target-success.website-fail
Armazena logs de solicitações de acesso com falha, correspondente ao destino de armazenamento
target-fail.website-etl
Armazena todos os outros logs de acesso, correspondente ao destino de armazenamento
target0. Se você usar um usuário RAM, conceda a ele as permissões necessárias para transformar dados. Para mais informações, consulte Grant permissions to a RAM user for data transformation.
-
Os índices devem estar configurados para os Logstores source e de destino. Para mais informações, consulte crie an index.
ImportanteUm job de transformação de dados não depende de um índice. No entanto, não é possível consultar ou analisar dados sem um índice configurado.
Contexto
Um site armazena todos os seus logs de acesso em um único Logstore. O objetivo é atribuir tópicos diferentes para logs de acesso bem-sucedidos e com falha, roteando-os para Logstores separados para facilitar a análise. A seguir, um exemplo de log:
body_bytes_sent:1061
http_user_agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5
remote_addr:192.0.2.2
remote_user:vd_yw
request_method:DELETE
request_uri:/request/path-1/file-5
status:207
time_local:10/Jun/2021:19:10:59
Etapa 1: crie um job de transformação de dados
Faça logon no console do Simple Log service.
-
acesse a página de transformação de dados.
Na seção Projetos, clique no projeto desejado.
Na guia , clique no Logstore desejado.
Na página de consulta e análise, clique em Data Transformation.
-
No canto superior direito, selecione um intervalo de tempo para os dados.
Certifique-se de que os logs apareçam na guia Raw Logs após selecionar o intervalo de tempo.
-
No editor, insira as instruções de transformação.
e_if(e_search("status:[200,299]"),e_compose(e_set("__topic__","access_success_log"),e_output(name="target-success"))) e_if(e_search("status:[400,499]"),e_compose(e_set("__topic__","access_fail_log"),e_output(name="target-fail")))A função
e_ifexecuta uma operação especificada quando uma condição é atendida. Para mais informações, consulte e_if.-
Condição:
e_search("status:[200,299]")Quando o valor do campo status atende à condição, a função executa a Operação 1 e a Operação 2. Para mais informações, consulte e_search.
-
Operação 1:
e_set("__topic__","access_success_log")Adiciona o campo topic e defina seu valor como access_success_log. Para mais informações, consulte e_set.
-
Operação 2:
e_output(name="target-success", project="web-project", logstore="website-success")Esta operação grava os dados transformados em um destino de armazenamento. Neste exemplo, os dados são gravados no Logstore
website-success. Para mais informações, consulte e_output.
-
-
visualize os dados.
-
clique em Quick.
O Simple Log service oferece suporte aos modos de visualização Quick e Advanced. Para mais informações, consulte Preview and debug data.
-
clique em Preview Data.
Visualize os resultados da pré-visualização.
ImportanteDurante a pré-visualização, os logs não são enviados para o Logstore de destino. Em vez disso, são enviados para um Logstore chamado
internal-etl-log, que o Simple Log service cria automaticamente no projeto atual na primeira vez que você pré-visualiza uma transformação de dados. Não é possível modificar sua configuração ou gravar outros dados nele. Este Logstore é gratuito.clique na guia Transformation Results. Verifique se o log foi entregue com sucesso ao target-success. O campo
__topic__tem o valoraccess_success_loge o campostatustem o valor207. Isso indica que a regra de transformação correspondeu e roteou o log corretamente.
-
-
Crie o job de transformação de dados.
Clique em Save as Transformation Job.
-
No painel Create Data Transformation Job, configure os seguintes parâmetros.
Parâmetro
Descrição
Job name
O nome do job de transformação de dados.
Authorization method
O job de transformação de dados requer acesso de leitura ao Logstore source. Conceda essa permissão usando um dos seguintes métodos:
-
Default Role: O job assume a função do sistema
AliyunLogETLRolepara ler dados do Logstore source. -
Custom Role: O job assume uma função personalizada para ler dados do Logstore source.
Primeiro, você deve conceder à função personalizada permissões para ler dados do Logstore source. Em seguida, insira o ARN da função personalizada no campo Role ARN. Para mais informações, consulte Use a custom role to access data.
Storage target
Target name
O nome do destino de armazenamento. Um destino de armazenamento agrupa configurações como o projeto e o Logstore.
Deve corresponder à configuração na etapa 4: o name.
NotaO Simple Log service usa o primeiro destino de armazenamento que você configura (neste exemplo,
target0) como o destino padrão para armazenar logs que não correspondem a nenhuma outra condição.Target region
selecione a região onde o projeto de destino está localizado.
A transformação de dados entre regiões é protegida por HTTPS.
A transformação de dados entre regiões transmite dados pela rede pública, o que pode causar atrasos devido à instabilidade da rede. Você pode selecionar a caixa de seleção DCDN Acceleration para acelerar a transmissão entre regiões. Ao usar a aceleração DCDN, certifique-se de que o recurso de aceleração esteja ativado para o projeto correspondente. Para mais informações, consulte Accelerate log collection.
ImportanteSe os dados forem extraídos de um endpoint do Simple Log service pela rede pública, você será cobrado pelo tráfego de saída da rede pública, calculado com base no tamanho dos dados compactados. Para mais informações, consulte Pay-by-feature billable items.
Target project
O projeto de destino para os resultados da transformação.
Target Logstore
O Logstore de destino para os resultados da transformação.
Authorization method
O job de transformação de dados requer acesso de gravação ao Logstore de destino. Conceda essa permissão usando um dos seguintes métodos:
-
Default Role: O job assume a função do sistema
AliyunLogETLRolepara gravar resultados no Logstore de destino. -
Custom Role: O job assume uma função personalizada para gravar resultados no Logstore de destino.
Primeiro, você deve conceder à função personalizada permissões para gravar dados no Logstore de destino. Em seguida, insira o ARN da função personalizada no campo Role ARN. Para mais informações, consulte Use a custom role to access data.
Processing range
Time range
Especifique o intervalo de tempo dos dados a serem processados.
NotaO intervalo de tempo é baseado no momento em que o Simple Log service recebe os logs.
-
All: Processa dados desde o momento em que o primeiro log é recebido no Logstore até que o job seja interrompido manualmente.
-
From Specific Time: Especifica uma hora de início. O job processa dados a partir da hora especificada até ser interrompido manualmente.
-
Within Specific Period: Especifica uma hora de início e de término. O job é interrompido automaticamente após processar os dados até a hora de término especificada.
-
Clique em OK.
Após os logs serem roteados para os Logstores de destino, você pode consultá-los e analisá-los. Para mais informações, consulte Quick start for log query and analysis.
Etapa 2: visualize o job de transformação de dados
No painel de navegação à esquerda, escolha .
Na lista de jobs de transformação de dados, clique no job de destino.
-
Na página Data Transformation Overview, visualize os detalhes do job.
Você pode visualizar os detalhes e o status do job, ou modifique, iniciar, parar e exclua o job. Para mais informações, consulte gerencie a data transformation job.
Na página de detalhes do job, a seção Basic information mostra que o Logstore source é website-log, o status é Running e o intervalo de tempo é Continuous. A tabela Consumption progress mostra o consumo normal tanto para o shard 0 quanto para o shard 1. A seção Storage target lista três Logstores de destino: target0 (
website-etl), target-success (website-success) e target-fail (website-fail), todos localizados no projetoweb-projectna região China (Chengdu). A seção Data transformation diagnostics abaixo mostra que Read Logs e Delivered Logs são ambos 12.517Mil Lines, Failed Logs é 0 Lines e a taxa de entrega é 100.0%. Isso indica que o job de transformação de dados está em execução correta, sem perda de dados.