eval

Use o comando eval para calcular o valor de uma expressão e exibir o valor em um novo campo.

Observação

  • Enquanto o comando stats calcula estatísticas com base em campos existentes, o comando eval cria novos campos usando campos existentes e expressões arbitrárias.

  • Funções de processamento de string como indexof e substr consomem muitos recursos. Por isso, não é recomendável executar o comando eval com 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 eval nã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(String)

Capitalize o primeiro caractere da string.

capitalize("hello world") resulta em "Hello world".

Quando severity="fatal", capitalize(severity) resulta em "Fatal".

concat(String, String)

Une duas ou mais strings juntas de ponta a ponta, em uma única string.

  • Para a função concat(), você pode inserir tipos de dados numéricos como inteiro, flutuante ou longo. Os campos numéricos que serão convertidos automaticamente nos valores de string correspondentes.

  • Você pode usar || para concatenar n número de entradas. Aqui também, você pode inserir tipos de dados numéricos que serão convertidos automaticamente nos valores de string correspondentes.

concat("System, Error") resulta em "SystemError".

Quando severity="fatal" e host="my_host_123", concat(severity, concat("_", host)) resulta em "fatal_my_host_123".

decode64(String)

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.

decode64("SGVsbG8gV29ybGQ=") resulta em "Hello Word".

encode64(String)

Codifica a string de entrada no formato Base64.

encode64("Hello World") resulta em "SGVsbG8gV29ybGQ=".

fieldName(String)

Retorna o nome do campo especificado como uma string.

fieldName(Entity) resulta em "Entity". (Retorna o nome da string do campo referenciado)

fieldType(String)

Retorna o tipo de dados do campo especificado, por exemplo, STRING, NUMBER.

fieldType(Entity) retorna "STRING".

fieldType(Content_Size) retorna "NUMBER".

indexof (String, String [,int])

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.

indexOf("error_log_01", "_") retorna 5.

indexOf("error_log_01", "_", 6) retorna a 9. (Começa a pesquisar no índice especificado=6)

lastindexof(String, String, int)

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.

lastIndexOf("error_log_01", "_") retorna 9.

lastIndexOf("error_log_01", "_", 8) retorna a 5. (Pesquisas anteriores a partir de index=8).

length(String)

Retorna o número de caracteres da string.

length("Oracle") retorna 6

length(host1) retorna 10. (em que o valor do host1 referenciado é uma string de 10 caracteres, host1="my_host_13")

literal(String)

Converte um valor de campo ou expressão em uma string literal.

literal(Severity) retorna "Severity" (retorna o nome do campo como uma string estática)

lower(String)

Converte todos os caracteres da string em letras minúsculas.

lower("WARNING") retorna "warning"

Quando severity="FATAL", lower(severity) retorna "fatal"

ltrim(String, Character)

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.

ltrim(" data") retorna "data"

ltrim("xxdata", "x") retorna "data"

