extract
Use o comando extract para obter trechos de um campo existente usando uma expressão regular. O comando vai capturar os trechos resultantes em campos virtuais usando os nomes fornecidos para os grupos de expressões regulares.
-
O comando
extractnão pode operar no campo Conteúdo de Log Original. O campo padrão, se não for especificado, será Mensagem.Para poder usar o comando
extractno valor do campo Conteúdo do Log Original, primeiro copie o campo Conteúdo do Log Original em um campo de string e, em seguida, executeextractno novo campo de string. -
Comandos de processamento de string como
extractconsomem muitos recursos. Por isso, não é recomendável executar o comandoextractem um grande número de registros de log ou em valores de campo grandes. Em vez disso, extraia esses valores usando EFD (Extended Field Definitions) ou Labels em sua Origem de Log.
Sintaxe
extract field = <field_to_parse> (<regular_expression>)Parâmetros
A tabela a seguir lista os parâmetros usados nesse comando, com suas descrições.
| Parâmetro | Descrição |
|---|---|
|
|
Especifique o campo que deve ser analisado usando a expressão regular. |
|
|
Especifique a expressão regular a ser usada para fazer parsing do campo existente. O formato da construção da expressão regular deve ser consistente com a correspondência de padrão RE2J e deve conter pelo menos um grupo de captura com nome. Consulte Sintaxe de Expressões Regulares. |
O comando a seguir separa o conteúdo do campo da entidade em duas partes. Por exemplo, o valor da entidade host-phx-1.oci.oraclecloud.com com padrão seria dividido em dois campos virtuais denominados Host e Domínio, com os valores host-phx-1 e oci.oraclecloud.com.
* | extract field = Entity '(?P<Host>\w+)\.?(?P<Domain>.*)'
O comando a seguir cria um novo campo virtual chamado ErrorCode que contém o sufixo do campo ErrorInfo para que ele possa ser usado como chave na tabela de pesquisa Error Ids. Isso pode ser usado para pesquisar as etapas de descrição e correção de uma tabela de pesquisa e fornecer um resumo tabular de quantas vezes cada erro ocorreu e como corrigir.
'Log Source' like '%database%'
| extract field = ErrorInfo 'ora-(?P<ErrorCode>.*)'
| lookup table="error ids" select error_description,
error_remediation using error_id = ErrorCode
| stats count, unique(error_description),
unique(error_remediation) by ErrorInfo