eval
Use o comando eval para calcular o valor de uma expressão e exibir o valor em um novo campo.
-
Enquanto o comando
statscalcula estatísticas com base em campos existentes, o comandoevalcria novos campos usando campos existentes e expressões arbitrárias. -
Funções de processamento de string como
indexofesubstrconsomem muitos recursos. Por isso, não é recomendável executar o comandoevalcom essas funções em 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. Consulte Usar Campos Estendidos em Origens e Usar Rótulos em Origens. -
Certifique-se de que o nome do campo usado no comando
evalnão contenha os caracteres[e].
Sintaxe
*|eval <new_field_name>=<expression>Operadores e Funções Disponíveis com o Comando:
A tabela a seguir lista os operadores disponíveis com o comando eval.
| Categoria | Exemplo |
|---|---|
|
Operadores Aritméticos |
+, -, *, /, % |
|
Operadores de Comparação |
=, !=, <, >, <=, >= |
|
Operadores Lógicos |
and, or, not |
|
Operadores Condicionais |
if(<expression>,<expression>,<expression>) |
|
Vários Operadores de Comparação |
in, not in |
A tabela a seguir lista as funções disponíveis com o comando eval.
Funções de String
Geralmente, a entrada para as funções pode ser string literal ou campo de string.
| Função | Descrição | Exemplo |
|---|---|---|
|
|
Capitalize o primeiro caractere da string. |
Quando |
|
|
Une duas ou mais strings juntas de ponta a ponta, em uma única string.
|
Quando |
|
|
Decodifica o texto codificado em Base64 de volta para a string legível (UTF-8) para que ele possa ser exibido na tabela de resultados ou usado de outra forma. Use esta função para ver o conteúdo real quando um payload de log ou campo de metadados for codificado. Nota: Se o valor da string for um campo, ele deverá fazer distinção entre maiúsculas e minúsculas. |
|
|
|
Codifica a string de entrada no formato Base64. |
|
|
|
Retorna o nome do campo especificado como uma string. |
|
|
|
Retorna o tipo de dados do campo especificado, por exemplo, STRING, NUMBER. |
|
|
|
Retorna a posição (índice) da primeira ocorrência de uma substring (string literal ou campo de string) dentro de uma string (string literal ou campo de string). Opcionalmente, você pode especificar um índice inicial para a pesquisa usando o terceiro argumento opcional. Consulte Detalhes da Função de índice. |
|
|
|
Retorna a posição (índice) da última ocorrência de uma substring (string literal ou campo de string) dentro de uma string (string literal ou campo de string). Opcionalmente, você pode especificar um índice inicial para pesquisar (pesquisar para trás). Consulte lastindexof Function Details. |
|
|
|
Retorna o número de caracteres da string. |
|
|
|
Converte um valor de campo ou expressão em uma string literal. |
|
|
|
Converte todos os caracteres da string em letras minúsculas. |
Quando |
|
|
Remove o espaço em branco à esquerda (quando nenhum segundo argumento é especificado) ou um conjunto especificado de caracteres (segundo argumento opcional) do início (à esquerda) da string. |
|
|
|
Substitui ocorrências de uma substring por uma nova string. É possível fornecer vários pares de strings de pesquisa e substituição para executar várias substituições de uma só vez. Consulte Substituir Detalhes da Função. |
|
|
|
Reverte a ordem dos caracteres na string. |
|
|
|
Remove o espaço em branco à direita de um conjunto especificado de caracteres do final (lado direito) da string. |
|
|
|
Retorna uma parte da string, começando no índice especificado. Opcionalmente, você pode especificar o comprimento da substring a ser retornada. Consulte Detalhes da Função de Substr. |
|
|
|
Converte um timestamp de string em um objeto Data. Opcionalmente, você pode especificar o formato a ser usado para fazer parsing do timestamp da string. |
|
|
|
Abrange uma string que representa o tempo de duração (HH:mm:ss) em um objeto Duração, permitindo operações matemáticas e de comparação de tempo. |
|
|
|
Converte uma representação de string de um número em um tipo de dados numérico real. |
Quando |
|
|
Remove espaço em branco das duas extremidades de uma string (padrão) ou remove a substring especificada, se fornecida como segundo argumento (opcional). |
|
|
|
Converte todos os caracteres da string em letras maiúsculas. |
Quando |
|
|
Decodifica uma string codificada por URL de volta ao formato original. |
|
|
|
Codifica uma string em seu formato de URL equivalente. |
|
|
|
Cria um link de URL clicável (padrão), com nome para exibição e parâmetros, se especificado no segundo e terceiro argumentos opcionais, respectivamente. Consulte Detalhes da Função url e Curtas de URL Definidas pela Oracle. |
|
Funções Numéricas
| Função | Descrição | Exemplo |
|---|---|---|
|
|
Retorna o valor absoluto (positivo) de um número. |
|
|
|
Arredonda um número para cima até o número inteiro mais próximo (inteiro). |
|
|
|
Calcula a distância entre dois conjuntos de coordenadas dadas em números. O valor retornado pela função é em milhas. Os números estão em graus. |
|
|
|
Calcula a distância entre dois conjuntos de coordenadas dadas em strings. O valor retornado pela função é em milhas. Os números estão em graus. |
|
|
|
Arredonda um número para baixo até o número inteiro mais próximo (inteiro). |
|
|
|
Converte um valor de duração numérica (em segundos) no formato de código de tempo HH:mm:ss. |
|
|
|
Retorna o valor mais alto dos dois números fornecidos. |
|
|
|
Retorna o valor inferior dos dois números fornecidos. |
|
|
|
Retorna o valor de um número elevado à potência especificada. |
|
|
|
Arredonda um número para o número inteiro mais próximo (padrão) ou para um número específico de casas decimais, se fornecido no segundo argumento. |
|
|
|
Calcula a raiz quadrada de um número. |
|
|
|
Cubra um valor numérico para uma string. |
|
|
|
Formata um número com a unidade específica fornecida, por exemplo, KB, MB, byte, sec. Consulte Tipos Suportados para a Função unitária, Tipos de Moeda Suportados na Função unitária e Funções de String. |
|
Funções de Data
Semelhante ao comando where, você pode usar string legível para manipular o tempo na consulta. Por exemplo, para criar um novo campo chamado 10mins Posteriormente que esteja 10 minutos à frente do valor no campo Horário:
* | eval '10mins Later' = Time + 10mins
Consulte Strings de Tempo Amigas do Usuário em Comparações.
| Função | Descrição | Exemplo |
|---|---|---|
|
|
Adiciona ou subtrai o tempo especificado (propriedade = hora, dia, min, etc.) de uma data. |
|
|
|
Define uma parte específica de uma data (ou seja, definir a hora como 0 para encontrar "meia-noite"). |
|
|
|
Formata um objeto de data em uma string personalizada para exibição |
|
|
|
Retorna a data e a hora atuais do sistema. |
|
Funções Condicionais
| Função | Descrição | Exemplo |
|---|---|---|
|
|
Verifica se um endereço IP pertence a um bloco CIDR específico. |
|
|
|
Retonar verdadeiro quando a primeira string contém a segunda string. Caso contrário, retornará falso. |
|
|
|
Retorna verdadeiro se a string (primeiro argumento) terminar com a substring especificada (segundo argumento). Caso contrário, retornará falso. |
|
|
|
Avalia uma expressão1 de condição e retorna a expressão2, se verdadeira, retorna a expressão3, se falsa. |
Quando |
|
|
Retorna verdadeiro se a string começar com a substring especificada. |
|
|
|
Retornará verdadeiro se alguma das condições for verdadeira; caso contrário, retornará falso. |
Quando |
|
|
Retornará true se todas as condições forem true; caso contrário, retornará false. |
Quando |
|
|
Retorna verdadeiro se qualquer um dos campos tiver o valor especificado; caso contrário, retorna falso. |
Quando |
|
|
Retorna verdadeiro se todos os campos tiverem o valor especificado; caso contrário, retorna falso. |
Quando |
Para obter exemplos do uso das funções anyOf, allOf, anyFields e allFields, consulte search e where.
Funções de Hash
| Função | Descrição | Exemplo |
|---|---|---|
|
|
Gera um hash MD5 do valor de entrada. |
|
|
|
Gera um hash SHA-1 do valor de entrada. |
|
|
|
Gera um hash SHA-256 do valor de entrada. |
|
|
|
Gera um SHA-512 do valor de entrada. |
|
Observação: As funções md5 e sha operam atualmente nos valores de campo minúsculos.
Funções Trigonométricas
| Função | Descrição | Exemplo |
|---|---|---|
|
|
Retorna a arccosina (cosseno inverso) de um número em radianos. |
|
|
|
Retorna o arcsine (seno inverso) de um número em radianos. |
|
|
|
Retorna o arco tangente de um número em radianos. |
|
|
|
Retorna o arco tangente do quociente de seus argumentos (y=num1,x=num2). Ângulo em radianos em uma coordenada polar, para as coordenadas cartesianas a=num1 e b=num2. |
|
|
|
Retorna o cosseno de um ângulo em radianos. |
|
|
|
Retorna a constante matemática e (aproximadamente 2,718). |
|
|
|
Retorna a constante matemática pi (aproximadamente 3,141) |
|
|
|
Retorna o seno de um ângulo em radianos. |
|
|
|
Retorna a tangente de um ângulo em radianos. |
|
|
|
Converte um ângulo de radianos em graus. |
|
|
|
Converte um ângulo de graus em radianos. |
|
Parâmetros
A tabela a seguir lista os parâmetros usados nesse comando, com suas descrições.
| Parâmetro | Descrição |
|---|---|
|
|
Especifique o nome do campo em que o valor calculado da expressão deverá ser exibido. |
|
|
Especifique a expressão cujo valor precisa ser calculado. |
Para obter exemplos de como usar esse comando em cenários típicos, consulte:
- Renomear os Campos Editando a Consulta
- Marcar a Unidade para um Campo no Tempo de Consulta
- Gráfico de Histograma
- Visualizar Dados da Série de Tempo Usando o Recurso de Tendência do Link
- Gerar Gráficos com Campos Virtuais
- Vincular Usando a Instrução SQL como Campo de Análise
- Analisar o Tempo Utilizado Entre as Etapas de uma Transação
- Usar Funções de Navegação de Link para Identificar Eventos em um Banco de Dados
- Adicionar URLs à Tabela de Links
- Usar URL de corte curto com nome personalizado
- Use os símbolos de moeda em sua análise de log
Estes são alguns exemplos do comando eval.
*|eval newField = 'foo'*|eval newField = 123*|eval newField = upper(Target)*|eval newField = length('hello world')*|eval s =capitalize(severity)*|eval newField = concat(host, concat (':', port))*|eval n = contains(uri, '.com')*|eval n =endsWith(uri, '.com')*|eval n =startsWith(uri, 'http://oracle')*|eval s = decode64(value)*|eval s = encode64(uri)*|eval s = reverse(Command)*|eval newField = host || ':'|| port*|eval newField = round(123.4)*|eval newField = floor(4096/1024)+Length*|eval newField = if (max(Length)(Target), length(Severity)) <= 20, 'OK', 'ERROR')*|eval newField = urlDecode('http%3A%2F%2Fexample.com%3A893%2Fsolr%2FCORE_0_0%2Fquery')*|eval s = urlEncode(uri)*|eval newField = 'Host Name (Destination)' in (host1, host2)*|eval value = arccos(angle)*|eval value = arcsin(angle)*|eval value = arctan(angle)*|eval value = atan2(x, y)*|eval value = cos(angle)*|eval value = e()*|eval value = pi()*|eval value = sin(angle)*|eval value = tan(angle)*|eval value =toDegrees(angle)*|eval value =toRadians(angle)O exemplo a seguir compara os endereços IP no campo srvrhostip com uma faixa de sub-redes.
*|eval newField = if (cidrmatch(srvrhostip, '192.0.2.254/25') = 1, 'local', 'not local')O exemplo a seguir retorna a string "Target".
*|eval newField = literal(Target)O exemplo a seguir remove os espaços e as tabulações das duas extremidades.
*|eval newField = trim(Label)O exemplo a seguir remove o caractere correspondente das duas extremidades.
*|eval newField = trim('User Name',h)O exemplo a seguir remove o caractere correspondente da extremidade esquerda.
*|eval newField = ltrim('Error ID',0)O exemplo a seguir remove o caractere correspondente do lado direito.
*|eval newField = rtrim('OS Process ID',2)O exemplo a seguir define o campo date como Start Date e define o formato da data como MM/dd/yyyy HH:mm.
*|eval date = toDate('Start Date', 'MM/dd/yyyy HH:mm')A função toDate também pode ser usada para tratar a época da seguinte forma:
... | where 'Start Time' > toDate(1405544998000)O exemplo a seguir define o valor do campo duration como 1.30.
*|eval duration = toduration("1.30")O exemplo a seguir define o valor do campo duration com um valor numérico que é a diferença de End Time e Start Time.
*|eval duration = formatDuration('End Time' - 'Start Time')Os exemplos a seguir ilustram o uso das funções de data.
*| eval lastHour = dateAdd(now(), hour, -1)
*| eval midnight = dateSet(now(), hour, 0, minute, 0, sec, 0, msec, 0)
*| eval timeOnly = formatDate(now(), 'HH:mm:ss')
*| eval now = now()Você pode usar as funções de hash md5, sha1, sha256 e sha512 com o comando eval para filtrar dados de log. O exemplo a seguir define o valor do campo user com o valor sha1("jane").
*|eval user = sha1("jane")O exemplo a seguir converte um hex em um decimal e n é avaliado como 255:
* | eval n = toNumber('0xFF')O exemplo a seguir converte um número octal em um decimal e n é avaliado como 10:
* | eval n = toNumber('012')O comando a seguir calcula a distância (em milhas) entre dois pares de coordenadas lat-longas especificadas em graus, quando os valores de entrada são números:
* | eval n = distance(lat1, long1, lat2, long2) O comando a seguir calcula a distância (em milhas) entre dois pares de coordenadas lat-longas (em graus), quando os valores de entrada são duas strings:
* | eval n = distance('lat1,long1', 'lat2,long2')Exemplos da Função unit
Você pode usar a função unit com Link, Pizza, Barra ou qualquer gráfico de tabela.
Alguns exemplos simples:
* | eval newField = unit('Content Size', KB)
* | eval 'File Size (bytes)' = unit('File Size', 'byte')
* | eval 'File Size (KB)' = unit('File Size'/1024, 'kb')
* | eval 'File Size (MB)' = unit('File Size'/(1024*1024), 'mb')
* | eval 'Time Taken (Sec)' = unit(Time/1000, 'SEC')
Exemplos de unidades comuns, como bytes, moeda e duração:
* | eval Vol = unit('Content Size Out', byte) | stats sum(Vol) as 'Total Volume'
* | eval Sales = unit('Sales Amount', currency_usd) | stats sum('Sales') as 'Total Sales'
* | eval 'Disk Read Time' = unit('Disk Read Time (millis)', ms) | stats avg('Disk Read Time') as 'Avg Disk Read Time'
Execute as três consultas acima na visualização do Bloco com a opção Número do Formato marcada para obter os melhores resultados.
Um campo com uma unidade do tipo tamanho ou duração seria usado para formatar os valores no gráfico Análise do Link, nos histogramas de addfields, na Tabela de Links e na visualização do Bloco:
'Log Source' = 'FMW WebLogic Server Access Logs'
| link span = 5minute Time, Server
| stats avg('Duration') as 'Raw Avg. Duration'
avg('Content Size') as 'Raw Avg. Transfer Size'
| eval 'Average Duration' = unit('Raw Avg. Duration', ms)
| eval 'Average Transfer Size' = unit('Raw Avg. Transfer Size', byte)
| classify 'Start Time', 'Average Duration',
'Average Transfer Size' as 'Response Time vs. Download Sizes'
Marque um campo como contendo Dólares Americanos, milhares de Dólares Americanos, milhões de Dólares Americanos ou bilhões de Dólares Americanos, respectivamente:
| eval 'Amount in USD' = unit('Sales Price', currency_usd)
| eval 'Amount in Thousands (USD)' = usd('Quarterly Sales', currency_usd_thousand)
| eval 'Amount in Millions (USD)' = usd('Annual Profit', currency_usd_million)
| eval 'Amount in Billions (USD)' = usd('Annual Sales', currency_usd_billion)
Tipos Suportados para a Função unit
Nomes de Unidade:
PERCENT | PCT- Tamanho dos dados:
BYTEKILOBYTE | KBMEGABYTE | MBGIGABYTE | GBTERABYTE | TBPETABYTE | PBEXABYTE | EB
- Horário:
MILLISECOND | MSS | SEC | SECS | SECOND | SECONDSM | MIN | MINS | MINUTE | MINUTESH | HR | HRS | HOUR | HOURSD | DAY | DAYSW | WEEK | WEEKSMON | MONTH | MONTHSY | YR | YRS | YEAR | YEARSMICRO | µs
- Potência:
WATTKILOWATT | kWMEGAWATT | MWGIGAWATT | GWTERAWATT | TWPETAWATT | PWEXAWATT | EW
- Temperatura:
KELVIN | KCELSIUS | CFAHRENHEIT | F
- Frequência:
HERTZ | HzKILOHERTZ | kHzMEGAHERTZ | MHzGIGAHERTZ | GHzTERAHERTZ | THzPETAHERTZ | PHzEXAHERTZ | EHz
Tipos de Moeda Suportados na Função unit
Consulte os links de exemplo do comando eval para usar a função em cenários típicos.
Especifique a unidade monetária usando o seguinte formato:
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_k)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_m)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_b)Os sufixos _k, _m e _b são usados para indicar a moeda em milhares, milhões ou bilhões, respectivamente. Para obter uma lista completa de códigos de moeda, consulte Padrões ISO.
NLS_Territory |
Moeda |
|---|---|
| AFEGANISTÃO | AFN |
| ALBÂNIA | TODOS |
| ARGÉLIA | DZD |
| AMÉRICA | US$ |
| ANGOLA | AOA |
| ANTÍGUA, BARBUDA | XCD |
| ARGENTINA | ARS |
| ARMÊNIA | AMD |
| ARUBA | AWG |
| AUSTRÁLIA | AUD |
| ÁUSTRIA | Euro (EUR) |
| AZERBAIJÃO | AZN |
| BAHAMAS | BSD |
| BAREIN | BHD |
| BANGLADESH | BDT |
| BARBADOS | Até logo |
| BIELORRÚSSIA | BYN |
| BÉLGICA | Euro (EUR) |
| BELIZE | BZD |
| BERMUDAS | BMD |
| BOLÍVIA | CARGO |
| BÓSNIA-HERZEGOVINA | BAM |
| BOTSUANA | BWP |
| BRASIL | BRL |
| BULGÁRIA | BGN |
| CAMBOJA | KHR |
| CAMARÕES | XAF |
| CANADÁ | CAD |
| ILHAS CAIMAN | KYD |
| CHILE | CLP |
| CHINA | CNY |
| COLÔMBIA | COPA |
| BRAZZAVILLE DO CONGO | XAF |
| KINSHASA DO CONGO | CDF |
| COSTA RICA | CRC |
| CROÁCIA | HRK |
| CURAÇAO | ANG |
| CHIPRE | Euro (EUR) |
| CZECH REPUBLIC | CZK |
| DINAMARCA | DKK |
| DJIBUTI | DJF |
| DOMINICA | XCD |
| REPÚBLICA DOMINICANA | DOP |
| EQUADOR | US$ |
| EGITO | EGP |
| EL SALVADOR | SVC |
| ESTÔNIA | Euro (EUR) |
| ETIÓPIA | ETB |
| FINLÂNDIA | Euro (EUR) |
| FRANÇA | Euro (EUR) |
| FYR MACEDÔNIA | MKD |
| GABÃO | XAF |
| GEÓRGIA | GEL |
| ALEMANHA | Euro (EUR) |
| GANA | GHS |
| GRÉCIA | Euro (EUR) |
| GRANADA | XCD |
| GUATEMALA | GTQ |
| GUIANA | GYD |
| HAITI | HTG |
| HONDURAS | HNL |
| HONGKONG | HKD |
| HUNGRIA | HUF |
| ISLÂNDIA | ISK |
| ÍNDIA | INR |
| INDONÉSIA | IDR |
| IRÃO | IRR |
| IRAQ | IQD |
| IRLANDA | Euro (EUR) |
| ISRAEL | ILS |
| ITÁLIA | Euro (EUR) |
| COSTA DO MARFIM | XOF |
| JAMAICA | JMD |
| JAPÃO | JPY |
| JORDÂNIA | JOD |
| CAZAQUISTÃO | KZT |
| Quênia | SIM |
| COREIA | KRW |
| KUWAIT | KWD |
| KYRGYZSTAN | SG/AR |
| LAOS | LAK |
| LETÔNIA | Euro (EUR) |
| LÍBANO | LBP |
| LÍBIA | Ano Anterior |
| LIECHTENSTEIN | CHF |
| LITUANIA | Euro (EUR) |
| LUXEMBURGO | Euro (EUR) |
| MACAU | MOP |
| MALAUÍ | MWK |
| MALÁSIA | MYR |
| MALDIVAS | MVR |
| MALTA | Euro (EUR) |
| MAURITÂNIA | MRU |
| MAURÍCIO | MUR |
| MÉXICO | MXN |
| MOLDÁVIA | MDL |
| MONTENEGRO | Euro (EUR) |
| MARROCOS | MAD |
| MOÇAMBIQUE | MZN |
| MIANMAR | MMK |
| NAMÍBIA | NAD |
| NEPAL | NPR |
| NOVA ZELÂNDIA | NZD |
| NICARÁGUA | NIO |
| NIGÉRIA | NGN |
| NORUEGA | NOK |
| OMAN | OMR |
| PAQUISTÃO | Chave Primária |
| PANAMÁ | PAB |
| PARAGUAI | PIG |
| PERU | PEN |
| FILIPINAS | PHP |
| POLÔNIA | PLN |
| PORTUGAL | Euro (EUR) |
| PORTO RICO | US$ |
| CATAR | QAR |
| ROMÊNIA | RON |
| RÚSSIA | RUB |
| SAINT-KITTS E NEVIS | XCD |
| SANTA LÚCIDA | XCD |
| ARÁBIA SAUDITA | SAR |
| SENEGAL | XOF |
| SERBIA | RSD |
| SERRA-LEOA | SLL |
| SINGAPURA | SGD |
| ESLOVÁQUIA | Euro (EUR) |
| ESLOVÊNIA | Euro (EUR) |
| SOMÁLIA | SOS |
| ÁFRICA DO SUL | ZAR |
| SUDÃO DO SUL | SSP |
| ESPANHA | Euro (EUR) |
| SRI LANCA | LKR |
| SUDÃO | ODS |
| SURINAME | SRD |
| SUAZILÂNDIA | SZL |
| SUÉCIA | SEK |
| SUÍÇA | CHF |
| SÍRIA | SYP |
| TAIWAN | TWD |
| TANZÂNIA | TZS |
| TAILÂNDIA | TB |
| PAÍSES BAIXOS | Euro (EUR) |
| TRINIDADE E TOBAGO | TTD |
| TUNÍSIA | TND |
| TURQUIA | TENTAR |
| TURCOMENISTÃO | TMT |
| UGANDA | UGX |
| UCRÂNIA | UAH |
| EMIRADOS ÁRABES UNIDOS | AED |
| REINO UNIDO | GBP |
| URUGUAI | UYU |
| USBEQUISTÃO | UZS |
| VENEZUELA | VES |
| VIETNÃ | VND |
| IÊMEN | SIM |
| ZÂMBIA | ZMW |
| ZIMBÁBUE | ZWL |
indexof Detalhes da Função
A sintaxe da função index0f:
indexof (String, String [,int])indexof (String, String [,start_pos]): A contagem de índices começa com 0, retorna o índice de correspondência a partir de start_pos (se fornecido) e retorna -1 se não houver correspondência.
O exemplo a seguir define o valor do campo newField com a posição .com na string uri.
*|eval newField = indexOf(uri, '.com')Caso de Uso: Extraia a parte relevante do caminho da API do campo Logs de Auditoria do OCI, Caminho
O campo Caminho contém um valor como /apis/coordination.k8s.io/v1/namespaces/default/leases/oracle.com-oci.
Você pode extrair o valor coordination.k8s do campo acima seguindo estas etapas:
- Localize a posição da primeira e da segunda
/usando a funçãoindexOf(). - Localize a posição do terceiro
/. - Extraia os valores após a segunda
/, até a terceira/, usando a funçãosubstr().
'Log Source' = 'OCI Audit Logs'
| eval firstPos = indexOf(Path, '/')
| eval secondPos = indexOf(Path, '/', firstPos + 1)
| eval API = substr(Path, secondPos + 1, indexOf(Path, '/', secondPos + 1))
| link Path, APIExemplo de saída:

