A Domain Specific Language (DSL) do Simple Log Service (SLS) é um script compatível com Python para transformação de dados. Construída sobre Python, a DSL do SLS oferece mais de 200 funções integradas para simplificar tarefas de transformação de dados e também suporta scripts de extensão personalizados em Python.
. Também suporta scripts de extensão personalizados em Python
Orquestração flexível
Use a DSL do SLS para edite funções e combinar diferentes lógicas, atendendo à maioria dos cenários de transformação de dados.
Distribuição dinâmica
Distribua dados para diferentes Logstores de destino com base em lógicas específicas. Os nomes dos Logstores de destino podem ser calculados dinamicamente ou obtidos de fontes externas, como buckets do OSS.
Enriquecimento flexível
Obtenha dados de enriquecimento de recursos locais ou externos, como buckets do OSS e instâncias do ApsaraDB RDS for MySQL.
Execute mapeamentos padrão para dicionários e tabelas, além de mapeamentos avançados para tabelas.
Atualize automaticamente os recursos externos carregados.
Funções de operação global
A DSL do SLS fornece cerca de 30 funções de operação global que utilizam parâmetros para controlar operações. Essas funções aceitam resultados de funções de expressão como parâmetros. Combine funções de controle com funções de expressão e outras funções de etapa. Os principais tipos de funções incluem:
-
Crie ramificações condicionais usando funções como
if-else,if,switchecompose.Processe diferentes tipos de logs utilizando funções de pesquisa simples, como
e_search.
-
Descarte, mantenha, divida, envie e copie eventos.
-
Mantenha, exclua e renomeie campos.
-
Field value extraction functions
Extraia múltiplos valores ou pares chave-valor de campos usando expressões regulares, GROK, KV, separadores KV, CSV, TSV, PSV ou Syslog.
Extraia e enriqueça dados JSON.
-
Mapping and enrichment functions
Mapeie ou pesquise com base em dicionários e tabelas.
Obtenha informações de tabelas de dimensões para enriquecimento a partir de recursos como configurações de regras, buckets externos do OSS e instâncias do ApsaraDB RDS for MySQL.
Atualize automaticamente recursos externos com base em logs de alterações completas ou incrementais.
-
Enriqueça informações de campos de log. Por exemplo, obtenha inteligência de ameaças para um endereço IP e salve essas informações em um campo de log para facilitar a análise.
Funções de expressão
A DSL do SLS oferece mais de 200 funções de expressão integradas para transformar eventos ou controlar o comportamento de funções globais. Essas funções cobrem a maioria das necessidades de transformação de dados. Os principais tipos incluem:
-
Fornecem um mecanismo de filtragem condicional que utiliza sintaxe semelhante à do Lucene, expressões regulares completas, strings, curingas, comparações numéricas e combinações lógicas AND, OR e NOT.
-
Suportam recuperação, controle e comparação de valores de campo, verificações de contêineres e operações com múltiplos campos.
-
Oferecem operações para conversão de tipos básicos, conversão numérica e conversão de dicionários e listas.
-
Permitem cálculos básicos, cálculos com múltiplos valores, cálculos matemáticos e uso de parâmetros matemáticos.
-
Habilitam operações com múltiplos campos, incluindo codificação, decodificação, ordenação, inversão, substituição, normalização padrão, pesquisa, divisão, formatação e verificação de conjuntos de caracteres.
-
Suportam conversão de datas e horas, recuperação de propriedades de data e hora, obtenção da data e hora atuais, recuperação de timestamp UNIX, obtenção de strings de data e hora, além de modificação e comparação de valores de data e hora.
-
Proporcionam operações para extrair, corresponder, avaliar, substituir e dividir campos.
-
Disponibilizam mais de 400 padrões GROK integrados e suportam substituição de padrões GROK.
-
Specific structured data functions
Permitem extrair e filtrar dados de estruturas específicas, como JSON, Protobuf e XML.
-
Oferecem suporte para resolução e conversão de endereços IP.
-
Encoding and decoding functions
Suportam codificação e decodificação de texto em formatos como SHA1, SHA256, SHA512, MD5, HTML, URL e Base64.