Le langage spécifique au domaine (DSL) de Simple Log Service (SLS) est un script compatible Python dédié à la transformation des données. Le DSL SLS s'appuie sur Python et propose plus de 200 fonctions intégrées pour simplifier les tâches de transformation des données. Il prend également en charge les scripts d'extension Python personnalisés.
. Il prend également en charge les scripts d'extension Python personnalisés
Orchestration flexible
Utilisez le DSL SLS pour modifier des fonctions et combiner diverses logiques afin de répondre à la plupart des scénarios de transformation des données.
Distribution dynamique
Distribuez les données vers différents Logstores de destination selon une logique spécifique. Les noms des Logstores de destination peuvent être calculés dynamiquement ou récupérés depuis des sources externes, telles que des compartiments OSS.
Enrichissement flexible
Récupérez des données d'enrichissement à partir de ressources locales ou externes, telles que des compartiments OSS et des instances ApsaraDB RDS for MySQL.
Effectuez un mappage standard pour les dictionnaires et les tables, ainsi qu'un mappage avancé pour les tables.
Actualisez automatiquement les ressources externes chargées.
Fonctions d'opération globales
Le DSL SLS fournit environ 30 fonctions d'opération globales qui utilisent des paramètres pour contrôler les opérations. Ces fonctions acceptent les résultats des fonctions d'expression en tant que paramètres. Les fonctions de contrôle peuvent être combinées avec des fonctions d'expression et d'autres fonctions par étape. Les principaux types de fonctions sont les suivants :
-
Créez des branches conditionnelles à l'aide de fonctions telles que
if-else,if,switch, etcompose.Utilisez des fonctions de recherche simples, telles que
e_search, pour traiter différents types de journaux.
-
Fonctions d'opération d'événement
Supprimez, conservez, divisez, exportez et copiez des événements.
-
Fonctions d'opération de champ
Conservez, supprimez et renommez des champs.
-
Fonctions d'extraction de valeur de champ
Extrayez plusieurs valeurs ou paires clé-valeur des champs à l'aide d'expressions régulières, GROK, KV, séparateurs KV, CSV, TSV, PSV ou Syslog.
Extrayez et enrichissez des données JSON.
-
Fonctions de mappage et d'enrichissement
Effectuez un mappage ou une recherche basé(e) sur des dictionnaires et des tables.
Obtenez des informations de table de dimension pour l'enrichissement à partir de ressources telles que les configurations de règles, les compartiments OSS externes et les instances ApsaraDB RDS for MySQL.
Actualisez automatiquement les ressources externes en fonction des journaux de modifications complets ou incrémentiels.
-
Fonctions de contenu à valeur ajoutée
Enrichissez les informations des champs de journal. Par exemple, obtenez des renseignements sur les menaces pour une adresse IP et enregistrez ces informations dans un champ de journal pour faciliter l'analyse des journaux.
Fonctions d'expression
Le DSL SLS propose plus de 200 fonctions d'expression intégrées pour transformer les événements ou contrôler le comportement des fonctions globales. Ces fonctions couvrent la plupart des besoins en matière de transformation des données. Les principaux types de fonctions sont les suivants :
-
Fonctions de vérification d'événement
Ces fonctions fournissent un mécanisme de filtrage conditionnel qui utilise une syntaxe de type Lucene, des expressions régulières complètes, des chaînes, des caractères génériques, des comparaisons numériques et des combinaisons logiques ET, OU et NON.
-
Ces fonctions prennent en charge la récupération de valeurs de champ, le contrôle, la comparaison, les vérifications de conteneur et les opérations multi-champs.
-
Ces fonctions fournissent des opérations pour la conversion de types de base, la conversion de nombres et la conversion de dictionnaires et de listes.
-
Ces fonctions offrent une prise en charge des calculs de base, des calculs multi-valeurs, des calculs mathématiques et des paramètres mathématiques.
-
Ces fonctions fournissent des opérations multi-champs, notamment l'encodage, le décodage, le tri, l'inversion, le remplacement, la normalisation standard, la recherche, la division, le formatage et la vérification des jeux de caractères.
-
Ces fonctions prennent en charge la conversion des dates et heures, la récupération des propriétés de date et d'heure, la récupération de la date et de l'heure actuelles, la récupération d'un horodatage UNIX, la récupération d'une chaîne de date et d'heure, ainsi que la modification et la comparaison des valeurs de date et d'heure.
-
Fonctions d'expression régulière
Ces fonctions fournissent des opérations pour extraire, faire correspondre, évaluer, remplacer et diviser des champs.
-
Ces fonctions proposent plus de 400 modèles GROK intégrés et prennent en charge le remplacement des modèles GROK.
-
Fonctions de données structurées spécifiques
Ces fonctions prennent en charge l'extraction et le filtrage de données à partir de structures spécifiques telles que JSON, Protobuf et XML.
-
Ces fonctions offrent une prise en charge de la résolution et de la conversion des adresses IP.
-
Fonctions d'encodage et de décodage
Ces fonctions prennent en charge l'encodage et le décodage de texte dans des formats tels que SHA1, SHA256, SHA512, MD5, HTML, URL et Base64.