Gerenciar Lookups

Usando o Oracle Logging Analytics, você pode enriquecer dados de eventos adicionando combinações de campo/valor de lookups. O Oracle Logging Analytics usa lookups para corresponder combinações de campo/valor de eventos com uma tabela de pesquisa externa e, se há correspondência, o Oracle Logging Analytics anexa as combinações de campo/valor aos eventos.

Tipos de lookups:
  • Simples: Esta tabela contém uma listagem simples de itens em que as linhas correspondem a uma única relação. Por exemplo, se você criar uma tabela de pesquisa de erros, cada linha poderá ter as informações de um único erro, como ID do erro, mensagem de erro, causa, ação corretiva. Consulte Criar um Lookup Simples.
  • Dicionário: Esta é uma opção mais inteligente para obter as relações lógicas entre campos e seus valores usando operadores como CONTAINS, CONTAINS IGNORE CASE MULTILINE REGEX e EQUAL. Para obter uma lista completa de operadores, exemplos e etapas para criar esse tipo de lookup, consulte Criar um Lookup de Dicionário.
A seguir estão algumas das tabelas de pesquisa simples definidas pela Oracle disponíveis no momento no Oracle Logging Analytics:
  • Mensagens de Erro BEA
  • Mensagens de Erro CRS
  • Mensagens de Erro OGC
  • Mensagens de Erro ORA
  • Mensagens de Erro TNS

Para obter as permissões para executar todas as operações em pesquisas, consulte Permitir que os Usuários Executem Todas as Operações em Pesquisas.

Observação

O tamanho de um único arquivo de pesquisa não deve exceder 10 MB. No entanto, não há limite para o número de linhas na pesquisa.

Observação

Se você quiser impedir que um usuário exiba o conteúdo de uma pesquisa, mesmo indiretamente, esse usuário NÃO DEVE receber permissão para:

  • Fazer upload de logs
  • Exibir os logs que contêm os campos enriquecidos usando essas pesquisas restritas

Como os Lookups Enriquecem os Logs

Geralmente, os logs não conteriam todas as informações necessárias para consolidar a análise. Nesses casos, você pode criar uma tabela de pesquisa para selecionar as informações que já foram contraídas para fazer mais sentido dos dados nos logs. Por exemplo, o campo ID do Erro nos eventos de log não fornece uma descrição dos erros. Você pode criar um lookup que mapeie ID do Erro para descrições e, em seguida, usar as opções de Enriquecimento de Campo para disponibilizar as descrições para pesquisa nos registros de log. Alguns exemplos de cenários em que você poderia criar lookups:

  • Inventário do produto: ID do produto, especificações técnicas, preço, estoque disponível, número do rack
  • Informações do funcionário: ID do funcionário, Informações pessoais, organização, função, escala, salário, gerente
  • Referência de biblioteca: Mosaico, autor, resumo, edição, edições anteriores, preço

Como Usar Lookups

Você pode usar principalmente as consultas simples na hora da ingestão usando a função Pesquisa de Origem. Consulte Usar Consultas de Tempo de Ingestão na Origem.

Você também pode usar pesquisas simples no tempo de consulta, conforme mostrado abaixo:

Na consulta lookup a seguir, a mensagem de erro é selecionada na tabela de pesquisa ORA Error Messages mapeando o campo ID do Erro e exibindo-o em uma tabela de resumo com outros campos, como origem de log e entidade:

'Error ID' like 'ORA%' | lookup table = 'ORA Error Messages' select errmsg using 'Error ID' = errid | fields -*, 'Log Source', Entity, errmg
  • Informações dos logs:
    • Error ID: ID do Erro conforme mencionado nos logs especificados no formato ORA%
    • Log Source: A origem dos logs
    • Entity: A entidade dos logs
  • Informações da tabela de pesquisa definida pela Oracle ORA Error Messages:
    • errid: O ID do erro especificado no formato ORA%
    • errmsg: A mensagem de erro do ID do erro

    Os outros detalhes disponíveis na tabela de pesquisa ORA Error Messages são errcause (Causa do Erro) e erraction (Ação do Erro) para cada ID de erro. Para exibir o conteúdo da tabela de pesquisa, use o comando searchlookup da seguinte forma:

    * | searchlookup table = 'ORA Error Messages'

