Utilisez les tâches de transformation de données dans Simple Log Service pour consolider les données provenant de plusieurs LogStores sources dans un seul LogStore, afin d'en centraliser l'interrogation et l'analyse.
Contexte
Un site d'actualités aux services distribués à l'échelle mondiale stocke les journaux d'accès des utilisateurs provenant de différentes rubriques d'actualité dans des LogStores répartis sur plusieurs comptes Alibaba Cloud. Pour regrouper ces données de journal dans un seul LogStore en vue d'une interrogation et d'une analyse centralisées, utilisez la fonction e_output dans une tâche de transformation de données.
L'exemple suivant consolide les journaux provenant de différents LogStores situés dans la même région, UK (London) :
-
Le compte 1 stocke ses journaux bruts dans LogStore_1, situé dans Project_1 de la région 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 -
Le compte 2 stocke ses journaux dans LogStore_2, situé dans Project_2 de la région 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 -
Exigences de transformation
Exportez vers LogStore_3 du compte 3 les événements de journal de LogStore_1 du compte 1 dont le
http_statusest200.Pour les événements de journal de LogStore_2 du compte 2 dont le
statusest200, renommezhostenhttp_hostetstatusenhttp_statusafin d'aligner les noms de champs sur ceux de LogStore_1. Exportez ensuite les journaux transformés vers LogStore_3 du compte 3.
Étape 1 : Configurer la transformation pour LogStore_1
Accédez à la page de transformation de données de LogStore_1 dans le compte 1. Pour plus de détails, consultez la rubrique Créer une tâche de transformation de données.
-
Sur la page de transformation de données, configurez la règle suivante pour exporter vers LogStore_3 du compte 3 les événements de journal de LogStore_1 du compte 1 dont le
http_statusest200.e_if(e_match("http_status", "200"), e_output("target_logstore")) -
Créez une tâche de transformation de données et configurez les paramètres tels que Storage Destination, Destination Name, Destination Region, Destination Project et Destination Logstore dans la section Storage Destination. Pour une description du paramètre de méthode d'autorisation, consultez la rubrique Créer une tâche de transformation de données.
Définissez Destination Name sur
target_logstore. Pour Destination Region, sélectionnez UK (London). Pour Destination Project, saisissezProject_3. Pour Target Store, saisissezLogStore_3. Pour Authorization Method, sélectionnez AccessKey, saisissez l'AccessKey ID et l'AccessKey Secret, puis cliquez sur Add.
Étape 2 : Configurer la transformation pour LogStore_2
Accédez à la page de transformation de données de LogStore_2 dans le compte 2. Pour plus de détails, consultez la rubrique Créer une tâche de transformation de données.
-
Sur la page de transformation de données, configurez la règle suivante. Cette règle traite les journaux de LogStore_2 dont le
statusest200. Elle renommehostenhttp_hostetstatusenhttp_statusafin d'aligner les noms de champs sur ceux de LogStore_1, puis exporte les journaux transformés vers LogStore_3 du compte 3.e_if(e_match("status", "200"), e_compose(e_rename("status", "http_status", "host", "http_host"), e_output("target_logstore")))Dans les résultats de prévisualisation, les champs sont renommés comme prévu : host devient http_host et status devient http_status.
-
Créez une tâche de transformation de données. Dans la zone Storage Destination, configurez les paramètres tels que Destination Name, Destination Region, Destination Project et Destination Logstore. Pour une description du paramètre Authorization Method, consultez la rubrique Créer une tâche de transformation de données.
Pour Destination Name, saisissez
target_logstore. Pour Destination Region, sélectionnez UK (London). Pour Destination Project, saisissezProject_3. Pour Target Store, saisissezLogStore_3. Pour Authorization Method, sélectionnez AccessKey, saisissez l'AccessKey ID et l'AccessKey Secret, puis cliquez sur Add.
Consulter les résultats de l'agrégation
Après la transformation, interrogez et analysez les journaux consolidés dans LogStore_3 de la région UK (London). Exemple de sortie :
"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