Pesquisa de Consulta

O Oracle Logging Analytics permite que você filtre e analise grandes volumes de dados de log entre seus bancos de dados empresariais, por meio de uma exibição única, unificada e personalizável e de fácil leitura e navegação. Use o recurso de Pesquisa incorporado para filtrar todos os dados de log disponíveis e retornar entradas de log específicas.

A Pesquisa do Oracle Logging Analytics ajuda a fazer drill-down de entradas de log específicas, permitindo a análise e o monitoramento focados na sua empresa. Use a linguagem de consulta do Oracle Logging Analytics para formular suas consultas de Pesquisa, que vão recuperar entradas de log específicas do problema que você está resolvendo.

A linguagem de consulta para analisar os logs permite especificar qual ação executar nos resultados da pesquisa. Os comandos podem ser de pesquisa ou estatísticos. Os comandos de pesquisa são aqueles que filtram melhor as entradas de log disponíveis. Os comandos estatísticos executam operações estatísticas nos resultados da pesquisa. Para obter a lista completa de comandos, sua sintaxe e exemplos para usá-los, consulte Referência de Comando.

A linguagem de consulta do Oracle Logging Analytics permite:

  • Filtrar e explorar todos os dados de log disponíveis

  • Executar análise de causa raiz

  • Executar análise estatística nas entidades selecionadas

  • Gerar relatórios

  • Salvar consultas de pesquisa para uso posterior

  • Recuperar pesquisas salvas para criar painéis de controle

Você pode construir sua consulta de Pesquisa arrastando elementos do painel Campo e soltando-os nas seções apropriadas da coluna Visualizar ou digitando sua consulta diretamente no campo Pesquisar. Para obter mais informações sobre como utilizar a interface do usuário para formular suas consultas, verifique Formular Consultas Utilizando a Interface de Usuário do Logging Analytics.

Para gravar consultas de desempenho usando o comando regex, consulte a sintaxe RE2J em Implementação de Java de RE2.

Usar Assistente de Ajuda da Consulta

O Logging Analytics agora oferece ajuda ativa para aprender rapidamente a escrever consultas e também fornece um vasto conjunto de consultas de exemplo para análise avançada.

Clique no ícone de ajuda Ícone de ajuda da consulta ao lado da barra de consultas no Log Explorer para abrir o assistente de ajuda da consulta. Em minutos, você pode entender o formato e a sintaxe das consultas que pode compor. Execute as consultas de exemplo desde a pesquisa muito básica até a análise avançada e familiarize-se com a referência da consulta. O assistente fornece algumas dicas e atalhos para tornar sua pesquisa eficiente. Você também pode exibir o resultado da execução de alguns dos comandos comuns para seus casos de uso típicos.

Pesquisar Logs Usando Palavras-chave e Frases

Você usa comandos para recuperar dados de log, bem como para executar a manipulação desses dados. O primeiro (e implícito) comando em uma consulta é o comando de pesquisa. Pesquisa é uma série de comandos delimitados por um caractere de barra vertical (|). A primeira string com espaços em branco após o caractere de barra vertical identifica o comando a ser usado. O caractere de barra vertical indica que os resultados do comando anterior devem ser usados como entrada para o próximo comando.

Por exemplo, para procurar todas as mensagens de erro do banco de dados, digite a seguinte expressão lógica na barra Pesquisar do Oracle Logging Analytics:

Severity = 'error' AND 'Entity Type' = 'Database Instance'

Ao colocar as palavras entre aspas e incluí-las na string de consulta como frase (‘Database Instance’, por exemplo), apenas os logs que contêm a frase ‘Database Instance’ são retornados. Além disso, a palavra-chave que pesquisa onde a substring poderia ser interpretada como diretiva distinta deve ser específica entre aspas. Por exemplo, para procurar a string and, digite a string entre aspas simples (‘and’) para impedir que o sistema use seu significado booliano.

Para obter mais exemplos e detalhes sobre como usar a linguagem de consulta para pesquisar os logs, consulte Criar Consultas de Pesquisa.

Listar as Pesquisas Recentes