Exibir os Detalhes do Lookup

  1. Abra o menu de navegação e clique em Observabilidade e Gerenciamento. Em Logging Analytics, clique em Administração. A página Visão Geral da Administração é aberta.

  2. Os recursos de administração são listados no painel de navegação à esquerda em Recursos. Clique em Lookups.

  3. Em Lookups, clique no lookup cujos detalhes você deseja exibir.

    A página Detalhes do Lookup exibe os detalhes fornecidos durante a criação dele e também o conteúdo da tabela de pesquisa. Você também pode executar ações como Mover recurso, Adicionar tags e Excluir. Para obter detalhes sobre essas ações, consulte a seção a seguir.

Para executar outras ações na pesquisa, na página de listagem Lookups, selecione o Compartimento, o Tipo e o Tipo de Criação da pesquisa e restrinja a pesquisa na seção Filtros. Você também pode incluir Filtros de tag para filtrar pesquisas por tags. Depois de identificar seu lookup, clique no ícone Ações ícone Ações na linha do seu lookup:

  • Fazer Upload do Arquivo: No caso de pesquisas criadas pelo usuário, se você tiver uma nova versão da tabela de pesquisa ou se um upload anterior tiver falhado, poderá fazer o upload novamente.

  • Excluir: Talvez você precise excluir algumas de suas pesquisas antigas ou não usadas. Para excluir o lookup, confirme na caixa de diálogo Excluir Lookup. Você só poderá excluir uma pesquisa se ela for criada pelo usuário.

  • Copiar OCID: O OCID do recurso de lookup é copiado. Você pode usá-lo para fazer referência a esse recurso em qualquer lugar do Oracle Cloud Infrastructure.
  • Mover recurso: A caixa de diálogo Mover Recursos para Outro Compartimento é exibida. Nas opções, selecione o compartimento para que você deseja mover a pesquisa e clique em Mover Recurso.
  • Adicionar tags: Consulte Adicionar Tags a Recursos do Serviço Logging Analytics.

Atualizar um Lookup Existente

  1. Atualize seu arquivo CSV com as combinações de campo/valor.

  2. Abra o menu de navegação e clique em Observabilidade e Gerenciamento. Em Logging Analytics, clique em Administração. A página Visão Geral da Administração é aberta.

  3. Os recursos de administração são listados no painel de navegação à esquerda em Recursos. Clique em Lookups.

  4. Em Lookups, clique no ícone Ações Menu Ações na linha que corresponde ao lookup que você deseja atualizar e clique em Fazer Upload do Arquivo Novamente.

    A caixa de diálogo Fazer Upload do Arquivo Novamente é aberta.

  5. Selecione o arquivo CSV de lookup atualizado que você criou anteriormente e clique em Fazer Upload.

Criar um Lookup Simples

Depois de criar o lookup simples, execute uma consulta com o comando searchlookup para listar os valores no lookup e use o comando lookup em uma consulta para mapear os campos de saída para esses valores.

  1. Crie um arquivo CSV de lookup com as combinações campo/valor. Por exemplo, para criar um lookup que mapeia o ID de Erro para descrições:

    errid,description
    02323,Network Not Reachable
    09912,User Activity
    12322,Out of Memory

    Observe que a primeira linha é o cabeçalho com os títulos errid e description para os valores nas linhas subsequentes.

  2. Abra o menu de navegação e clique em Observabilidade e Gerenciamento. Em Logging Analytics, clique em Administração. A página Visão Geral da Administração é aberta.

  3. Os recursos de administração são listados no painel de navegação à esquerda em Recursos. Clique em Lookups.

    A página de listagem de pesquisas é exibida. No painel de navegação esquerdo, selecione o compartimento no qual a pesquisa deve ser criada.

  4. Em Lookups, clique em Criar Lookup.

  5. Na página Criar Pesquisa, informe o nome da pesquisa, como server error code lookups e uma descrição opcional.

  6. Em Tipo, selecione Simples.

  7. Selecione o arquivo CSV de lookup que você criou anteriormente.

  8. Opcionalmente, expanda a seção Mostrar Opções Avançadas e adicione tags à pesquisa. Clique em Criar.

Criar um Lookup de Dicionário

Depois de criar o lookup do tipo Dicionário, use o comando searchlookup para listar os lookups. Use o comando lookup para mapear para os campos com qualquer consulta somente após o uso do comando link ou cluster na consulta.

Mais Tópicos:

Observe que você só pode usar pesquisas de tipo de dicionário no tempo de consulta e não no tempo de ingestão na função de origem.

