Este tópico descreve a sintaxe, os parâmetros e exemplos das funções de operação de campo.
Lista de funções
|
Função |
Descrição |
|
Obtém o valor de um campo de log específico. Se você passar vários nomes de campo, a função retornará o valor do primeiro campo existente no log. É possível usar esta função com outras funções. Para mais informações, consulte Cleanse data by calling functions. |
|
|
Adiciona um novo campo ou define um novo valor para um campo existente. É possível usar esta função com outras funções. Para mais informações, consulte Cleanse data by calling functions. |
|
|
Exclui campos de log que atendem às condições especificadas. É possível usar esta função com outras funções. Para mais informações, consulte Transform complex JSON data. |
|
|
Retém campos de log que atendem às condições especificadas. |
|
|
Agrupa campos de log e gera a saída em um novo campo. |
|
|
Renomeia campos de log que atendem às condições especificadas. É possível usar esta função com outras funções. Para mais informações, consulte Cleanse data by calling functions. |
v
Use a função v para recuperar o valor de um campo de log específico. Se você especificar vários nomes de campo, a função retornará o valor do primeiro campo existente no log.
-
Sintaxe
v(key, ..., default=None) -
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
key
String
Sim
Insira um nome para o campo.
default
Qualquer
Não
Se o nome do campo especificado não existir, a função retornará o valor de
default. O valor padrão é None. -
Resposta
Retorna o valor do primeiro campo existente no log. Se nenhum dos campos especificados existir, a função retornará o valor do parâmetro default.
-
Exemplos
Atribua o valor do campo
contentao campotest_content.-
Log bruto
content: hello -
Regra de transformação
e_set("test_content", v("content")) -
Resultado
content: hello test_content: hello
-
-
Referências
É possível usar esta função com outras funções. Para mais informações, consulte Cleanse data by calling functions.
e_set
Use a função e_set para adicionar um novo campo ou definir um novo valor para um campo existente.
-
Sintaxe
e_set(key1, value1, key2, value2, mode="overwrite")ImportanteEspecifique os parâmetros key1 e value1 em pares.
-
Ao usar a função e_set para definir um campo de tempo, como F_TIME ou __time__, o valor deve ser uma string numérica.
e_set(F_TIME, "abc") # Incorrect e_set(F_TIME, "12345678") # Correct
-
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
key
String
Sim
Nome do campo de destino. Também é possível obter o nome do campo a partir de uma expressão de string. Para mais informações sobre como definir nomes de campos especiais, consulte Event types.
value
Qualquer
Sim
Novo valor do campo. Valores que não são strings são convertidos em strings e adicionados ao log. Tuplas, listas e dicionários são convertidos em strings de objeto JSON. Para mais informações sobre conversão de strings, consulte Automatic type conversion during assignment.
NotaSe o valor passado for None, nenhuma atualização será realizada.
mode
String
Não
Modo de sobrescrita de campo. O valor padrão é overwrite. Para mais informações, consulte Field extraction check and overwrite modes.
-
Resposta
Retorna o log atualizado.
-
Exemplos
-
Exemplo 1: Definir um valor estático para um campo.
Adicione um novo campo chamado city e defina seu valor como Shanghai.
e_set("city", "Shanghai") -
Exemplo 2: Copiar o valor de um campo.
Use uma única função de expressão para atribuir o valor do campo ret existente ao novo campo result.
e_set("result", v("ret")) -
Exemplo 3: Definir um valor dinâmico.
Use uma função de expressão composta para recuperar o valor do primeiro campo existente, convertê-lo para minúsculas e atribuí-lo ao campo result.
e_set("result", str_lower(v("ret", "return"))) -
Exemplo 4: Definir o valor de um campo várias vezes.
-
Defina o valor do campo event_type.
e_set("event_type", "login event", "event_info", "login host") -
Se o valor do campo ret for fail, defina o valor do campo event_type como login failed event.
e_if(e_search('ret==fail'), e_set("event_type", "login failed event" ))
-
-
Referências
É possível usar esta função com outras funções. Para mais informações, consulte Cleanse data by calling functions.
-
e_drop_fields
Use a função e_drop_fields para excluir campos de log que atendem às condições especificadas.
-
Sintaxe
e_drop_fields(key1, key2, ....,regex=False) -
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
key
String
Sim
Nome do campo de log. Pode ser uma expressão regular. Se o nome do campo corresponder totalmente à condição, o campo será excluído. Os campos que não correspondem são retidos. Para mais informações sobre expressões regulares, consulte Regular expressions.
Configure pelo menos um campo de log.
regex
Booleano
Não
Se este parâmetro for definido como False, as expressões regulares não serão usadas para correspondência. Se este parâmetro não for configurado, o valor padrão será True.
-
Resposta
Retorna o log após a exclusão dos campos.
-
Exemplos
Se o valor do campo content for 123, exclua os campos content e age.
-
Log bruto
age: 18 content: 123 name: twiss -
Regra de transformação
e_if(e_search("content==123"), e_drop_fields("content", "age",regex=True)) -
Resultado
name: twiss
-
-
Referências
É possível usar esta função com outras funções. Para mais informações, consulte Transform complex JSON data.
e_keep_fields
Use a função e_keep_fields para reter campos de log que atendem às condições especificadas.
O Simple Log Service inclui campos de metadados integrados, como __time__ e __topic__. Se você não reter o campo __time__ ao chamar a função e_keep_fields, o horário do log será redefinido para o horário atual do sistema. Para evitar a redefinição dos valores dos campos de metadados, adicione-os à lista. O formato comum é F_TIME, F_META, F_TAGS, "f1", "f2". Para mais informações, consulte Fixed identifiers.
-
Sintaxe
e_keep_fields(key1, key2, ....,regex=False) -
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
key
String
Sim
Nome do campo de log. Pode ser uma expressão regular. Se o nome do campo corresponder totalmente à condição, o campo será retido. Os campos que não correspondem são excluídos.
Configure pelo menos um campo.
regex
Booleano
Não
Se este parâmetro for definido como False, as expressões regulares não serão usadas para correspondência. Se este parâmetro não for configurado, o valor padrão será True.
-
Resposta
Retorna os logs retidos.
-
Exemplos
Se o valor do campo content for 123, retenha os campos content e age.
-
Log bruto
age: 18 content: 123 name: twiss -
Regra de transformação
e_if(e_search("content==123"), e_keep_fields("content", "age")) -
Resultado
age: 18 content: 123
-
e_pack_fields
Use a função e_pack_fields para agrupar campos de log e gerar a saída em um novo campo.
-
Sintaxe
e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=True) -
Parâmetros
Parâmetro
Tipo
Obrigatório
Descrição
output_field
String
Sim
Nome do campo de saída após o agrupamento. Seu valor está no formato JSON.
include
String
Não
Configuração da lista de permissões. Os campos que correspondem à expressão regular são agrupados. O valor padrão é ".*", o que indica que todos os campos correspondem. Para mais informações, consulte Regular expressions.
exclude
String
Não
Configuração da lista de bloqueios. Os campos que correspondem à expressão regular não são agrupados. O valor padrão é None, o que indica que nenhuma correspondência é realizada. Para mais informações, consulte Regular expressions.
drop_packed
Booleano
Não
Define se os dados originais agrupados devem ser excluídos. O valor padrão é True.
True (padrão): Os dados originais agrupados são excluídos da saída.
False: Os dados originais agrupados não são excluídos da saída.
-
Resposta
Retorna os dados de log agrupados.
-
Exemplos
-
Exemplo 1: Agrupar todos os campos de log no campo test. Por padrão, os campos agrupados originais são excluídos.
-
Log bruto
test1:123 test2:456 test3:789 -
Regra de transformação
e_pack_fields("test") -
Resultado
test:{"test1": "123", "test2": "456", "test3": "789"}
-
-
Exemplo 2: Agrupar todos os campos de log no campo test. Os campos agrupados originais não são excluídos.
-
Log bruto
test1:123 test2:456 test3:789 -
Regra de transformação
e_pack_fields("test",drop_packed=False) -
Resultado
test:{"test1": "123", "test2": "456", "test3": "789"} test1:123 test2:456 test3:789
-
-
Exemplo 3: Agrupar os campos test e abcd no campo content. Os campos agrupados originais não são excluídos.
-
Log bruto
abcd@#%:123 test:456 abcd:789 -
Regra de transformação
e_pack_fields("content", include="\w+", drop_packed=False) -
Resultado
abcd:789 abcd@#%:123 content:{"test": "456", "abcd": "789"} test:456
-
-
Exemplo 4: Agrupar todos os campos, exceto test e abcd, no campo content. Os campos agrupados originais são excluídos.
-
Log bruto
abcd@#%:123 test:456 abcd:789 -
Regra de transformação
e_pack_fields("content", exclude="\w+", drop_packed=True) -
Resultado
abcd:789 content:{"abcd@#%": "123"} test:456
-
-
e_rename
Use a função e_rename para renomear campos de log que atendem às condições especificadas.
-
Sintaxe
e_rename("key1", "new key1", "key2", "new key2", ..., regex=False)NotaEspecifique os parâmetros key e new key em pares. Se a
new keyjá existir no log de source, nenhuma operação será realizada. -
Parâmetros
Parâmetro
Tipo de parâmetro
Obrigatório
Descrição
key
String
Sim
Nome do campo de log. Pode ser uma expressão regular. Se o nome do campo corresponder totalmente à condição, o campo será renomeado. Para mais informações sobre expressões regulares, consulte Regular expressions.
Configure pelo menos um campo.
new key
String
Sim
Novo nome do campo.
regex
Booleano
Não
Se este parâmetro for definido como False, as expressões regulares não serão usadas para correspondência. Se este parâmetro não for configurado, o valor padrão será True.
-
Resposta
Retorna o campo renomeado.
-
Exemplos
-
Exemplo 1: Renomear o campo host para client_host.
-
Log bruto
host: 1006 -
Regra de transformação
e_rename("host","client_host") -
Resultado
client_host: 1006
-
-
Exemplo 2: Se o campo não existir, ele não será renomeado.
-
Log bruto
host: 1006 -
Regra de transformação
e_rename("url","rename_url") -
Resultado
host: 1006
-
-
Referências
É possível usar esta função com outras funções. Para mais informações, consulte Cleanse data by calling functions.
-