O Oracle Logging Analytics permite que você selecione e execute uma pesquisa usada recentemente. Quando você clica no campo Pesquisa ou digita texto no campo Pesquisa, o Oracle Logging Analytics exibe uma lista de pesquisas usadas recentemente. Isso permite acessar rapidamente comandos de pesquisa usados recentemente. Você pode selecionar qualquer um dos comandos listados e clicar em Executar para executar o comando de pesquisa selecionado.

Observação

A lista usada recentemente está disponível por sessão. Portanto, se você sair do Oracle Logging Analytics e acessá-lo novamente, a lista da sessão anterior não será exibida. Uma nova lista de pesquisas recentes é criada para sua sessão.

Usar o Recurso de Sugestão Automática

Quando você digita uma consulta no campo Pesquisar, o recurso de sugestão automática do Oracle Logging Analytics sugere automaticamente termos que você pode usar na sua consulta. O Oracle Logging Analytics exibe uma lista de sugestões, com base no texto digitado no campo Pesquisar. Por exemplo, se você tiver digitado o nome de um campo ou uma ação de pesquisa, o recurso de sugestão automática só exibirá os valores possíveis para esse campo ou a lista de ações disponíveis.

Criar Consultas de Pesquisa

Você pode especificar entidades, palavras-chave, frases ou curingas, operadores de comparação, expressões boolianas, funções e tempo para criar sua consulta de pesquisa do Oracle Logging Analytics.

Para usar o recurso Pesquisar no Oracle Logging Analytics, formule uma consulta de pesquisa e digite-a no campo Pesquisar.

Utilizar a Interface de Usuário do Logging Analytics

A interface de usuário do Oracle Logging Analytics permite que você formule sua consulta de Pesquisa.

Você pode usar os seguintes elementos da interface de usuário para formular sua consulta de Pesquisa:

  • Barra de pesquisa: Sua consulta de pesquisa é exibida aqui. Você pode editar diretamente o texto nesse campo para refinar ainda mais os resultados da pesquisa.

    A barra de pesquisa cresce ou diminui com base no número de linhas adicionadas à consulta. Ela pode ter no máximo 21 linhas e no mínimo 1 linha. Alguns dos atalhos personalizados disponíveis são:

    • Ctrl + i: Recuar cada linha de texto presente no editor. Observe que a letra maiúscula I abre o depurador.
    • Ctrl + Enter: Executar a consulta exibida no editor
    • Ctrl + Space: Exibe a lista de preenchimento automático de opções com base na posição do cursor
    • Ctrl + Z: Desfazer a última edição
    • Ctrl + Y: Refazer a última edição
    • Ctrl + D: Excluir a linha atual

    Observação: Não use a tecla SHIFT, a menos que seja especificada.

    Posicione o cursor nos colchetes de abertura ou de fechamento para exibir o elemento correspondente destacado. Os elementos que podem ser destacados são ( ) e [ ].

    A barra de pesquisa suporta dois temas diferentes, cor e escala de cinza. Você pode alterar os temas dinamicamente alterando a opção na pop-up de ajuda.

  • Campo: O painel Campo é dividido nas seguintes seções:

    • Os atributos Fixados permitem filtrar dados de log com base em:

      • Origens de log, como logs de banco de dados, logs do Oracle WebLogic Server e assim por diante.

      • Entidades de log, que são os nomes de arquivo de log reais.

      • Labels, que são tags adicionadas às entradas do log quando as entradas do log correspondem a condições definidas específicas.

      • Faça upload de nomes de dados de log carregados sob demanda.

      Por padrão, as entidades e os detalhes da coleção estão disponíveis no bucket Fixado do painel Campos para filtragem. Você pode fixar campos adicionais no bucket Fixado, dependendo do seu uso. Depois de fixados, os campos são movidos para o bucket Fixado. Você pode desafixar qualquer campo e removê-lo do bucket Fixado e movê-lo de volta para o bucket de Interesse ou Outros.

    • Com base em sua pesquisa e consultas, o Oracle Log Analytics adiciona automaticamente campos ao bucket de Interesse para sua referência rápida. Você pode fixar um campo disponível no bucket de Interesse. O campo fixado é movido para o bucket Fixado.

    • Você pode fixar qualquer campo no bucket Outro e movê-lo para o bucket Fixado. Se você usar um campo do bucket Outros em sua pesquisa ou consulta, ele será movido para o bucket de Interesse.

      As opções selecionadas são adicionadas automaticamente à consulta na barra Pesquisar.

  • Visualizar: Nesse painel, você pode selecionar como prefere exibir os resultados da pesquisa. No campo Agrupar por, você pode decidir por quais métricas agrupar os resultados.

  • Salvar: Use esse botão para salvar a consulta de pesquisa que está atualmente no campo Pesquisar para ser executada posteriormente.

  • Abrir: Use esse botão para exibir consultas de pesquisa salvas anteriormente. Você pode executar essas consultas e obter os resultados atuais ou usá-las para criar painéis de controle.

  • Novo: Use esse botão para iniciar uma nova consulta de pesquisa.

  • Exportar: Use esse botão para exportar o resultado da consulta de pesquisa atual em um arquivo no formato Comma-seperated Values (CSV) ou JavaScript Object Notation (JSON).

  • Executar: Use esse botão para executar a consulta que está atualmente no campo Pesquisar.

  • Seletor de Horário: Use o Seletor de Horário para especificar o período.

  • Painel de Visualização: Os resultados da consulta de pesquisa são exibidos nesse painel. As informações filtradas nesse painel são carregadas quando a consulta no campo Pesquisar é executada. Clicando em qualquer área do gráfico no painel de visualização, você pode fazer drill-down na consulta de pesquisa e atualizá-la.