lastindexof Detalhes da Função
A sintaxe da função lastindexof:
lastindexof(String, String, int)lastindexof (String, String [, end_pos]): A contagem de índices começa com 0, retorna o índice da última ocorrência da substring antes de end_pos (se fornecido) e retorna -1 se não houver correspondência. O argumento end_pos é opcional.
Alguns exemplos de uso da função lastindexof:
*|eval n = lastindexof(uri, '.com')Caso de Uso: Extraia a Área do campo Tipo nos Logs de Auditoria do OCI
O campo Tipo contém um valor como com.oraclecloud.computeApi.GetInstance.
Para extrair computeAPI do valor acima, você pode usar o seguinte esquema:
- Identifique a posição da última
.usandolastIndexOf(). - A partir desse deslocamento, identifique a posição do
.anterior, usando outrolastIndexOf(), mas fornecendo o deslocamento de onde pesquisar novamente. - Extraia o valor entre essas duas posições usando
substr().
'Log Source' = 'OCI Audit Logs'
| eval lastDot = lastIndexOf(Type, '.')
| eval prevDot = lastIndexOf(Type, '.', lastDot - 1)
| eval Area = substr(Type, prevDot + 1, lastDot)
| link Type, AreaExemplo de saída:

replace Detalhes da Função
A sintaxe da função replace:
replace(String, String, String, String, String, ..)replace suporta várias substituições em uma única função. Alguns exemplos de uso da função replace:
-
*|eval newField = replace('aabbcc', 'bb', 'xx') -
*|eval newField = replace('aabbcc', 'bb', 'xx', 'cc', 'yy') -
Exemplo de várias ações de substituição em uma única função
replace:* | eval CopiedURL = 'https://cloud.oracle.com/loganalytics/explorer?viz=<VIZ>&encodedQuery=<QUERY>&startTime=<START_TIME>&endTime=<END_TIME>®ion=us-phoenix-1&tenant=testtenant'| eval Query = encode64('* | stats count as "Log Records" by "Log Source"') | eval 'Start Epoch' = toString(toNumber(toDate(dateRelative(30day)))) | eval 'End Epoch' = toString(toNumber(now())) | eval Viz = pie | eval URL = replace(CopiedURL, '<VIZ>', Viz, '<QUERY>', Query, '<START_TIME>', 'Start Epoch', '<END_TIME>', 'End Epoch')
substr Detalhes da Função
A sintaxe da função substr:
substr(String, int [, int])substr(String, start_pos, end_pos - 1): a contagem de índices começa com start_pos e termina com end_pos - 1.
No exemplo a seguir, newField é a substring de aabbcc em que o índice inicial (inclusive) é 2 e o índice final (exclusive) é 4. Observe que, para strings, a contagem de índices começa com 0. Portanto, a substring resultante é bb.
*|eval newField = substr('aabbcc', 2, 4)Para casos de uso em que a função substr é usada, consulte Detalhes da Função indexof e Detalhes da última função.
url Detalhes da Função
A sintaxe da função url:
url(String, Name, Parameter)Os valores Nome e Parâmetro são opcionais.
- String: Pode ser um URL ou um dos nomes abreviados predefinidos. Por exemplo:
eval Link = url('https://www.oracle.com') - Nome: Nome Opcional do URL. Por exemplo:
eval Link = url('https://www.oracle.com', 'Oracle Home Page') - Parâmetro: Parâmetro opcional se um atalho for usado para String. Por exemplo:
eval Link = url('tech', 'Search Oracle', 'ORA-600')
Alguns exemplos de uso da função url:
-
* | stats latest(Status) as Status | eval ‘HTTP Status Code’ = url(‘https://www.google.com/search?q=http+code+’, Status, Status) -
Status != null | eval 'HTTP Status Code' = url('https://www.google.com/search?q=http+code+', Status, Status) | stats count by Status
Exemplos de uso da função url após o comando link:
-
* | link status | eval ‘HTTP Status Code’ = url(‘https://www.google.com/search?q=http+code+’, Status, Status) -
* | link Type | stats latest(Status) as Status | eval ‘HTTP Status Code’ = url(‘[https://www.google.com/search?q=http+code+]’, Status, Status)
Reduções url Definidas pela Oracle
Os seguintes atalhos definidos pela Oracle estão disponíveis para uso com a função url para o comando eval.
| Atalho | URL e Descrição | Exemplo |
|---|---|---|
|
ora pesquisa:oracle |
https://www.google.com/search?q=site:oracle.com%20Gerar um link para pesquisar todas as strings especificadas em |
|
|
tecnologia tecnologia da oracle |
https://community.oracle.com/tech/search?query=Gerar um link para pesquisar fóruns de tecnologia Oracle |
|
|
mosc oracle-mosc |
https://community.oracle.com/mosc/search?query=Gerar um link para pesquisar fóruns do My Oracle Support |
|
https://www.google.com/search?q=Gerar um link para pesquisar usando o Google |
|
|
| bing | https://www.bing.com/search?q=Gerar um link para pesquisar usando o Bing |
|
|
ddg duckduckgo |
https://duckduckgo.com/?q=Gerar um link para pesquisa usando DuckDuckGo |
|
|
so fluxo de transferência de pilha |
https://stackoverflow.com/search?q=Gere um link para pesquisar em StackOverflow |
|
|
cve |
https://www.cve.org/CVERecord?id=Gerar um link para o ID de CVE fornecido |
|