Este tópico descreve a sintaxe e os parâmetros das funções de verificação de eventos e apresenta exemplos de uso.
Funções
| Categoria | Função | Descrição |
| Função básica | e_has | Verifica se um campo de log existe. |
| e_not_has | Verifica se um campo de log não existe. Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções. | |
| Função de expressão | e_search | Pesquisa um evento com uma sintaxe de consulta semelhante à do Lucene. Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções. |
| e_match | Verifica se o valor de um campo de log atende às condições de uma expressão regular. Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções. | |
| e_match_any | Verifica se o valor de um campo de log atende às condições de uma expressão regular. Retorna True se pelo menos um dos campos especificados corresponder à expressão regular; caso contrário, retorna False. | |
| e_match_all | Verifica se o valor de um campo de log atende às condições de uma expressão regular. Retorna True se todos os campos especificados corresponderem à expressão regular; caso contrário, retorna False. |
A tabela a seguir descreve as funções de expressão compatíveis com as funções de verificação de eventos.
| Categoria | Função | Descrição |
| Função lógica | op_and | Executa a operação AND. |
| op_or | Executa a operação OR. | |
| op_not | Executa a operação NOT. | |
| op_nullif | Verifica se os valores de duas expressões são iguais. | |
| op_ifnull | Retorna o valor da primeira expressão que não seja None. | |
| op_coalesce | Retorna o valor da primeira expressão que não seja None. |
e_has
Essa função verifica se um campo de log existe.
-
e_has("key") -
Parâmetro
Tipo
Obrigatório
Descrição
key
String
Sim
Nome do campo de log.
Retorna True se o campo especificado existir; caso contrário, retorna False.
-
Verifique se um log contém o campo content. Se o log contiver esse campo, ele será mantido. Caso contrário, o log será descartado.
-
Log bruto:
content: 123 -
Regra de transformação:
e_keep(e_has("content")) -
Resultado:
content: 123
-
e_not_has
Essa função verifica se um campo de log não existe.
-
e_not_has("key") -
Parâmetro
Tipo
Obrigatório
Descrição
key
String
Sim
Nome do campo de log.
Retorna True se o campo especificado não existir; caso contrário, retorna False.
-
Verifique se um log contém o campo content. Se o log não contiver esse campo, ele será mantido. Caso contrário, o log será descartado.
-
Log bruto:
content: 123 -
Regra de transformação:
e_if_else(e_not_has("content"),KEEP,DROP) -
Resultado:
O log é descartado.
-
-
Outros casos de uso
Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções.
e_search
Essa função pesquisa um evento com uma sintaxe de consulta semelhante à do Lucene.
-
e_search(querystring) -
Parâmetro
Tipo
Obrigatório
Descrição
querystring
String
Sim
String de consulta usada para filtrar dados de log. Para mais informações, consulte Sintaxe de string de consulta.
Retorna True se as condições especificadas forem atendidas; caso contrário, retorna False.
-
# Full-text search e_search("active error") # Search for multiple substrings in full text. The substrings are associated with each other by using the logical operator OR. e_search('"active error"') # Search for a substring in full text. # Field search e_search("status: active") # Search for a substring in a specified field. e_search('author: "john smith"') # Searches for a substring that contains a space character in a specified field. e_search('field: active error') # Search the specified field for the substring "active" or searches all logs for the substring "error". The query string in this example is equivalent to field:active OR "error". # Exact match e_search('author== "john smith"') # Search for field values by using wildcard characters. You can use an asterisk (*) to match zero or more characters. You can use a question mark (?) to match one character. e_search("status: active*test") # active*test contains one asterisk (*). You do not need to enclose the value in double quotation marks (""). e_search("status: active?good") # active?good contains one question mark (?). You do not need to enclose the value in double quotation marks (""). e_search("status== ac*tive?good") # The query string is used for exact match. # Escape special characters in a field value. Asterisks (*) or question marks (?) that are not used as wildcards must be escaped in a field value by using backslashes (\). e_search('status: "\*\?()[]:="') # \*\?()[]:= contains multiple special characters. You must enclose the value in double quotation marks (""). The asterisks (*), question marks (?), and backslashes (\) in the value are escaped. e_search("status: active\*test") # active\*test contains one asterisk (*). You do not need to enclose the value in double quotation marks (""). e_search("status: active\* test") # active\*test contains one question mark (?). You do not need to enclose the value in double quotation marks (""). # Escape special characters in a field name e_search("\*\(1+1\)\?: abc") # You cannot enclose the field name in double quotation marks (""). You must escape special characters by using backslashes (\). e_search("__tag__\:__container_name__: abc") # You must escape special characters by using backslashes (\). e_search("field name in Chinese: abc") # Enter the Chinese characters that comprise the field name. # Search for strings by using regular expressions. e_search('content~="regular expression"') # Search for substrings that match the regular expression. # Numeric value comparison e_search('count: [100, 200]') # >=100 and <=200 e_search('count: [*, 200]') # <=200 e_search('count: [200, *]') # >=200 e_search('age >= 18') # >= 18 e_search('age > 18') # > 18 # Relational operators e_search("abc OR xyz") # The relational operator is case-insensitive. e_search("abc and (xyz or zzz)") e_search("abc and not (xyz and not zzz)") e_search("abc && xyz") # and e_search("abc || xyz") # or e_search("abc || !xyz") # or not -
Outros casos de uso
Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções.
e_match
Essa função verifica se o valor de um campo de log atende às condições especificadas em uma expressão.
-
e_match(key, regular_expression, full=True)NotaGeralmente, a função e_match é usada em conjunto com as funções
op_not
,
op_and
ou
op_or
.
-
Parâmetro
Tipo
Obrigatório
Descrição
key
String
Sim
Nome do campo de log. Se o campo especificado não existir, a condição não será atendida.
Por exemplo, se o campo
f1não existir, a funçãoe_match("f1", ...)retornará False.regular_expression
String
Sim
Expressão regular. Para corresponder strings usando literais, use a função
str_regex_escapepara escapar caracteres.full
Bool
Não
Define se a correspondência deve ser exata. Por padrão, o parâmetro é definido como True, o que indica correspondência exata. Para mais informações, consulte Expressões regulares.
Retorna True se o campo especificado corresponder à expressão regular; caso contrário, retorna False.
-
Verifique se o valor do campo k1 é um número.
-
Log bruto:
k1: 123 -
Regra de transformação:
e_set("match",e_match("k1",r'\d+')) -
Resultado:
k1: 123 match: True
-
-
Outros casos de uso
Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções.
e_match_any
Essa função verifica se o valor de um campo de log atende às condições de uma expressão regular. Retorna True se pelo menos um dos campos especificados corresponder à expressão regular; caso contrário, retorna False.
-
e_match_any(key1, regular_expression1, key2, regular_expression2, ..., full=True)NotaOs parâmetros
keyeregular_expressiondevem ser especificados em pares.Geralmente, a função e_match_any é usada em conjunto com as funções
op_not,op_andouop_or.
-
Parâmetro
Tipo
Obrigatório
Descrição
key
String
Sim
Nome do campo de log. Se o campo especificado não existir, a condição não será atendida.
Por exemplo, se o campo
f1não existir, a funçãoe_match_any("f1", ...)retornará False.regular_expression
String
Sim
Expressão regular. Para corresponder strings usando literais, use a função
str_regex_escapepara escapar caracteres.full
Bool
Não
Define se a correspondência deve ser exata. O valor padrão True indica correspondência exata. Para mais informações, consulte Expressões regulares.
Retorna True se o campo especificado corresponder à expressão regular; caso contrário, retorna False.
-
Verifique se o valor de um campo de log atende às condições de uma expressão regular. Retorna True se pelo menos um dos campos especificados corresponder à expressão regular.
-
Log bruto:
k1: 123 k2: abc k3: abc123 -
Regra de transformação:
e_set("match",e_match_any('k1', r'\d+', 'k2', '.+')) -
Resultado:
k1:123 k2:abc k3:abc123 match:true
-
-
Outros casos de uso
Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções.
e_match_all
Essa função verifica se o valor de um campo de log atende às condições de uma expressão regular. Retorna True se todos os campos especificados corresponderem à expressão regular; caso contrário, retorna False.
-
e_match_all(key1, regular_expression1, key2, regular_expression2, ..., full=True)NotaOs parâmetros
keyeregular_expressiondevem ser especificados em pares.Geralmente, a função e_match_all é usada em conjunto com as funções
op_not,op_andouop_or.
-
Parâmetro
Tipo
Obrigatório
Descrição
key
String
Sim
Nome do campo de log. Se o campo especificado não existir, a condição não será atendida.
Por exemplo, se o campo
f1não existir, a funçãoe_match_all("f1", ...)retornará False.regular_expression
String
Sim
Expressão regular. Para corresponder strings usando literais, use a função
str_regex_escapepara escapar caracteres.full
Bool
Não
Define se a correspondência deve ser exata. Por padrão, o parâmetro é definido como True, o que indica correspondência exata. Para mais informações, consulte Expressões regulares.
Retorna True se o campo especificado corresponder à expressão regular; caso contrário, retorna False.
-
-
Log bruto:
k1: 123 k2: abc k3: abc123 -
Regra de transformação:
e_set("match", e_match_all("k1", r"\d+", "k2", r"\d+")) -
Resultado:
k1:123 k2:abc k3:abc123 match:false
-
-
Outros casos de uso
Você pode combinar essa função com outras. Para mais informações, consulte Limpar dados chamando funções.