Usar Palavras-chave, Frases e Curingas

As consultas de string podem incluir palavras-chave e frases. Uma palavra-chave é uma única palavra (por exemplo, database), enquanto uma frase se refere a várias palavras, entre aspas simples (‘ ‘) ou duplas (“ “) (por exemplo, ‘database connection’). Se você especificar uma palavra-chave ou uma frase em sua consulta, todas as entradas de log contendo a palavra-chave ou frase especificada serão retornadas após a execução da consulta.

A linguagem de pesquisa do Oracle Logging Analytics também suporta o mapeamento de padrões especiais. Em outras palavras, você pode usar caracteres curinga, como asterisco (*), ponto de interrogação (?) e porcentagem (%), para completar palavras-chave.

A tabela a seguir lista os caracteres curinga suportados e fornece uma breve descrição de cada um.

Caractere Curinga Descrição

?

Use esse caractere para corresponder exatamente a um caractere das possibilidades à palavra-chave. Por exemplo, se você digitar host?, a palavra-chave host1 será considerada uma correspondência, enquanto host.foo.bar não.

* ou %

Use um desses caracteres para corresponder a 0 ou mais caracteres das possibilidades à palavra-chave. Por exemplo, se você digitar host* ou host%, host1 e host.foo.bar serão considerados correspondentes à palavra-chave. Da mesma forma, se você digitar %host%, ahostb e myhost serão considerados correspondentes à palavra-chave especificada.

Você pode especificar várias palavras-chave. Por exemplo, database e connection. Os logs que contêm as palavras database e connection (mas não necessariamente juntos) são retornados. No entanto, essas palavras não precisam necessariamente ocorrer de forma consecutiva. No entanto, ao colocar as palavras entre aspas e incluí-las na string de consulta como frase (‘database connection’, por exemplo), somente os logs que contiverem a frase ‘database connection’ serão retornados. Para saber como usar várias palavras-chave, consulte Usar Expressões Boolianas.

Ao especificar uma palavra-chave ou frase, lembre-se do seguinte:

  • Palavras-chave e strings de frase não diferenciam maiúsculas de minúsculas.

  • As palavras-chave que não estão entre aspas devem conter somente caracteres alfanuméricos, sublinhado (_) e caracteres curinga (*, % e ?).

  • As pesquisas de palavra-chave em que a substring poderia ser interpretada como diretiva distinta devem ser específicas entre aspas. Por exemplo, para procurar a string and, digite-a entre aspas simples (‘and’) para impedir que o sistema selecione seu significado booliano.

Observação

Para usar curingas com o campo message, utilize também LIKE ou LIKE IN. Veja a seguir exemplos de uso de curingas com message.
ORA-* AND message LIKE 'connection* error*'
ORA-* AND message LIKE IN ('tablesp*','connection* error*')

