Filtrez les journaux d'accès au site web, supprimez les informations personnelles des utilisateurs et écrivez les résultats dans un LogStore de destination en utilisant la transformation de données (nouvelle version) dans Simple Log Service. Ce guide de démarrage rapide vous accompagne tout au long du flux de travail de transformation, depuis la rédaction d'une règle SPL jusqu'à l'observation de la tâche résultante.
Informations générales
Un site web stocke tous ses journaux d'accès dans un LogStore nommé website_log. Pour améliorer l'expérience utilisateur, le site doit analyser les erreurs d'accès. L'objectif est de filtrer les journaux d'accès présentant un code d'état 4XX, de supprimer les informations personnelles des utilisateurs et d'écrire les résultats dans un nouveau LogStore nommé website_fail à l'intention des analystes commerciaux. Voici un exemple d'entrée 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: GET
request_uri: /request/path-1/file-5
status: 400
time_local: 10/Jun/2021:19:10:59
error: Invalid time range
Prérequis
(Obligatoire) Un projet nommé
web-projecta été créé. Pour plus d'informations, consultez la rubrique Gérer les projets.(Obligatoire) Un LogStore source nommé
website_loga été créé dans le projetweb-project. Pour plus d'informations, consultez la rubrique Gérer les LogStores.(Obligatoire) Les journaux d'accès au site web sont collectés dans le LogStore source (
website_log). Pour plus d'informations, consultez la rubrique Présentation de la collecte de données.(Obligatoire) Un LogStore de destination nommé
website_faila été créé dans le projetweb-project.(Conditionnel) Si vous utilisez un utilisateur RAM (Resource Access Management), vous devez d'abord lui accorder les autorisations nécessaires pour la transformation de données. Pour plus d'informations, consultez la rubrique Autoriser un utilisateur RAM à effectuer des opérations de transformation de données.
-
(Facultatif) Des index ont été configurés pour le LogStore source et le LogStore de destination. Pour plus d'informations, consultez la rubrique Créer un index.
RemarqueLes index ne sont pas requis pour les tâches de transformation de données. Toutefois, s'ils ne sont pas configurés, vous ne pourrez pas interroger ni analyser les données.
Étape 1 : Créer une tâche de transformation de données
Connectez-vous à la console Simple Log Service.
-
Accédez à la page de transformation de données.
Dans la section Projects, cliquez sur le projet souhaité.
Sous l'onglet , cliquez sur le logstore souhaité.
Sur la page de requête et d'analyse, cliquez sur Data Transformation.
-
Dans le coin supérieur droit de la page, sélectionnez une plage de temps.
Après avoir sélectionné une plage de temps, vérifiez que les journaux apparaissent sous l'onglet Raw Logs.
-
Dans l'éditeur, saisissez la règle SPL de transformation suivante.
* | extend status=cast(status as BIGINT) | where status>=400 AND status<500 | project-away remote_addr, remote_userLa règle applique trois opérateurs séquentiellement :
extend status=cast(status as BIGINT)convertit le champstatusau type BIGINT.where status>=400 AND status<500conserve uniquement les journaux d'accès dont le code d'état est 4XX.project-away remote_addr, remote_usersupprime les champsremote_addretremote_user, qui contiennent les informations personnelles des utilisateurs.
-
Déboguez la règle SPL.
-
Sous l'onglet Raw Data, sélectionnez des données de test ou saisissez-les manuellement.
[ { "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": "GET", "request_uri": "/request/path-1/file-5", "status": "400", "time_local": "10/Jun/2021:19:10:59", "error": "Invalid time range" } ] Cliquez sur l'icône d'exécution (▷) pour lancer le débogage.
Consultez les résultats de prévisualisation. Une fois l'exécution terminée, basculez vers l'onglet Transformation Results pour afficher les résultats. Le journal transformé est structuré en plusieurs champs, tels que
body_bytes_sent,error,http_user_agent,request_method,request_uri,statusettime_local. Vérifiez queremote_addretremote_userne sont plus présents et que seuls les journaux d'accès avec un code d'état 4XX subsistent.
-
-
Créez une tâche de transformation de données.
Cliquez sur Save as Transformation Job (New Version).
Dans le panneau Create Data Transformation Job (New Version), configurez les paramètres suivants et cliquez sur OK.
Paramètre
Description
Task Name
Le nom de la tâche de transformation de données.
Display Name
Le nom d'affichage de la tâche.
Job Description
La description de la tâche.
Authorization Method
Accordez à la tâche un accès en lecture au logstore source en utilisant l'une des méthodes suivantes :
Default Role : La tâche assume le rôle système AliyunLogETLRole pour lire les données depuis le logstore source. Cliquez sur Authorize the system role AliyunLogETLRole et suivez les instructions pour finaliser l'autorisation. Pour plus d'informations, consultez la rubrique Accéder aux données à l'aide d'un rôle par défaut.
ImportantSi vous utilisez un utilisateur RAM, un compte Alibaba Cloud doit d'abord effectuer l'autorisation.
Si votre compte Alibaba Cloud est déjà autorisé, vous pouvez ignorer cette étape.
Custom Role : La tâche assume un rôle personnalisé pour lire les données depuis le logstore source. Vous devez d'abord accorder au rôle personnalisé les autorisations de lecture des données depuis le logstore source, puis saisir l'ARN du rôle dans le champ Role ARN. Pour plus d'informations, consultez la rubrique Accéder aux données à l'aide d'un rôle personnalisé.
AccessKey : Pour des raisons de sécurité, il n'est plus possible d'utiliser une paire AccessKey (AK/SK) pour créer des tâches.
Storage Destination
Destination Name
Le nom de la destination de stockage. Inclut des configurations telles que le Project et le logstore.
Destination Region
La région où se trouve le Project de destination.
Destination Project
Le Project de destination pour les résultats de la transformation. Un Project spécifié dans votre instruction SPL remplace ce paramètre. Sortie dynamique vers un Project/logstore de destination.
ImportantLe Project que vous spécifiez dynamiquement dans l'instruction SPL doit correspondre à la région et à l'autorisation configurées ici.
Target Store
Le logstore de destination pour les résultats de la transformation. Un logstore spécifié dans votre instruction SPL remplace ce paramètre. Sortie dynamique vers un Project/logstore de destination.
ImportantLe logstore que vous spécifiez dynamiquement dans l'instruction SPL doit correspondre à la région, à l'autorisation et au Project configurés ici. Le logstore de destination ne peut pas être identique au logstore source.
AvertissementNe configurez pas le magasin de destination comme étant le magasin source actuel (configuration same-source). Sinon, les journaux risquent d'être écrits en boucle, ce qui engendre des coûts de stockage et de trafic supplémentaires. Vous êtes responsable de la consommation des ressources et des coûts encourus.
Authorization Method
Accordez à la tâche un accès en écriture au logstore de destination en utilisant l'une des méthodes suivantes :
Default Role : La tâche assume le rôle système AliyunLogETLRole pour écrire les résultats dans le logstore de destination. Cliquez sur Authorize the system role AliyunLogETLRole et suivez les instructions pour finaliser l'autorisation. Pour plus d'informations, consultez la rubrique Accéder aux données à l'aide d'un rôle par défaut.
ImportantSi vous utilisez un utilisateur RAM, un compte Alibaba Cloud doit d'abord effectuer l'autorisation.
Si votre compte Alibaba Cloud est déjà autorisé, vous pouvez ignorer cette étape.
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, puis saisir l'ARN du rôle dans le champ Role ARN. Pour plus d'informations, consultez la rubrique Accéder aux données à l'aide d'un rôle personnalisé.
AccessKey : Pour des raisons de sécurité, il n'est plus possible d'utiliser une paire AccessKey (AK/SK) pour créer des tâches.
Write to Result Set
L'ensemble de données vers lequel écrire dans le logstore de destination. Plusieurs ensembles de données peuvent cibler une même destination, et plusieurs destinations peuvent partager un ensemble de données. Description de l'ensemble de données.
Étendue du traitement
Time Range
(Heure de réception des données)
La plage de temps pour la tâche :
All : Traite toutes les données depuis la première entrée de journal jusqu'à l'arrêt manuel.
From Specific Time : Traite les données à partir de l'heure de début spécifiée jusqu'à l'arrêt manuel.
Specific Time Range : Traite les données dans la fenêtre temporelle spécifiée et s'arrête automatiquement à l'heure de fin.
Advanced Options
Advanced Parameter Settings
Stockez les informations sensibles (telles que les mots de passe de base de données) sous forme de paires clé-valeur, et référencez-les dans votre instruction en utilisant
res_local("key").Cliquez sur + pour ajouter plusieurs paires clé-valeur. Par exemple,
config.vpc.vpc_id.test1:vpc-uf6mskb0b****n9yjspécifie l'ID du VPC où réside l'instance RDS.
Étape 2 : Observer la tâche de transformation de données
Dans le volet de navigation de gauche, choisissez .
Dans la liste des tâches de transformation de données, recherchez et cliquez sur la tâche que vous souhaitez gérer.
Sur la page Data Transformation Overview (New Version), consultez les détails et le statut de la tâche. Vous pouvez également observer l'état d'exécution et les métriques de la tâche. Pour plus d'informations, consultez la rubrique Observer et surveiller les tâches de transformation de données (nouvelle version). Pour modifier, démarrer, arrêter ou supprimer la tâche, consultez la rubrique Gérer les tâches de transformation de données (nouvelle version).
Confirmez que les résultats de la transformation sont écrits dans le LogStore de destination. Accédez au LogStore de destination (
website_fail) pour interroger et analyser les données. Pour plus d'informations, consultez la rubrique Guide rapide pour les requêtes et l'analyse.