As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
comando de padrões
nota
Para ver quais integrações AWS de fontes de dados oferecem suporte a esse PPL comando, consulteComandos.
O patterns
comando extrai padrões de log de um campo de texto e anexa os resultados ao resultado da pesquisa. O agrupamento de registros por seus padrões facilita a agregação de estatísticas de grandes volumes de dados de registro para análise e solução de problemas.
Sintaxe
Use a seguinte sintaxe:
patterns [new_field=<new-field-name>] [pattern=<pattern>] <field>
new-field-name
-
Cadeia de caracteres opcional.
-
Esse é o nome do novo campo para padrões extraídos.
-
O padrão é
patterns_field
. -
Se o nome já existir, ele substituirá o campo original.
pattern
-
Cadeia de caracteres opcional.
-
Esse é o padrão regex de caracteres que devem ser filtrados do campo de texto.
-
Se ausente, o padrão padrão é de caracteres alfanuméricos (
[a-zA-Z\d]
).
Campo
-
Obrigatório.
-
O campo deve ser um campo de texto.
Exemplo 1: Criar o novo campo
O exemplo mostra como usar pontuações de extração em cada email
documento. A análise de um campo nulo retornará uma string vazia.
PPLconsulta:
os> source=accounts | patterns email | fields email, patterns_field ; fetched rows / total rows = 4/4 +-----------------------+------------------+ | email | patterns_field | |-----------------------+------------------| | jane_doe@example.com | @. | | john_doe@example.net | @. | | null | | | juan_li@example.org | @. | +-----------------------+------------------+
Exemplo 2: Extrair padrões de registro
O exemplo mostra como extrair pontuações de um campo de registro bruto usando os padrões padrão.
PPLconsulta:
os> source=apache | patterns message | fields message, patterns_field ; fetched rows / total rows = 4/4 +-----------------------------------------------------------------------------------------------------------------------------+---------------------------------+ | message | patterns_field | |-----------------------------------------------------------------------------------------------------------------------------+---------------------------------| | 177.95.8.74 - upton5450 [28/Sep/2022:10:15:57 -0700] "HEAD /e-business/mindshare HTTP/1.0" 404 19927 | ... - [//::: -] " /-/ /." | | ************ - pouros8756 [28/Sep/2022:10:15:57 -0700] "GET /architectures/convergence/niches/mindshare HTTP/1.0" 100 28722 | ... - [//::: -] " //// /." | | *************** - - [28/Sep/2022:10:15:57 -0700] "PATCH /strategize/out-of-the-box HTTP/1.0" 401 27439 | ... - - [//::: -] " //--- /." | | ************** - - [28/Sep/2022:10:15:57 -0700] "POST /users HTTP/1.1" 301 9481 | ... - - [//::: -] " / /." | +-----------------------------------------------------------------------------------------------------------------------------+---------------------------------+
Exemplo 3: Extraia padrões de log com padrão de regex personalizado
O exemplo mostra como extrair pontuações de um campo de registro bruto usando padrões definidos pelo usuário.
PPLconsulta:
os> source=apache | patterns new_field='no_numbers' pattern='[0-9]' message | fields message, no_numbers ; fetched rows / total rows = 4/4 +-----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ | message | no_numbers | |-----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------| | 177.95.8.74 - upton5450 [28/Sep/2022:10:15:57 -0700] "HEAD /e-business/mindshare HTTP/1.0" 404 19927 | ... - upton [/Sep/::: -] "HEAD /e-business/mindshare HTTP/." | | 127.45.152.6 - pouros8756 [28/Sep/2022:10:15:57 -0700] "GET /architectures/convergence/niches/mindshare HTTP/1.0" 100 28722 | ... - pouros [/Sep/::: -] "GET /architectures/convergence/niches/mindshare HTTP/." | | *************** - - [28/Sep/2022:10:15:57 -0700] "PATCH /strategize/out-of-the-box HTTP/1.0" 401 27439 | ... - - [/Sep/::: -] "PATCH /strategize/out-of-the-box HTTP/." | | ************** - - [28/Sep/2022:10:15:57 -0700] "POST /users HTTP/1.1" 301 9481 | ... - - [/Sep/::: -] "POST /users HTTP/." | +-----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+
Limitação
O comando patterns tem as mesmas limitações do comando parse.