comando de padrões - OpenSearch Serviço Amazon

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.