Usar Operadores de Comparação

Os operadores de comparação são condições que você especifica para estabelecer um relacionamento entre um campo e seu valor. Os campos sem valores são considerados nulos.

A tabela a seguir lista os operadores de comparação suportados e fornece uma breve descrição de cada um.

Operador de Comparação Descrição
< Se você usar esse operador na sua consulta, todas as entradas de log com um valor, para o campo correspondente, menor que o valor especificado, serão retornadas.
<= Se você usar esse operador na sua consulta, todas as entradas de log com um valor, para o campo correspondente, menor ou igual ao valor especificado, serão retornadas.
> Se você usar esse operador na sua consulta, todas as entradas de log com um valor, para o campo correspondente, maior que o valor especificado, serão retornadas.
>= Se você usar esse operador na sua consulta, todas as entradas de log com um valor, para o campo correspondente, maior que ou igual ao valor especificado, serão retornadas.
= Se você especificar esse operador na sua consulta, todas as entradas de log com um valor, para o campo correspondente, igual ao valor especificado, serão retornadas.
!= Se você especificar esse operador na sua consulta, todas as entradas de log com um valor, para o campo correspondente, diferente do valor especificado, serão retornadas.

Use esses operadores para localizar logs com campos que tenham valores específicos. Por exemplo, especifique Severity=’ERROR’ para pesquisar pelos logs disponíveis nos quais o valor do campo Severity é ERROR. Da mesma forma, Severity!=NULL retorna todos os logs em que o valor do campo Severity não é nulo (em outras palavras, em que a severidade foi especificada).

Observação

O valor à direita do operador de comparação deverá ser especificado entre aspas se o valor não for numérico ou NULL.

Usar Expressões Boolianas

O recurso de Pesquisa do Oracle Logging Analytics tem os recursos de LIKE e REGEX, de acordo com as convenções padrão. As Expressões Boolianas podem ter um valor true ou false.

A tabela a seguir lista as Expressões Boolianas suportadas, com uma breve descrição de cada uma.

Expressão Booliana Descrição
AND Use essa expressão para exibir apenas os logs que contêm os dois parâmetros especificados.
NOT IN ou IN Use essa expressão para localizar dados que estejam em um subconjunto especificado de dados disponíveis. Por exemplo, ‘Entity Type’ IN (‘Database Instance’,‘Automatic Storage Management’,’Listener’,’Cluster’) primeiro considera somente os logs que contêm ‘Database Instance’, ‘Automatic Storage’, Listener ou Cluster e, em seguida, identifica os logs que contêm ‘Entity Type’. No entanto, quando você usa NOT IN, as entradas de log com a palavra-chave ou frase especificada são retornadas, excluindo as entradas especificadas. Por exemplo, ‘Entity Type’ NOT IN (‘Database Instance’,’Automatic Storage Management’,’Listener’,’Cluster’) primeiro filtra as entradas de log com ‘Database Instance’, ‘Automatic Storage Management’, Listener e Cluster e retorna as entradas de log nas quais o valor ‘Target Type’ não é um dos valores especificados.

A palavra reservada NULL é suportada com este operador booliano.

NOT LIKE ou LIKE Use essa expressão para localizar dados correspondentes ou não correspondentes ao padrão de caracteres especificado. O padrão de caracteres é uma string que pode conter um ou mais caracteres curinga.
NOT LIKE IN ou LIKE IN Semelhante a [NOT] IN, essa expressão permite usar uma redução para expressar várias cláusulas LIKE juntas.
OR Use essa opção para exibir os logs que contêm um dos parâmetros especificados.

A linguagem de Pesquisa do Oracle Logging Analytics suporta a aninhamento de expressões booleanas em outras expressões booleanas. Por exemplo, considere a seguinte consulta:

fatal ('order' OR host LIKE '*.oracle.com')

A execução dessa consulta retorna todos os logs que contêm fatal e contêm a palavra-chave order ou originada de um host cujo nome termina com .oracle.com.

Formular Consultas Utilizando a Interface de Usuário do Logging Analytics

Você pode usar a interface de usuário do Oracle Logging Analytics para formular sua consulta de Pesquisa.

Por padrão, a consulta * | stats count by ‘log source’ é especificada no campo Pesquisar.