replace(String, String, String, String, 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.

replace("aabbcc", "bb", "xx") retorna "aaxxcc"

replace("aabbcc", "aa", "11", "cc", "33") retorna "11bb33"

reverse(String)

Reverte a ordem dos caracteres na string.

reverse("flow") retorna "wolf"

rtrim(String, Character)

Remove o espaço em branco à direita de um conjunto especificado de caracteres do final (lado direito) da string.

rtrim("data ") retorna "data"

rtrim("dataxxx", "x") retorna "data"

substr(String, int [, int])

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.

substr("OCI Log Analytics", 4) retorna "Log Analytics"

substr("OCI Log Analytics", 0, 3) retorna "OCI"

todate(String [, format])

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.

toDate("2025-01-01") retorna 2025-01-01T00:00:00.00Z

toDate("01/01/2025", "MM/dd/yyyy") retorna 2025-01-01T00:00:00.00Z

toduration(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.

toDuration("1:30:00") retorna 1:30:00 (isso representa uma duração de 1 hora e 30 minutos)

tonumber(String)

Converte uma representação de string de um número em um tipo de dados numérico real.

toNumber("400") retorna 400

Quando employees = "2000", o valor de toNumber(employees) é 2000

trim(String, Character)

Remove espaço em branco das duas extremidades de uma string (padrão) ou remove a substring especificada, se fornecida como segundo argumento (opcional).

trim(" 12Error12 ") retorna "12Error12"

trim("12Error12", "12") retorna "Error"

upper(String)

Converte todos os caracteres da string em letras maiúsculas.

upper("warning") retorna "WARNING"

Quando severity="fatal", upper(severity) retorna "FATAL"

urlDecode(String)

Decodifica uma string codificada por URL de volta ao formato original.

urlDecode("query%20text") retorna "query text"

urlEncode(String)

Codifica uma string em seu formato de URL equivalente.

urlEncode("query text") retorna "query%20text"

url(String [, Name [, Parameter]])

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.

url("https://oracle.com", "Home") retorna Home (que redireciona para o URL fornecido)

Funções Numéricas

Função Descrição Exemplo

abs(number)

Retorna o valor absoluto (positivo) de um número.

abs(-13) retorna 13

ceil(number)

Arredonda um número para cima até o número inteiro mais próximo (inteiro).

ceil(10.2) retorna 11

distance(number, number, number, number)

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. toRadians() converte graus em radianos.

distance(0.71, -1.2, 0.5, -1.1) retorna 892.29

distance(string, string)

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.

distance('0.71, -1.2', '0.5, -1.1') retorna 892.29

floor(number)

Arredonda um número para baixo até o número inteiro mais próximo (inteiro).

floor(13.8) retorna 13

formatduration(number)

Converte um valor de duração numérica (em segundos) no formato de código de tempo HH:mm:ss.

formatDuration(3660) retorna 01:01:00

max(number, number)

Retorna o valor mais alto dos dois números fornecidos.

max(13, 27) retorna 27

min(number, number)

Retorna o valor inferior dos dois números fornecidos.

min(13, 27) retorna 13

power(number, int)

Retorna o valor de um número elevado à potência especificada.

power(2, 3) retorna 8

round(number, int)

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.

round(13.3) retorna 13

round(10.576, 2) retorna 10.58

sqrt(number)

Calcula a raiz quadrada de um número.

sqrt(16) retorna 4

tostring(number)

Cubra um valor numérico para uma string.

toString(200) retorna "200"

unit(number, unit).

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.

unit(1024, KB) retorna 1024 KB

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

dateadd(date, property, amount)

Adiciona ou subtrai o tempo especificado (propriedade = hora, dia, min, etc.) de uma data.

dateAdd(now(), day, 1) retorna following day's date

dateset(date, property, value [, property, value])

Define uma parte específica de uma data (ou seja, definir a hora como 0 para encontrar "meia-noite").

dateSet(now(), hour, 0) retorna today at 00:00

formatdate(date [,format])

Formata um objeto de data em uma string personalizada para exibição

now() = the current date (01/27) and time.

formatDate(now(), "MM/dd") retorna 01/27

now()

Retorna a data e a hora atuais do sistema.

now() retorna 2026-01-28T23:16:53Z (data e hora atuais)

Funções Condicionais

Função Descrição Exemplo

cidrmatch(String, String)

Verifica se um endereço IP pertence a um bloco CIDR específico.

cidrMatch("192.168.1.15", "192.168.1.0/24") retorna true

contains(String, String)

Retonar verdadeiro quando a primeira string contém a segunda string. Caso contrário, retornará falso.

contains("error_log_123", "error") retorna true

contains("error_log_123", "666") retorna false

endsWith(String, String)

Retorna verdadeiro se a string (primeiro argumento) terminar com a substring especificada (segundo argumento). Caso contrário, retornará falso.

endsWith("image.png", "png") retorna true

if(<expression1>, <expression2>, <expression3>)

Avalia uma expressão1 de condição e retorna a expressão2, se verdadeira, retorna a expressão3, se falsa.

Quando Status = 200, if(Status == 200, "OK", "ERROR") retorna "OK"

startsWith(String, String)

Retorna verdadeiro se a string começar com a substring especificada.

startsWith("http://www.example.com", "http") retorna true

anyOf(condition1, condition2, ..., conditionN)

Retornará verdadeiro se alguma das condições for verdadeira; caso contrário, retornará falso.

Quando Severity="ERROR", anyOf(Severity=="ERROR", Severity=="WARNING", Severity=="FATAL" ) retorna true

allOf(condition1, condition2, ..., conditionN)

Retornará true se todas as condições forem true; caso contrário, retornará false.

Quando Severity="ERROR", anyOf(Severity=="ERROR", Severity=="WARNING", Severity=="FATAL" ) retorna false

anyFields(wildCardExpression) = value

Retorna verdadeiro se qualquer um dos campos tiver o valor especificado; caso contrário, retorna falso.

Quando StatusId = 34721, anyFields('*Id') = 34721 retorna true (verifica os valores de todos os campos que têm Id no nome do campo)

allFields(wildCardExpression) = value

Retorna verdadeiro se todos os campos tiverem o valor especificado; caso contrário, retorna falso.

Quando StatusId = 34721, allFields('*Id') = 34721 retorna false (verifica os valores de todos os campos que têm Id no nome do campo)

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

md5(<value to hash>)

Gera um hash MD5 do valor de entrada.

md5("password123") retorna 42f749ade7f9e195bf475f37a44cafcb

sha1(<value to hash>)

Gera um hash SHA-1 do valor de entrada.

sha1("data") retorna 84983c60f7daadc1cb86986216801e7929f60fef

sha256(<value to hash>)

Gera um hash SHA-256 do valor de entrada.

sha256("data") retorna 3a6eb0790f39ac87c94f3856b2dd2c5d110e6811602261a9a923d3bb23adc8b7

sha512(<value to hash>)

Gera um SHA-512 do valor de entrada.

sha512("data") retorna 0a747012543e1d6d84d169e54d0399d8d1e34582f34e6d425b8b...

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

arccos(<number>)

Retorna a arccosina (cosseno inverso) de um número em radianos.

arccos(1) retorna 0

arcsin(<number>)

Retorna o arcsine (seno inverso) de um número em radianos.

arcsin(1) retorna 1.570796

arctan(<number>)

Retorna o arco tangente de um número em radianos.

arctan(1) retorna 0.785398 (decimal aprox de π/4)

atan2(<numbera>,<numberb>)

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.

arctan(1) retorna 0.785398 (decimal aprox de π/4)

cos(<number>)

Retorna o cosseno de um ângulo em radianos.

cos(0) retorna 1

e()

Retorna a constante matemática e (aproximadamente 2,718).

e() retorna 2.718281

pi()

Retorna a constante matemática pi (aproximadamente 3,141)

pi() retorna 3.141592...

sin(<number>)

Retorna o seno de um ângulo em radianos.

sin(1.5708) retorna 1

tan(<number>)

Retorna a tangente de um ângulo em radianos.

tan(0.7854) retorna 1

toDegrees(<number>)

Converte um ângulo de radianos em graus.

toDegrees(3.14159) retorna 180

toRadians(<number>)

Converte um ângulo de graus em radianos.

toRadians(180) retorna 3.14159

Parâmetros

A tabela a seguir lista os parâmetros usados nesse comando, com suas descrições.

Parâmetro Descrição

new_field_name

Especifique o nome do campo em que o valor calculado da expressão deverá ser exibido.

expression

Especifique a expressão cujo valor precisa ser calculado.

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:
    • BYTE
    • KILOBYTE | KB
    • MEGABYTE | MB
    • GIGABYTE | GB
    • TERABYTE | TB
    • PETABYTE | PB
    • EXABYTE | EB
  • Horário:
    • MILLISECOND | MS
    • S | SEC | SECS | SECOND | SECONDS
    • M | MIN | MINS | MINUTE | MINUTES
    • H | HR | HRS | HOUR | HOURS
    • D | DAY | DAYS
    • W | WEEK | WEEKS
    • MON | MONTH | MONTHS
    • Y | YR | YRS | YEAR | YEARS
    • MICRO | µs
  • Potência:
    • WATT
    • KILOWATT | kW
    • MEGAWATT | MW
    • GIGAWATT | GW
    • TERAWATT | TW
    • PETAWATT | PW
    • EXAWATT | EW
  • Temperatura:
    • KELVIN | K
    • CELSIUS | C
    • FAHRENHEIT | F
  • Frequência:
    • HERTZ | Hz
    • KILOHERTZ | kHz
    • MEGAHERTZ | MHz
    • GIGAHERTZ | GHz
    • TERAHERTZ | THz
    • PETAHERTZ | PHz
    • EXAHERTZ | 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ção indexOf().
  • Localize a posição do terceiro /.
  • Extraia os valores após a segunda /, até a terceira /, usando a função substr().
'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, API

Exemplo de saída:


Caso de Uso: Extraia a parte relevante do caminho da API do campo Logs de Auditoria do OCI, Caminho

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 . usando lastIndexOf().
  • A partir desse deslocamento, identifique a posição do . anterior, usando outro lastIndexOf(), 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, Area

Exemplo de saída:


Caso de Uso: Extrair a Área do campo Tipo nos Logs de Auditoria do OCI

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>&region=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%20

Gerar um link para pesquisar todas as strings especificadas em oracle.com

eval Help = url('ora', 'Search Oracle', 'ORA-600')

eval Help = url('search:oracle', 'Search Oracle', 'ORA-600')

tecnologia

tecnologia da oracle

https://community.oracle.com/tech/search?query=

Gerar um link para pesquisar fóruns de tecnologia Oracle

eval Help = url('tech', 'Search Oracle Tech Forums', 'ORA-600')

eval Help = url('oracle-tech', 'Search Oracle Tech Forums', 'ORA-600')

mosc

oracle-mosc

https://community.oracle.com/mosc/search?query=

Gerar um link para pesquisar fóruns do My Oracle Support

eval Help = url('mosc', 'Search Oracle Support', 'ORA-600')

eval Help = url('oracle-mosc', 'Search Oracle Support', 'ORA-600')

google https://www.google.com/search?q=

Gerar um link para pesquisar usando o Google

eval 'More Info' = url('google', 'Search using Google', 'ORA-600')

bing https://www.bing.com/search?q=

Gerar um link para pesquisar usando o Bing

eval 'More Info' = url('bing', 'Search using Bing', 'ORA-600')

ddg

duckduckgo

https://duckduckgo.com/?q=

Gerar um link para pesquisa usando DuckDuckGo

eval 'More Info' = url('ddg', 'Search using DuckDuckGo', 'ORA-600')

eval 'More Info' = url('duckduckgo', 'Search using DuckDuckGo', 'ORA-600')

so

fluxo de transferência de pilha

https://stackoverflow.com/search?q=

Gere um link para pesquisar em StackOverflow

eval 'More Info' = url('so', 'Search using StackOverflow', 'ORA-600')

eval 'More Info' = url('stackoverflow', 'Search using StackOverflow', 'ORA-600')

cve

https://www.cve.org/CVERecord?id=

Gerar um link para o ID de CVE fornecido

* | link

| eval 'CVE Details' = url(cve, 'CVE-2021-22931 - Improper Null Termination in Node.js', 'CVE-2021-22931')

Generates a link to https://www.cve.org/CVERecord?id=CVE-2021-22931