Para obter exemplos de como usar o lookup de dicionário em Cluster e Link, consulte Usar Lookup de Dicionário no Cluster e Usar Lookup de Dicionário no Link.

Para obter um exemplo de como usar a pesquisa de dicionário para fornecer a geolocalização, consulte Especificar Geolocalização Usando uma Pesquisa.

  1. Crie um arquivo CSV de lookup com as combinações campo/valor.

    Por exemplo:

    Operator,Condition,Issue,Area
    CONTAINS,message header or abbreviation processing failed,Processing Error,Messaging
    CONTAINS,Failed to associate the transaction context with the response while marshalling,Marshalling Error,Response
    CONTAINS,A RuntimeException was generated by the RMI server,Exception,RMI

    Observe que a primeira linha é o cabeçalho em que Operator e Condition são os campos obrigatórios especificados na mesma ordem. Os parâmetros subsequentes são listados na linha do cabeçalho após os parâmetros obrigatórios. As linhas subsequentes são os valores dos parâmetros listados na linha do cabeçalho na mesma ordem.

    Consulte a tabela a seguir para obter a lista de operadores válidos e exemplos de como utilizá-los.

    Observação:

    • Se um campo contiver uma vírgula, coloque o campo inteiro entre aspas duplas.

    • Se um campo contiver aspas duplas, escape-as usando duas aspas duplas.

  2. Abra o menu de navegação e clique em Observabilidade e Gerenciamento. Em Logging Analytics, clique em Administração. A página Visão Geral da Administração é aberta.

  3. Os recursos de administração são listados no painel de navegação à esquerda em Recursos. Clique em Lookups.

    A página de listagem de pesquisas é exibida. No painel de navegação esquerdo, selecione o compartimento no qual a pesquisa deve ser criada.

  4. Em Lookups, clique no link Criar Lookup.

  5. Na página Criar Lookup, digite o nome do lookup, como cluster dictionary lookups e uma descrição opcional.

  6. Em Tipo, selecione Dicionário.

  7. Selecione o arquivo CSV de lookup que você criou anteriormente.

  8. Opcionalmente, expanda a seção Mostrar Opções Avançadas e adicione tags à pesquisa. Clique em Criar.

Operador CIDRMATCH

O operador CIDRMATCH suporta a regra de operação de correspondência do CIDR (Classless Inter-Domain Routing) dentro de um lookup de dicionário. Por exemplo, o dicionário a seguir retornará Nome da Rede como Rede de Banco de Dados se o Endereço IP de entrada cair na faixa entre 192.0.2.0 e 192.0.2.255:

Operator,Condition,Network Name
CIDRMATCH,192.0.2.10/24,Database Network

Lista de Operadores Válidos e Exemplos de Uso

Operador Descrição Exemplo

CONTAINS

Verdadeiro se o valor contiver a string especificada no campo Condição. Distinguir maiúsculas de minúsculas

CONTAINS,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE

O mesmo que o anterior, exceto se maiúsculo/minúsculo for ignorado

CONTAINS IGNORE CASE,request 'getresponse' timed out,Timeout Error

CONTAINS REGEX

Verdadeiro se o valor corresponder à expressão regular especificada

CONTAINS REGEX,Request '\S+' Timed out,Timeout Error

CONTAINS IGNORE CASE REGEX

O mesmo que o anterior, mas ignora maiúsculas e minúsculas

CONTAINS IGNORE CASE REGEX,request '\S+' timed out,Timeout Error

CONTAINS MULTILINE REGEX

Use essa opção para corresponder a uma string com várias linhas

CONTAINS MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE MULTILINE REGEX

O mesmo que o anterior, exceto se maiúsculo/minúsculo for ignorado

CONTAINS IGNORE CASE MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS ONE OF REGEXES

Especifique mais de uma expressão regular. Verdadeiro se pelo menos uma corresponder.

Liste as expressões regulares dentro de [] e separe por vírgula. As expressões regulares não podem conter vírgula.

Se você precisar usar aspas duplas dentro do regex, escape cada aspas duplas usando outra aspas duplas.

CONTAINS ONE OF REGEXES,"[Request '\S+' Timed out,Server\S+Timed out]",Timeout Error

NOT CONTAINS

Não contém a string especificada

NOT CONTAINS,Request 'GetResponse' Timed out,Success