Para exibir dados de Entidades específicas, conclua as seguintes etapas:

  1. Abra o menu de navegação e clique em Observabilidade e Gerenciamento. Em Logging Analytics, clique em Explorador de Logs.

  2. No cabeçalho Entidades no painel Campos, selecione Entidade ou Tipo de Entidade, dependendo de como você deseja exibir as entidades. Isso agrupa os bancos de dados registrados com base na seleção feita. Por exemplo, se você selecionar Tipo de Entidade, as entidades selecionadas serão agrupadas de acordo com seus tipos.

  3. Selecione a Entidade ou o Tipo de Entidade cujos dados você deseja exibir.

  4. Clique em Submeter.

    O botão limpar aparece ao lado da entidade selecionada e os dados são exibidos no painel de visualização.

Para exibir dados de um Campo específico, conclua as seguintes etapas:

  1. Selecione o tipo de campo no painel Campos e, em atributos Fixados, Interesse ou Outros.

  2. Selecione Label, Entidade de Log, Origem de Log, Proprietário ou Nome de Upload cujos dados você deseja exibir. Você pode selecionar mais de um Label, Entidade de Log, Origem de Log, Proprietário ou Nome de Upload.

  3. Clique em Submeter.

    Os dados do campo são carregados no painel de visualização.

Especificar o Intervalo de Tempo na Consulta

Normalmente, o intervalo de tempo selecionado no Log Explorer não é incluído na string de consulta. Você pode especificar o intervalo de tempo na consulta usando o modificador tempo absoluto ou tempo relativo no comando search.

Observação

No caso da Pesquisa Salva, o intervalo de tempo selecionado no Log Explorer durante a criação da pesquisa salva é armazenado como um dos componentes da Pesquisa Salva. Ao usar a pesquisa salva, você pode editar o tempo usando o seletor de intervalo de tempo no Log Explorer.

Por outro lado, quando o intervalo de tempo é especificado em uma consulta, o intervalo de tempo selecionado no Log Explorer é ignorado. O intervalo de tempo incluído na consulta é usado para análise de log. Quando você salva essa consulta como Pesquisa Salva, o intervalo de tempo especificado na consulta é considerado para tarefas de Pesquisa Salva, e não o tempo especificado no Log Explorer.

Alguns exemplos em que um intervalo de tempo pode ser especificado na consulta:

  • Retorne todos os logs de erro ORA-600 descobertos nas últimas 24 horas:

    Message like 'ORA-600%' and time > dateRelative(24h)
  • Retorne a contagem de logs do destino do host myHost nos últimos 90 dias:

    'Host Name (Server)' = myHost and Time > dateRelative(90day) | stats count as 'Num Host Logs'

Funções baseadas em tempo que podem ser usadas com o comando search

As seguintes funções baseadas na hora podem ser usadas somente com o comando search:

  • toDate: Este é o tempo absoluto, por exemplo, 2014-07-15T16:24:51.000Z ou '2014-07-12', 'yyyy-MM-dd'.

    Sintaxe para toDate: toDate(<time>).

  • dateRelative: Cria uma data relativa à data atual, por exemplo, 12h ou 2d, day.

    Sintaxe para dateRelative: dateRelative(<timespan>, <rounding interval>) em que o arredondamento é baseado no horário UTC.

  • dateadd: Adiciona unidades de tempo à data especificada, por exemplo, adicione Day, 2 a toDate('2024-05-12', 'yyyy-MM-dd')

    Sintaxe para dateadd: dateadd(<date>, <unit>, <amount>).

  • dateset: Altera uma data pelas unidades de tempo. Por exemplo, toDate('2015-08-12', 'yyyy-MM-dd') foi alterado com year, 2014, month, 7

    Sintaxe para dateset: dateset(<date>, <unit>, <value> [, <unit>,<value>]).

Os critérios de tempo podem ser expressos usando os operadores de comparação =, !=, <, <=, >, >= e o operador lógico and.

