Pesquisa de Consulta
O Oracle Log Analytics permite filtrar e analisar grandes volumes de dados de log em seus bancos de dado empresariais, por meio da exibição única, unificada e personalizável, fácil de ler e navegar. Use o recurso de Pesquisa incorporado para filtrar todos os dados de log disponíveis e retornar entradas de log específicas.
O Oracle Log Analytics Search ajuda você a fazer drill-down para entradas de log específicas, permitindo análise e monitoramento com foco em sua empresa. Use o idioma de consulta do Oracle Log Analytics para formular suas consultas de Pesquisa, que recuperará entradas de log específicas para o problema que você estiver solucionando problemas.
A linguagem de consulta para analisar os logs permite que você especifique qual ação executar nos resultados da pesquisa. Os comandos podem ser comandos de pesquisa ou comandos 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 da Linguagem de Consulta.
A linguagem de consulta do Oracle Log 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 usar a interface do usuário para formular suas consultas, consulte Formular Consultas Usando a Interface do Usuário do Log Analytics.
Para gravar consultas de desempenho usando o comando regex, consulte a sintaxe RE2J em Implementação Java de RE2.
Usar Assistente de Ajuda de Consulta
O Log 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
ao lado da barra de consulta no Log Explorer para abrir o assistente de ajuda de 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.
Tópicos:
Consulte também Filtrar Logs por Máscara de Hash.
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 dado, informe a seguinte expressão lógica na barra Pesquisar do Oracle Log 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 Log Analytics permite que você selecione e execute uma pesquisa usada recentemente. Quando você clica no campoPesquisar ou digita texto no campoPesquisar, o Oracle Log 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.
A lista usada recentemente está disponível por sessão. Portanto, se você sair do Oracle Log Analytics e, em seguida, acessar 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 Log Analytics sugere automaticamente termos que podem ser usados na sua consulta. O Oracle Log Analytics exibe uma lista de sugestões, com base no texto que você informou 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, operadoras de comparação, expressões boolianas, funções e tempo para criar a consulta da pesquisa Oracle Log Analytics.
Para usar o recurso Pesquisar no Oracle Log Analytics, formule uma consulta de pesquisa e informe-a no campo Pesquisar.
Tópicos:
Consulte também Parâmetros de URL do Log Explorer.
Usar a Interface do Usuário do Log Analytics
A interface do usuário do Oracle Log 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úsculaIabre o depurador.Ctrl + Enter: Executar a consulta exibida no editorCtrl + Space: Exibe a lista de preenchimento automático de opções com base na posição do cursorCtrl + Z: Desfazer a última ediçãoCtrl + Y: Refazer a última ediçãoCtrl + 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) ouJavaScript 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 língua de pesquisa do Oracle Log Analytics também suporta o mapeamento de padrão especial. 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 |
|
|
Use um desses caracteres para corresponder a 0 ou mais caracteres das possibilidades à palavra-chave. Por exemplo, se você digitar |
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.
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).
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 Oracle Log Analytics Search tem os recursos 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 |
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 Oracle Log Analytics Search suporta o 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 Usando a Interface do Usuário do Log Analytics
Você pode usar a interface do usuário do Oracle Log Analytics para formular a 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:
-
Abra o menu de navegação e clique em Observabilidade e Gerenciamento. Em Log Analytics, clique em Log Explorer.
-
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.
-
Selecione a Entidade ou o Tipo de Entidade cujos dados você deseja exibir.
-
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:
-
Selecione o tipo de campo no painel Campos e, em atributos Fixados, Interesse ou Outros.
-
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.
-
Clique em Submeter.
Os dados do campo são carregados no painel de visualização.
Especifique o Intervalo de Tempo em sua 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 em sua consulta usando o modificador tempo absoluto ou tempo relativo no comando search.
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 a hora 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 nos quais um intervalo de tempo pode ser especificado na consulta:
-
Retorna todos os logs de erro ORA-600 descobertos nas últimas 24 horas:
Message like 'ORA-600%' and time > dateRelative(24h) -
Retorna 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 em tempo só podem ser usadas com o comando search:
-
toDate: Este é o tempo absoluto, por exemplo,2014-07-15T16:24:51.000Zou'2014-07-12', 'yyyy-MM-dd'.Sintaxe do
toDate:toDate(<time>). -
dateRelative: Cria uma data relativa à data atual, por exemplo,12hou2d, 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, adicioneDay, 2atoDate('2024-05-12', 'yyyy-MM-dd')Sintaxe do
dateadd:dateadd(<date>, <unit>, <amount>). -
dateset: Altera uma data pelas unidades de tempo. Por exemplo,toDate('2015-08-12', 'yyyy-MM-dd')alterado comyear, 2014, month, 7Sintaxe do
dateset:dateset(<date>, <unit>, <value> [, <unit>,<value>]). now: Data e hora atual.Sintaxe do
now:now().
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 TimeExemplo JSON equivalente:
"timeFilter": { "type" : "relative", "timeUnit" : "allTime" } -
Segundo: s, seg, segs, segundo, segundos
-
Minuto: m, min, min, minuto, minutos
Exemplo:
Last 60 minutesExemplo JSON equivalente:
"timeFilter": { "type" : "relative", "duration" : "60", "timeUnit" : "minutes" } -
Hora: h, h, h, horas, horas
-
Dia: d, dia, dias
-
Semana: w, semana, semanas
-
Mês: mês, mês, meses
-
Ano: ano, 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: DATE AND TIME FORMAT.
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 procura tudo, exceto as últimas 12 horas (* no lado esquerdo da expressão between representa new Date(0), * no lado direito é agora):
time between * AND dateRelative(12h)
A seguinte consulta pesquisa tudo nas últimas 12 horas:
time > dateRelative(12h)
A consulta a seguir pesquisa tudo nos últimos 30 minutos arredondado para começar do início da hora:
time > dateRelative(30min, hour)
A seguinte consulta procura registros com data anterior a 12 de julho de 2014:
time < dateAdd(toDate('2014-07-22', 'yyyy-MM-dd'), day, -10)
A seguinte consulta procura registros com data posterior a 10 de junho de 2010:
time > dateSet(toDate('2015-08-10', 'yyyy-MM-dd'), year, 2010, month, 6)
A consulta a seguir pesquisa registros com a data do último login anterior à hora atual:
'Upload Name' = idcs_dev8_dormant_upload and 'Last Login Date' < now()A seguinte consulta pesquisa os dados das últimas 24 horas:
time between daterelative(1d) and now()A consulta a seguir pesquisa entre um timestamp absoluto e agora:
time between '2015-06-15T00:00:00.000Z' and now()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,highlightehighlightrows.
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]
Funções de Pesquisa
Você pode usar as seguintes funções em suas consultas de pesquisa:
| Função | Descrição | Exemplo |
|---|---|---|
|
|
Pesquisa o valor codificado md5 |
md5("hash my input") |
|
|
Pesquisa o valor codificado sha1 |
sha1("hash my input") |
|
|
Pesquisa o valor codificado sha256 |
sha256("hash my input") |
|
|
Pesquisa o valor codificado sha512 |
sha512("hash my input") |
|
|
Pesquisa o valor codificado Base64 |
encode64("my input") |
|
|
Pesquisa o valor decodificado Base64 |
decode64("encoded input") |
|
|
Observação: Isso é equivalente a (condition1 OU condition2 OU ... conditionN) Nota: Também pode ser usada em eval/onde |
|
|
|
Observação: Isso é equivalente a (condition1 E condition2 E ... conditionN) Nota: Também pode ser usada em eval/onde |
|
|
|
Nota: Isso é equivalente a (field1 = valor OU field2 = valor OU ...) Nota: Também pode ser usada em eval/onde |
anyFields('Project*) != nullTraduz para ('ID do Projeto' != nulo ou 'Nome do Projeto' != nulo ou 'Descrição do Projeto' != nulo) |
|
|
Nota: Isso é equivalente a (field1 = valor E field2 = valor OU ...) Nota: Também pode ser usada em eval/onde |
allFields('Project*) != null
Traduz para ('ID do Projeto' != nulo e 'Nome do Projeto' != nulo e 'Descrição do Projeto' != nulo) |
Mais exemplos para anyof() e allof():
-
Corresponde aos logs que têm qualquer uma destas palavras
adm,logoffouuser:anyof(adm, logoff, user) -
Corresponde aos logs que têm todas estas palavras
adm,logoffouuser:allof(adm, logoff, user) -
Corresponde aos logs que NÃO têm uma das palavras
oracleouactivee têm o valor não nulo para o campo severidade.severity != null not anyof(oracle, active) -
Corresponde aos logs que NÃO têm as duas palavras
oracleouactivee têm um valor não nulo para o campo severidade.severity != null not allof(oracle, active) -
Retorna os valores de severidade que começam com
dou começam comf:* | distinct Severity | where anyof(substr(severity, 0, 1) = d, substr(severity, 0, 1) = f) -
Retorna os valores de severidade que começam com
fe sãonot fatal:* | distinct Severity | where allof(severity != fatal, substr(severity, 0, 1) = f)
Mais exemplos para allfields() e anyfields():
-
Retorna logs nos quais todos os campos que começam com a string
tar(por exemplo: Destino, Guid de Destino, Tipo de Destino) não são nulos:allfields(tar*) != null -
allfieldsé a função padrão e a consulta acima pode ser gravada em poucas palavras da seguinte forma:'tar*' != null -
Retorna logs nos quais qualquer um dos campos que começam com
taré nulo:anyFields(tar*) = null -
Corresponde logs a todos os campos numéricos que terminam com
length(por exemplo: Tamanho do Pacote, Comprimento, Comprimento do Pacote UDP) com o valor 2:allFields(*length) = 2 -
Corresponde aos logs com qualquer um dos campos numéricos que terminam com
lengthcom um valor 2:anyFields(*length) = 2
Usar Variáveis em suas Consultas
No Oracle Log Analytics, as variáveis de consulta são ferramentas avançadas que aumentam a flexibilidade e a eficiência de suas consultas de log. Eles atuam como placeholders dentro das consultas, permitindo definir valores que podem ser reutilizados durante toda a consulta. Essa abordagem simplifica o gerenciamento de consultas e melhora a legibilidade.
Tópicos:
Sintaxe da Variável de Consulta
As variáveis de consulta são listadas antes da consulta. Eles são retornados no ponto final Fazer Parsing.
Sintaxe para definição de variável única:
var $<name> { <value> }Sintaxe para definição de mapa de variáveis:
var $<name> { <keyName>:<keyValue>, <keyName>:<keyValue> }Exemplo de definição da variável:
var $byField { 'Log Source' } * | stats count by $byFieldO exemplo acima é interpretado da seguinte forma:
* | stats count by 'Log Source'O ponto final de análise retorna as informações da variável conforme abaixo:
...
"variables": [
{
"name": "$byField"
}
]Exemplo de mapa de variáveis:
var $args { { byField : 'Log Source', limit : 4 } } * | stats count by $args[byField] | top $args[limit] CountO exemplo de mapa acima é interpretado da seguinte forma:
* | stats count by 'Log Source' | top 4 CountO ponto final de análise retorna as informações do mapa de variáveis conforme abaixo:
...
"variables": [
{
"name": "$args",
"mapKeys": [
{
"name": "$args[byField]",
},
{
"name": "$args[limit]",
}
]
}Propriedades da Variável de Consulta
Sintaxe para definir propriedades de variáveis:
-
Propriedade da variável única:
var $<name> { @propertyName property value; <value> } -
Propriedade do mapa de variáveis:
var $<name> { @propertyName property value; <keyName>:<keyValue>, <keyName>:<keyValue> }
Estas são algumas propriedades especiais:
| Propriedade | Descrição |
|---|---|
|
|
Se não houver valor para a variável, o |
|
|
Se não houver valor e não houver |
|
|
A análise retorna |
|
|
Use |
Exemplo para definir propriedades de variável:
var $byField { @description The field to group by; @defaultValue 'Log Source'; @otherDetails This can be overwritten; } * | stats count by
$byFieldA definição de propriedade da variável de consulta de exemplo acima é interpretada da seguinte forma:
* | stats count by 'Log Source'O ponto final de análise retorna as informações de propriedade da variável conforme abaixo:
...
"variables": [
{
"name": "$byField",
"description": "The field to group by",
"defaultValue": "'Log Source'",
"properties": [
{
"name": "otherDetails",
"value": "This can be overwritten"
}
]
}
]Exemplo para definir propriedades de variáveis de mapa: As variáveis de mapa podem ter propriedades para o mapa inteiro ou para chaves individuais, conforme mostrado no exemplo abaixo.
var $args { { @description Field to group by; byField : 'Log Source', @description Number to return; limit : 4 } } * | stats count by $args[byField] | top $args[limit] CountO exemplo acima da definição de propriedade de variável de mapa é interpretado da seguinte forma:
* | stats count by 'Log Source' | top 4 CountO ponto final de análise retorna as informações de propriedade da variável de mapa conforme abaixo:
...
"variables": [
{
"name": "$args",
"mapKeys": [
{
"name": "$args[byField]",
"description": "Field to group by"
},
{
"name": "$args[limit]",
"description": "Number to return"
}
]
}
]Propriedades da Consulta
Liste as propriedades da consulta antes da consulta. Eles também são retornados no ponto final Fazer Parsing.
Sintaxe
-
Propriedade de consulta padrão:
@<name> <value>; -
Propriedade do delimitador:
@<name>(delimiter=<delimiter>><delimiter> <value> <delimiter>
Nota: Use um ponto-e-vírgula após a propriedade padrão, mas não após a propriedade delimitadora. Você poderá usar o formato delimitador para facilitar a leitura se houver caracteres que devem ser escapados.
Exemplo de propriedade padrão:
@description This query will group the logs based on the passed in field;Exemplo de propriedade do delimitador:
@description(delimiter=''')
'''
This query will group the logs
To change the byField, just update the variable
'''Avaliação Variável
Os valores das variáveis são avaliados pelo Oracle Log Analytics usando o mecanismo eval. Especifique o valor com aspas, se necessário. Em geral, se houver um caractere de espaço na string. Se o valor não for especificado, o @defaultValue será usado. Se o valor não for especificado e @defaultValue não for definido, @testValue será usado.
Considere o seguinte exemplo de definição de variáveis:
var $byField { Target } var $limit { if($byField = 'Target Type', 5, 10) } * | stats count by $byField | head $limitA definição do exemplo acima é interpretada da seguinte forma:
* | stats count by Target | head 10Se você não quiser que a variável seja avaliada, defina a propriedade @raw.
var $byFields { @raw true; Target, 'Target Type' } * | stats count by $byValuesA definição do exemplo acima com a propriedade @raw é interpretada da seguinte forma:
* | stats count by Target, 'Target Type'