EQUAL

Conteúdo igual ao valor especificado

EQUAL,500,HTTP Server Error

EQUAL IGNORE CASE

O mesmo que o anterior, exceto se maiúsculo/minúsculo for ignorado

EQUAL,In-Progress,Request In Progress

NOT EQUAL

Verdadeiro se o conteúdo não for igual ao valor especificado

NOT EQUAL,200,HTTP Request Failed

STARTS WITH

Compara com o início do conteúdo

STARTS WITH,Request failed with,Fail

ENDS WITH

Compara com o fim do conteúdo

ENDS WITH,timed out,Timeout

IN

Verdadeiro se pelo menos um dos valores for igual

IN,"[500,501,502,503]",HTTP Server Error

IN IGNORE CASE

O mesmo que o anterior, exceto se maiúsculo/minúsculo for ignorado

IN IGNORE CASE,[fail,timeout,error,fatal],Request Failed

NOT IN

Verdadeiro se o conteúdo não for igual a qualquer valor na lista

NOT IN,"[500,501,503,400,401,404]",HTTP Request Successful

NULL

Verdadeiro se o conteúdo no campo for nulo

NULL,,No Value

NOT NULL

Verdadeiro se o conteúdo no campo não for nulo

NOT NULL,,Value Present

CIDRMATCH

Regra de operação de correspondência do CIDR (Classless Inter-Domain Routing) dentro de um lookup de dicionário

Consulte Operador CIDRATCH.

Lista de Operadores Numéricos e Lógicos e Exemplos

Observação

Certifique-se de que os operadores numéricos não sejam misturados com os operadores de string no mesmo dicionário. Se os operadores forem misturados no mesmo dicionário e um valor de string for informado na consulta, uma mensagem de erro será retornada sobre o tipo durante a correspondência usando os operadores numéricos.
Operador Descrição Exemplo

=

Numérico Igual a

=,1,Value is 1

!=

Numérico Diferente de

!=,1,Value is Not 1

>

Acima do valor informado

>,1,Value is above 1

<

Abaixo do valor informado

<,1,Value is below 1

>=

Acima ou igual ao valor informado

>=,1,Value is equal or above 1

<=

Abaixo ou igual ao valor informado

<=,1,Value is equal or below 1

BETWEEN

Entre os dois valores informados, ambos inclusivos

BETWEEN,1-10,Value is equal or above 1 and equal or below 10

> AND <

Acima de N1 e Abaixo de N2

> AND <,1-10,Above 1 and below 10

>= AND <=

Igual a Entre. Acima ou igual a N1 e Abaixo ou igual a N2

>= AND <=,1-10,Above or equal to 1 and below or equal to 10

>= AND <

Acima ou igual a N1 e Abaixo de N2

>= AND <,1-10,Above or equal to 1 and below 10

> AND <=

Acima de N1 e Abaixo ou igual a N2

> AND <=,1-10,Above 1 and below or equal to 10

> OR <

Acima de N1 ou Abaixo de N2

> OR <,1-10

Acima de 1 ou abaixo de 10

>= OR <=

Acima ou igual a N1 ou Abaixo ou igual a N2

>= OR <=,100-10,Above or equal to 100 or below or equal to 10

>= OR <

Acima ou igual a N1 ou Abaixo de N2

>= OR <,10-1,Above or equal to 10 or below 1

> OR <=

Acima de N1 ou Abaixo ou igual a N2

> OR <=,100-10,Above 100 or below or equal to 10

>= OR !=

Acima ou igual a N1 ou diferente de N2

>= OR !=,10-1,Above or equal to 10 or not equal to 1

<= OR !=

Abaixo ou igual a N1 ou diferente de N2

<= OR !=,10-100,Below or equal to 10 or not equal to 100

>= OR =

Acima ou igual a N1 ou igual a N2

>= OR =,10-1,Above or equal to 1 or equal to 1

<= OR =

Abaixo ou igual a N1 ou igual a N2

<= OR =,10-100,Below or equal to 10 or equal to 100

> AND !=

Acima de N1 e diferente de N2

> AND !=,10-100,Above 10 and not equal to 100

< AND !=

Abaixo de N1 e diferente de N2

< AND !=,10-1,Below 10 and not equal to 1

Usar Comentários ao Definir Lookups de Dicionário

Use # como primeiro campo para adicionar comentários a um lookup de dicionário. Veja a seguir um exemplo de lookup de amostra com comentários:

Operator,Condition,Label,Module
# ----------------------------------
# Startup/Shutdown and Terminations
# ----------------------------------
CONTAINS,Server started in RUNNING mode,Server Started,WebLogic Server
CONTAINS,A critical service failed. The server will shut itself down,Server Shutdown,WebLogic Server
CONTAINS,state changed to FAILED,Server Failed,
CONTAINS,Removing .* from cluster view due to PeerGone,Cluster Removed,WebLogic Server
# ----------------------
# Connection Error / Timeouts and Slowness
# ----------------------
CONTAINS,Unable to connect to WSM policy manager,WSM Policy Manager Connection Error,
CONTAINS REGEX,java.sql.SQLTimeoutException: \S+: user requested cancel of current operation,SQL Timeout,Database
CONTAINS,This member is running extremely slowly and may endanger the rest of the cluster,WebLogic Cluster Slowness,WebLogic Server

Usar Lookup de Dicionário em uma Consulta

Você pode usar o mesmo dicionário em várias consultas. Por exemplo, a consulta a seguir aplica o mesmo dicionário ao campo Message e mostra os resultados acumulados usando a visualização Gráfico de Pizza:

'Log Source' = 'Linux Syslog Logs'
| lookup table = 'Linux Error Categories' select Issue, Area using Message
| stats count by Area

Usar Lookup de Dicionário em uma Consulta

Permitir que os Usuários Executem Todas as Operações em Pesquisas

resource-type individual: loganalytics-lookup

Parte do resource-type agregado: loganalytics-features-family

Declaração de Política de Recursos se a Política Familiar Não estiver Definida:

Caso de Uso Políticas de IAM

A pesquisa pode estar na tenancy

allow group <user_group> to READ loganalytics-lookup in tenancy

Restrinja a permissão para a pesquisa a um compartimento específico.

allow group <user_group> to READ loganalytics-lookup in compartment <compartment_name>

Observe que, para que a instrução de política acima restrinja a permissão ao recurso de pesquisa com o escopo necessário (tenancy ou compartimento) para funcionar, não deve haver nenhuma outra instrução de política que abranja a família de tipos de recursos e um escopo maior.

Observação

Se você quiser impedir que um usuário exiba o conteúdo de uma pesquisa, mesmo indiretamente, esse usuário NÃO DEVE receber permissão para:

  • Fazer upload de logs
  • Exibir os logs que contêm os campos enriquecidos usando essas pesquisas restritas

As seguintes operações podem ser executadas com cada verbo quando você cria uma política do serviço IAM para loganalytics-lookup:

Inspect Read Use Manage

Não Aplicável

Não Aplicável

Registrar uma pesquisa

Gerenciar tem o mesmo nível de permissões e operações de API que Usar.

Geralmente, somente os administradores têm permissões USE e MANAGE para criar ou excluir lookup. Se quiser que os privilégios executem consultas de pesquisa, você precisará da permissão READ.

Declaração de Política Familiar Agregada que Abrange a Permissão do Recurso de Pesquisa:

Caso de Uso Políticas de IAM

A pesquisa pode estar na tenancy

allow group <user_group> to read loganalytics-features-family in tenancy
Observação

Se você ativou o Oracle Logging Analytics usando a interface de usuário de admissão que está disponível quando você navega até o serviço pela primeira vez, algumas políticas já serão criadas. Consulte Políticas Criadas Durante a Integração do Logging Analytics.

Permissões para Usar Recursos de Pesquisa

Geralmente, somente os administradores têm permissões USE e MANAGE para criar ou excluir lookup. Se quiser que os privilégios executem consultas de pesquisa, você precisará da permissão READ.

Se você já estiver usando o Log Explorer, SDKs ou a CLI para executar as consultas, já terá as permissões necessárias para executar comandos de consulta searchlookup ou lookup nas pesquisas existentes definidas pela Oracle e criadas pelo usuário.

Se você estiver usando o controlador de instâncias para executar as consultas, forneça a seguinte permissão se ainda não tiver fornecido acesso loganalytics-features-family ao grupo dinâmico:

Allow dynamic-group <dynamic-group-name> to {LOG_ANALYTICS_LOOKUP_READ} in tenancy

OU

Allow dynamic-group <dynamic-group-name> to {LOG_ANALYTICS_LOOKUP_READ} in compartment <compartment_name>