Use jobs de transformação de dados no Simple Log Service para consolidar dados de vários LogStores de source em um único LogStore e permitir consultas e análises centralizadas.
Contexto
Um site de notícias com serviços distribuídos globalmente armazena logs de acesso de usuários de diferentes canais em LogStores distribuídos por várias contas da Alibaba Cloud. Para consolidar esses dados em um único LogStore e viabilizar consultas e análises centralizadas, utilize a função e_output em um job de transformação de dados.
O exemplo a seguir consolida logs de diferentes LogStores na mesma região, UK (London):
-
A Conta 1 armazena seus logs brutos no LogStore_1, localizado no Project_1 na região UK (London).
"Log 1" request_id: 1 http_host: example.com http_status: 200 request_method: GET request_uri: /pic/icon.jpg "Log 2" request_id: 2 http_host: aliyundoc.com http_status: 301 request_method: POST request_uri: /data/data.php -
A Conta 2 armazena seus logs no LogStore_2, localizado no Project_2 na região UK (London).
"Log 1" request_id: 3 host: example.edu status: 404 request_method: GET request_uri: /category/abc/product_id "Log 2" request_id: 4 host: example.net status: 200 request_method: GET request_uri: /data/index.html -
Requisitos de transformação
Exporte eventos de log com
http_statusigual a200do LogStore_1 na conta 1 para o LogStore_3 na conta 3.Nos eventos de log do LogStore_2 na conta 2 em que o
statusfor200, renomeiehostparahttp_hostestatusparahttp_statusa fim de padronizar os nomes dos campos com o LogStore_1. Em seguida, exporte os logs transformados para o LogStore_3 na conta 3.
Etapa 1: Configure a transformação para o LogStore_1
Acesse a página de transformação de dados do LogStore_1 na conta 1. Para obter as etapas detalhadas, consulte Crie um job de transformação de dados.
-
Na página de transformação de dados, configure a seguinte regra para exportar eventos de log com
http_statusigual a200do LogStore_1 na conta 1 para o LogStore_3 na conta 3.e_if(e_match("http_status", "200"), e_output("target_logstore")) -
Crie um job de transformação de dados e configure parâmetros como Storage Destination, Destination Name, Destination Region, Destination Project e Destination Logstore na seção Storage Destination. Para obter uma descrição do parâmetro de método de autorização, consulte Crie um job de transformação de dados.
Defina Destination Name como
target_logstore. Em Destination Region, selecione UK (London). Em Destination Project, insiraProject_3. Em Target Store, insiraLogStore_3. Em Authorization Method, selecione AccessKey, insira o AccessKey ID e o AccessKey Secret e clique em Add.
Etapa 2: Configure a transformação para o LogStore_2
Acesse a página de transformação de dados do LogStore_2 na conta 2. Para obter as etapas detalhadas, consulte Crie um job de transformação de dados.
-
Na página de transformação de dados, configure a seguinte regra. Ela processa logs do LogStore_2 em que o
statusé200, renomeiahostparahttp_hostestatusparahttp_statuspara corresponder aos nomes de campo no LogStore_1 e exporta os logs transformados para o LogStore_3 na conta 3.e_if(e_match("status", "200"), e_compose(e_rename("status", "http_status", "host", "http_host"), e_output("target_logstore")))Nos resultados da visualização, os campos foram renomeados conforme esperado: host foi renomeado para http_host e status para http_status.
-
Crie um job de transformação de dados. Na área Storage Destination, configure parâmetros como Destination Name, Destination Region, Destination Project e Destination Logstore. Para obter uma descrição do parâmetro Authorization Method, consulte Crie um job de transformação de dados.
Em Destination Name, insira
target_logstore. Em Destination Region, selecione UK (London). Em Destination Project, insiraProject_3. Em Target Store, insiraLogStore_3. Em Authorization Method, selecione AccessKey, insira o AccessKey ID e o AccessKey Secret e clique em Add.
Visualize resultados da agregação
Após a transformação, query and analyze os logs consolidados no LogStore_3 na região UK (London). Exemplo de saída:
"Log 1"
request_id: 1
http_host: example.com
http_status: 200
request_method: GET
request_uri: /pic/icon.jpg
"Log 2"
request_id: 4
http_host: example.net
http_status: 200
request_method: GET
request_uri: /data/index.html