Unidades de tempo suportadas

  • All Time

    Exemplo JSON equivalente: "timeFilter": { "type" : "relative", "timeUnit" : "allTime" }

  • Segundo: s, seg, segs, segundo, segundos

  • Minuto: m, min, min, minuto, minutos

    Exemplo: Last 60 minutes

    Exemplo JSON equivalente: "timeFilter": { "type" : "relative", "duration" : "60", "timeUnit" : "minutes" }

  • Hora: h, h, h, hora, horas

  • Dia: d, dia, dias

  • Semana: w, semana, semanas

  • Mês: seg, mês, meses

  • Ano: s, ano, anos, ano, anos

Um exemplo para a data absoluta no formato JSON é "timeFilter": { "type" : "absolute", "startTime" : "2015-04-26T08:00:00.000Z", "endTime" : "2015-04-27T08:00:00.000Z" }.

Exemplos de intervalo de tempo em consultas

A consulta a seguir procura tudo entre 2 datas absolutas especificadas no formato padrão ISO:

time between '2014-07-15T16:24:51.000Z' and '2014-07-17T18:14:16.000Z'

Consulte ISO 8601: FORMATO DE DATA E HORA.

A seguinte consulta pesquisa tudo com base em 2 datas absolutas que não são o formato padrão ISO:

time between toDate('2014-07-12', 'yyyy-MM-dd') and toDate('2014-07-15', 'yyyy-MM-dd')

A consulta a seguir pesquisa tudo, exceto as últimas 12 horas (* no lado esquerdo da expressão between representa nova Data(0), * à direita é agora):

time between * AND dateRelative(12h)

A consulta a seguir pesquisa tudo nas últimas 12 horas:

time > dateRelative(12h)

A consulta a seguir pesquisa tudo nos últimos 30 minutos arredondados para começar do início da hora:

time > dateRelative(30min, hour)

A consulta a seguir procura registros com data anterior a 12 de julho de 2014:

time < dateAdd(toDate('2014-07-22', 'yyyy-MM-dd'), day, -10)

A consulta a seguir procura registros com data posterior a 10 de junho de 2010:

time > dateSet(toDate('2015-08-10', 'yyyy-MM-dd'), year, 2010, month, 6)

Criar Subconsultas

As subconsultas permitem que a consulta filha forneça um filtro dinâmico para as consultas mães. As subconsultas são avaliadas primeiro e depois o resultado é usado na consulta mãe.

  • Você pode aninhar subconsultas entre si e uma consulta específica com várias subconsultas no mesmo nível.
  • As subconsultas por padrão herdam a faixa de tempo global, mas você poderá substituí-la usando a sintaxe time between T1 and T2, se necessário.
  • As subconsultas estão restritas a retornar para sua mãe apenas as primeiras 2.000 correspondências como entrada. Os outros resultados são truncados.
  • Elas têm um timeout máximo de 30 segundos para serem concluídas.
  • Todos os campos retornados por uma subconsulta devem corresponder aos campos da consulta mãe por nome. Caso contrário, resultará em um erro.
  • Só é possível usar subconsultas dentro de um comando de pesquisa.
  • Você pode usar todos os comandos em uma subconsulta, exceto cluster, clustersplit, clustercompare, fieldsummary, delete, classify, highlight e highlightrows.

Exemplos:

  • Projetar o tráfego da lista de bloqueio de IP ao longo do tempo:
    [searchlookup table=ip_blacklist | distinct ip | rename ip as 'host address'] | timestats count
  • Listar os produtos mais comprados dos principais usuários de um site de e-commerce:
    'Log Source'='WLS Access Logs' status=200 action=purchase ['Log Source'='WLS Access Logs' status=200 action=purchase | stats count by 'Host (Client Address)' | top limit=1 'Host(Client Address)' | fields -*, 'Host (Client Address)'] | lookup table=products select 'product name' using productid | stats count, distinctcount(productId), unique('product name') by 'Host (Client Address)'
  • Localizar os 4 Principais IDs de Processo do Sistema Operacional com a soma mais alta:
    [ *|stats sum('OS Process ID') as OSprocessidSum by 'OS Process ID' | top 4 OSprocessidSum | fields -OSprocessidSum ] | stats count by 'OS Process ID', 'Log Source', 'Host Name(Server)'
  • Mostrar todos os logs do destino com a maioria dos logs de severidade fatal:
    * and [ Severity = fatal | stats count by Target | top limit = 1 Count | fields -Count]