Suivez un flux complet de transformation des données en utilisant les journaux d'accès à un site web comme exemple, de la rédaction des règles de transformation au routage des journaux vers différents Logstores.
Prérequis
Un projet nommé
web-projectest créé. Pour plus d'informations, consultez la rubrique Gérer les projets.Un Logstore source nommé
website_logest créé dans le projetweb-project. Pour plus d'informations, consultez la rubrique Créer un Logstore de base.Les journaux d'accès au site web sont collectés et stockés dans le Logstore source (
website_log). Pour plus d'informations, consultez la rubrique Collecte de données.-
Des Logstores de destination sont créés dans le projet
web-project. Le tableau suivant décrit ces Logstores de destination.Logstore de destination
Description
website-success
Stocke les journaux des requêtes d'accès réussies, correspondant à la cible de stockage
target-success.website-fail
Stocke les journaux des requêtes d'accès ayant échoué, correspondant à la cible de stockage
target-fail.website-etl
Stocke tous les autres journaux d'accès, correspondant à la cible de stockage
target0. Si vous utilisez un utilisateur RAM, accordez-lui les autorisations nécessaires pour transformer les données. Pour plus d'informations, consultez la rubrique Accorder des autorisations à un utilisateur RAM pour la transformation des données.
-
Des index sont configurés pour les Logstores source et de destination. Pour plus d'informations, consultez la rubrique Créer un index.
ImportantUne tâche de transformation des données ne dépend pas d'un index. Toutefois, sans index configuré, vous ne pouvez ni interroger ni analyser les données.
Contexte
Un site web stocke tous ses journaux d'accès dans un seul Logstore. Vous souhaitez attribuer des rubriques différentes aux journaux d'accès réussis et échoués, puis les router vers des Logstores distincts pour faciliter l'analyse. Voici un exemple de journal :
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
Étape 1 : Créer une tâche de transformation des données
Connectez-vous à la console Simple Log Service.
-
Accédez à la page de transformation des données.
Dans la section Projets, cliquez sur le projet souhaité.
Sous l'onglet , cliquez sur le Logstore souhaité.
Sur la page d'interrogation et d'analyse, cliquez sur Data Transformation.
-
Dans le coin supérieur droit, sélectionnez une plage de temps pour les données.
Assurez-vous que les journaux apparaissent sous l'onglet Raw Logs après avoir sélectionné la plage de temps.
-
Dans l'éditeur, saisissez les instructions de transformation.
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")))La fonction
e_ifexécute une opération spécifiée lorsqu'une condition est remplie. Pour plus d'informations, consultez la rubrique e_if.-
Condition :
e_search("status:[200,299]")Lorsque la valeur du champ status remplit la condition, exécutez l'opération 1 et l'opération 2. Pour plus d'informations, consultez la rubrique e_search.
-
Opération 1 :
e_set("__topic__","access_success_log")Ajoutez le champ topic et définissez sa valeur sur access_success_log. Pour plus d'informations, consultez la rubrique e_set.
-
Opération 2 :
e_output(name="target-success", project="web-project", logstore="website-success")Cette opération écrit les données transformées dans une cible de stockage. Dans cet exemple, les données sont écrites dans le Logstore
website-success. Pour plus d'informations, consultez la rubrique e_output.
-
-
Prévisualisez les données.
-
Cliquez sur Quick.
Simple Log Service prend en charge les modes de prévisualisation Quick et Advanced. Pour plus d'informations, consultez la rubrique Prévisualiser et déboguer les données.
-
Cliquez sur Preview Data.
Consultez les résultats de la prévisualisation.
ImportantPendant la prévisualisation, les journaux ne sont pas envoyés au Logstore de destination. Ils sont plutôt envoyés vers un Logstore nommé
internal-etl-logque Simple Log Service crée automatiquement dans le projet actuel lors de la première prévisualisation d'une transformation de données. Vous ne pouvez pas modifier sa configuration ni y écrire d'autres données. Ce Logstore est gratuit.Cliquez sur l'onglet Transformation Results. Vérifiez que le journal a bien été acheminé vers target-success. Le champ
__topic__a pour valeuraccess_success_loget le champstatusa pour valeur207. Cela indique que la règle de transformation a correctement mis en correspondance et routé le journal.
-
-
Créez la tâche de transformation des données.
Cliquez sur Save as Transformation Job.
-
Dans le panneau Create Data Transformation Job, configurez les paramètres suivants.
Paramètre
Description
Job name
Nom de la tâche de transformation des données.
Authorization method
La tâche de transformation des données nécessite un accès en lecture au Logstore source. Accordez cette autorisation à l'aide de l'une des méthodes suivantes :
-
Default Role : la tâche assume le rôle système
AliyunLogETLRolepour lire les données du Logstore source. -
Custom Role : la tâche assume un rôle personnalisé pour lire les données du Logstore source.
Vous devez d'abord accorder au rôle personnalisé les autorisations de lecture des données du Logstore source. Ensuite, saisissez l'ARN du rôle personnalisé dans le champ Role ARN. Pour plus d'informations, consultez la rubrique Utiliser un rôle personnalisé pour accéder aux données.
Storage target
Target name
Nom de la cible de stockage. Une cible de stockage regroupe des paramètres tels que le projet et le Logstore.
Doit correspondre au paramètre de l'étape 4 : le name.
RemarqueSimple Log Service utilise la première cible de stockage que vous configurez (dans cet exemple,
target0) comme cible par défaut pour stocker les journaux qui ne correspondent à aucune autre condition.Target region
Sélectionnez la région où se trouve le projet de destination.
La transformation des données interrégionale est sécurisée via HTTPS.
La transformation des données interrégionale transmet les données via le réseau public, ce qui peut entraîner des retards dus à l'instabilité du réseau. Vous pouvez cocher la case DCDN Acceleration pour accélérer la transmission interrégionale. Lorsque vous utilisez l'accélération DCDN, assurez-vous que la fonctionnalité d'accélération est activée pour le projet correspondant. Pour plus d'informations, consultez la rubrique Accélérer la collecte des journaux.
ImportantSi les données sont extraites d'un endpoint Simple Log Service via le réseau public, vous êtes facturé pour le trafic sortant du réseau public, calculé sur la base de la taille des données compressées. Pour plus d'informations, consultez la rubrique Éléments facturables par fonctionnalité.
Target project
Projet de destination pour les résultats de la transformation.
Target Logstore
Logstore de destination pour les résultats de la transformation.
Authorization method
La tâche de transformation des données nécessite un accès en écriture au Logstore de destination. Accordez cette autorisation à l'aide de l'une des méthodes suivantes :
-
Default Role : la tâche assume le rôle système
AliyunLogETLRolepour écrire les résultats dans le Logstore de destination. -
Custom Role : la tâche assume un rôle personnalisé pour écrire les résultats dans le Logstore de destination.
Vous devez d'abord accorder au rôle personnalisé les autorisations d'écriture des données dans le Logstore de destination. Ensuite, saisissez l'ARN du rôle personnalisé dans le champ Role ARN. Pour plus d'informations, consultez la rubrique Utiliser un rôle personnalisé pour accéder aux données.
Processing range
Time range
Spécifiez la plage de temps des données à traiter.
RemarqueLa plage de temps est basée sur le moment où Simple Log Service reçoit les journaux.
-
All : traite les données depuis le moment où le premier journal est reçu dans le Logstore jusqu'à l'arrêt manuel de la tâche.
-
From Specific Time : spécifie une heure de début. La tâche traite les données à partir de l'heure spécifiée jusqu'à son arrêt manuel.
-
Within Specific Period : spécifie une heure de début et une heure de fin. La tâche s'arrête automatiquement après avoir traité les données jusqu'à l'heure de fin spécifiée.
-
Cliquez sur OK.
Une fois les journaux routés vers les Logstores de destination, vous pouvez les interroger et les analyser. Pour plus d'informations, consultez la rubrique Démarrage rapide pour l'interrogation et l'analyse des journaux.
Étape 2 : Afficher la tâche de transformation des données
Dans le volet de navigation de gauche, choisissez .
Dans la liste des tâches de transformation des données, cliquez sur la tâche cible.
-
Sur la page Data Transformation Overview, affichez les détails de la tâche.
Vous pouvez afficher les détails et le statut de la tâche, ou modifier, démarrer, arrêter et supprimer la tâche. Pour plus d'informations, consultez la rubrique Gérer une tâche de transformation des données.
Sur la page des détails de la tâche, la section Basic information indique que le Logstore source est website-log, que le statut est Running et que la plage de temps est Continuous. Le tableau Consumption progress montre une consommation normale pour le shard 0 et le shard 1. La section Storage target répertorie trois Logstores de destination : target0 (
website-etl), target-success (website-success) et target-fail (website-fail), tous situés dans le projetweb-projectdans la région Chine (Chengdu). La section Data transformation diagnostics ci-dessous indique que Read Logs et Delivered Logs sont tous deux de 12,517 millions de lignes, que Failed Logs est de 0 ligne et que le taux de livraison est de 100,0 %. Cela signifie que la tâche de transformation des données s'exécute correctement sans perte de données.