eval
Utilice el comando eval para calcular el valor de una expresión y mostrar el valor en un nuevo campo.
-
Mientras que el comando
statscalcula estadísticas basadas en campos existentes, el comandoevalcrea nuevos campos mediante el uso de campos existentes y expresiones arbitrarias. -
Las funciones de procesamiento de cadenas como
indexofysubstrrequieren muchos recursos. Debido a esto, no se recomienda ejecutar el comandoevalcon estas funciones en un gran número de registros de log o en valores de campo grandes. En su lugar, extraiga estos valores utilizando las definiciones de campos ampliados (EFD) o las etiquetas del origen de log. Consulte Uso de campos ampliados en orígenes y Uso de marcas en orígenes. -
Asegúrese de que el nombre de campo utilizado en el comando
evalno contenga los caracteres[y].
Sintaxis
*|eval <new_field_name>=<expression>Operadores y funciones disponibles con el comando:
En la siguiente tabla se muestran los operadores disponibles con el comando eval.
| Categoría | Ejemplo |
|---|---|
|
Operadores aritméticos |
+, -, *, /, % |
|
Operadores de comparación |
=, !=, <, >, <=, >= |
|
Operadores lógicos |
and, or, not |
|
Operadores condicionales |
if(<expression>,<expression>,<expression>) |
|
Varios operadores de comparación |
in, not in |
En la tabla siguiente se muestran las funciones disponibles con el comando eval.
Funciones de cadena
Generalmente, la entrada para las funciones puede ser cadena literal o campo de cadena.
| Función | Descripción | Ejemplo |
|---|---|---|
|
|
Capitalizar el primer carácter de la cadena. |
Cuando |
|
|
Une dos o más cadenas de extremo a extremo, en una sola cadena.
|
Cuando |
|
|
Decodifica el texto codificado en Base64 de nuevo a la cadena legible (UTF-8) para que se pueda mostrar en la tabla de resultados o utilizarlo de otro modo. Utilice esta función para ver el contenido real cuando se codifica una carga útil de log o un campo de metadatos. Nota: si el valor de cadena es un campo, debe ser sensible a mayúsculas/minúsculas. |
|
|
|
Codifica la cadena de entrada en formato Base64. |
|
|
|
Devuelve el nombre del campo especificado como una cadena. |
|
|
|
Devuelve el tipo de dato del campo especificado, por ejemplo, STRING, NUMBER. |
|
|
|
Devuelve la posición (índice) de la primera aparición de una subcadena (cadena literal o campo de cadena) dentro de una cadena (cadena literal o campo de cadena). Opcionalmente, puede especificar un índice inicial para la búsqueda mediante el tercer argumento opcional. Consulte indexof Function Details. |
|
|
|
Devuelve la posición (índice) de la última incidencia de una subcadena (cadena literal o campo de cadena) dentro de una cadena (cadena literal o campo de cadena). Opcionalmente, puede especificar un índice inicial desde el que buscar (buscar hacia atrás desde). Consulte lastindexof Function Details. |
|
|
|
Devuelve el número de caracteres de la cadena. |
|
|
|
Convierte un valor o expresión de campo en una cadena literal. |
|
|
|
Convierte todos los caracteres de la cadena a minúsculas. |
Cuando |
|
|
Elimina el espacio en blanco inicial (cuando no se especifica ningún segundo argumento) o un juego de caracteres especificado (segundo argumento opcional) desde el principio (izquierda) de la cadena. |
|
|
|
Sustituye las incidencias de una subcadena por una nueva cadena. Puede proporcionar varios pares de cadenas de búsqueda y sustitución para realizar varias sustituciones a la vez. Consulte replace Function Details. |
|
|
|
Invierte el orden de los caracteres de la cadena. |
|
|
|
Elimina el espacio en blanco final de un juego de caracteres especificado del final (lado derecho) de la cadena. |
|
|
|
Devuelve una parte de la cadena, empezando por el índice especificado. Si lo desea, puede especificar la longitud de la subcadena que se va a devolver. Consulte substr Function Details. |
|
|
|
Convierte un registro de hora de cadena en un objeto Date. Opcionalmente, puede especificar el formato que se va a utilizar para analizar el registro de hora de la cadena. |
|
|
|
Incluye una cadena que representa el tiempo de duración (HH:mm:ss) en un objeto Duración, lo que permite operaciones matemáticas y de comparación de tiempo. |
|
|
|
Convierte una representación de cadena de un número en un tipo de dato numérico real. |
Cuando |
|
|
Elimina el espacio en blanco de ambos extremos de una cadena (por defecto) o elimina la subcadena especificada si se proporciona como segundo argumento (opcional). |
|
|
|
Convierte todos los caracteres de la cadena a mayúsculas. |
Cuando |
|
|
Decodifica una cadena codificada en URL de nuevo a su formato original. |
|
|
|
Codifica una cadena en su formato de URL equivalente. |
|
|
|
Crea un enlace URL en el que se puede hacer clic (valor por defecto), con el nombre mostrado y los parámetros si se especifican en el segundo y tercer argumentos opcionales, respectivamente. Consulte url Function Details y Oracle-Defined url Short-Cuts. |
|
Funciones numéricas
| Función | Descripción | Ejemplo |
|---|---|---|
|
|
Devuelve el valor absoluto (positivo) de un número. |
|
|
|
Redondea un número hasta el número entero más cercano (entero). |
|
|
|
Calcula la distancia entre dos conjuntos de coordenadas dadas en números. El valor devuelto por la función está en millas. Los números están en grados. |
|
|
|
Calcula la distancia entre dos conjuntos de coordenadas dadas en cadenas. El valor devuelto por la función está en millas. Los números están en grados. |
|
|
|
Redondea un número hacia abajo hasta el número entero más cercano (entero). |
|
|
|
Convierte un valor numérico de duración (en segundos) en el formato de código de tiempo HH:mm:ss. |
|
|
|
Devuelve el valor más alto de los dos números proporcionados. |
|
|
|
Devuelve el valor inferior de los dos números proporcionados. |
|
|
|
Devuelve el valor de un número elevado a la potencia especificada. |
|
|
|
Redondea un número al número entero más cercano (predeterminado) o a un número específico de decimales si se proporciona en el segundo argumento. |
|
|
|
Calcula la raíz cuadrada de un número |
|
|
|
Protege un valor numérico de una cadena. |
|
|
|
Aplica formato a un número con la unidad específica proporcionada, por ejemplo, KB, MB, byte, seg. Consulte Tipos soportados para la Función unit, Tipos de moneda soportados en la Función unit y Funciones de cadena. |
|
Funciones de fecha
Al igual que el comando where, puede utilizar una cadena legible por el usuario para manipular el tiempo en la consulta. Por ejemplo, para crear un nuevo campo denominado 10mins Más tarde que esté 10 minutos por delante del valor en el campo Hora:
* | eval '10mins Later' = Time + 10mins
Consulte User-Friendly Time Strings in Comparisons.
| Función | Descripción | Ejemplo |
|---|---|---|
|
|
Agrega o resta la cantidad de tiempo especificada (propiedad = hora, día, mínimo, etc.) de una fecha. |
|
|
|
Establece una parte específica de una fecha (es decir, establece la hora en 0 para encontrar "medianoche"). |
|
|
|
Formatea un objeto de fecha en una cadena personalizada para su visualización |
|
|
|
Devuelve la fecha y hora actuales del sistema. |
|
Funciones condicionales
| Función | Descripción | Ejemplo |
|---|---|---|
|
|
Comprueba si una dirección IP pertenece a un bloque de CIDR específico. |
|
|
|
Devuelve true si la primera cadena contiene la segunda. De lo contrario, devuelve false. |
|
|
|
Devuelve true si la cadena (primer argumento) termina con la subcadena especificada (segundo argumento). De lo contrario, devuelve false. |
|
|
|
Evalúa una condición expresión1 y devuelve expresión2 si es verdadero, devuelve expresión3 si es falso. |
Cuando |
|
|
Devuelve true si la cadena empieza por la subcadena especificada. |
|
|
|
Devuelve true si alguna de las condiciones es true; de lo contrario, devuelve false. |
Cuando |
|
|
Devuelve true si todas las condiciones son true; de lo contrario, devuelve false. |
Cuando |
|
|
Devuelve true si alguno de los campos tiene el valor especificado; de lo contrario, devuelve false. |
Cuando |
|
|
Devuelve true si todos los campos tienen el valor especificado; de lo contrario, devuelve false. |
Cuando |
Para ver ejemplos del uso de las funciones anyOf, allOf, anyFields y allFields, consulte search y where.
Funciones hash
| Función | Descripción | Ejemplo |
|---|---|---|
|
|
Genera un hash MD5 del valor de entrada. |
|
|
|
Genera un hash SHA-1 del valor de entrada. |
|
|
|
Genera un hash SHA-256 del valor de entrada. |
|
|
|
Genera un SHA-512 del valor de entrada. |
|
Nota: las funciones md5 y sha funcionan actualmente en los valores de campo en minúsculas.
Funciones trigonométricas
| Función | Descripción | Ejemplo |
|---|---|---|
|
|
Devuelve la arcosina (cosina inversa) de un número en radianes. |
|
|
|
Devuelve el arco (seno inverso) de un número en radianes. |
|
|
|
Devuelve el arcotangente de un número en radianes. |
|
|
|
Devuelve el arcotangente del cociente de sus argumentos (y=num1,x=num2). Ángulo en radianes en una coordenada polar, para las coordenadas cartesianas a=num1 y b=num2. |
|
|
|
Devuelve el coseno de un ángulo en radianes. |
|
|
|
Devuelve la constante matemática e (aproximadamente 2,718). |
|
|
|
Devuelve la constante matemática pi (aproximadamente 3.141) |
|
|
|
Devuelve el seno de un ángulo en radianes. |
|
|
|
Devuelve la tangente de un ángulo en radianes. |
|
|
|
Convierte un ángulo de radianes a grados. |
|
|
|
Convierte un ángulo de grados a radianes. |
|
Parámetros
En la siguiente tabla se muestran los parámetros utilizados en este comando, junto con sus descripciones.
| Parámetro | Descripción |
|---|---|
|
|
Especifique el nombre del campo donde se va a mostrar el valor calculado de la expresión. |
|
|
Especifique la expresión para la que se debe calcular el valor. |
Para ver ejemplos del uso de este comando en escenarios habituales, consulte:
- Cambio del nombre de los campos mediante la edición de la consulta
- Marca de la unidad de un campo en tiempo de consulta
- Gráfico de histograma
- Visualización de datos de series de tiempo mediante la función de tendencia Link
- Generación de gráficos con campos virtuales
- Enlace con Sentencia SQL como campo de análisis
- Análisis del tiempo transcurrido entre pasos de una transacción
- Uso de funciones de navegación de enlaces para identificar eventos en una base de datos
- Adición de URL a tabla de enlaces
- Usar recorte corto de URL con nombre personalizado
- Uso de los símbolos de moneda en el análisis de log
A continuación se muestran algunos ejemplos del 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)En el siguiente ejemplo se comparan las direcciones IP del campo srvrhostip con un rango de subredes.
*|eval newField = if (cidrmatch(srvrhostip, '192.0.2.254/25') = 1, 'local', 'not local')En el siguiente ejemplo se devuelve la cadena "Target".
*|eval newField = literal(Target)En el siguiente ejemplo se eliminan los espacios y los separadores de ambos extremos.
*|eval newField = trim(Label)En el siguiente ejemplo se elimina el carácter coincidente de ambos extremos.
*|eval newField = trim('User Name',h)En el siguiente ejemplo se elimina el carácter coincidente del extremo izquierdo.
*|eval newField = ltrim('Error ID',0)En el siguiente ejemplo se elimina el carácter coincidente del extremo derecho.
*|eval newField = rtrim('OS Process ID',2)En el siguiente ejemplo se define el campo date en Start Date y se define el formato de la fecha como MM/dd/yyyy HH:mm.
*|eval date = toDate('Start Date', 'MM/dd/yyyy HH:mm')La función toDate también se puede utilizar para manejar la época de la siguiente manera:
... | where 'Start Time' > toDate(1405544998000)En el siguiente ejemplo se define el valor del campo duration en 1.30.
*|eval duration = toduration("1.30")En el siguiente ejemplo se define el valor del campo duration en un valor numérico, que es la diferencia entre End Time y Start Time.
*|eval duration = formatDuration('End Time' - 'Start Time')Los ejemplos que se citan a continuación ilustran la utilización de funciones de fecha.
*| 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()Puede utilizar las funciones hash md5, sha1, sha256 y sha512 con el comando eval para filtrar datos del log. En el siguiente ejemplo se define el valor del campo user con el valor sha1("jane").
*|eval user = sha1("jane")En el siguiente ejemplo, se convierte un hexadecimal en decimal y n se evalúa como 255:
* | eval n = toNumber('0xFF')En el siguiente ejemplo, se convierte un número octal en decimal y n se evalúa como 10:
* | eval n = toNumber('012')El siguiente comando calcula la distancia (en millas) entre dos pares de coordenadas lat-long especificadas en grados, cuando los valores de entrada son números:
* | eval n = distance(lat1, long1, lat2, long2) El siguiente comando calcula la distancia (en millas) entre dos pares de coordenadas lat-long (en grados), cuando los valores de entrada son dos cadenas:
* | eval n = distance('lat1,long1', 'lat2,long2')Ejemplos para la función unit
Puede utilizar la función unit con Link, Pie, Bar o cualquier gráfico de tabla.
Algunos ejemplos sencillos:
* | 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')
Ejemplos de unidades comunes como bytes, moneda y duración:
* | 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'
Ejecute las tres consultas anteriores en la visualización de mosaico con la opción Número de formato activada para obtener los mejores resultados.
Se utilizaría un campo con un tamaño o tipo unit para Dar formato a los valores en el gráfico De análisis de vínculos, los histogramas de addfields, la tabla de vínculos y la visualización de mosaicos:
'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 un campo que contenga dólares estadounidenses, miles de dólares estadounidenses, millones de dólares estadounidenses o miles de millones de dólares estadounidenses, 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 Soportados para la Función unit
Nombres de unidad:
PERCENT | PCT- Tamaño de los datos:
BYTEKILOBYTE | KBMEGABYTE | MBGIGABYTE | GBTERABYTE | TBPETABYTE | PBEXABYTE | EB
- Hora:
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
- Alimentación:
WATTKILOWATT | kWMEGAWATT | MWGIGAWATT | GWTERAWATT | TWPETAWATT | PWEXAWATT | EW
- Temperatura:
KELVIN | KCELSIUS | CFAHRENHEIT | F
- Frecuencia:
HERTZ | HzKILOHERTZ | kHzMEGAHERTZ | MHzGIGAHERTZ | GHzTERAHERTZ | THzPETAHERTZ | PHzEXAHERTZ | EHz
Tipos de moneda soportados en la función unit
Consulte los enlaces de ejemplo del comando eval para utilizar la función en escenarios típicos.
Especifique la unidad de moneda con el siguiente 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)Los sufijos _k, _m y _b se utilizan para indicar la moneda en miles, millones o miles de millones, respectivamente. Para obtener una lista completa de códigos de moneda, consulte Estándares ISO.
NLS_Territory |
Divisa |
|---|---|
| AFGANISTÁN | AFN |
| ALBANIA | TODO |
| ARGELIA | DZD |
| EE.UU. | Dólares estadounidenses |
| ANGOLA | AOA |
| ANTIGUA & BARBUDA | XCD |
| ARGENTINA | ARS |
| ARMENIA | AMD |
| ARUBA | AWG |
| AUSTRALIA | AUD |
| AUSTRIA | EUR |
| AZERBAIYÁN | AZN |
| BAHAMAS | BSD |
| BAHREIN | BHD |
| BANGLADESH | BDT |
| BARBADOS | BBD |
| BIELORRUSIA | BYN |
| BÉLGICA | EUR |
| BELICE | BZD |
| BERMUDAS | DMO |
| BOLIVIA | Fecha de nacimiento |
| BOSNIA-HERZEGOVINA | BAM |
| BOTSUANA | Plan de trabajo |
| BRASIL | BRL |
| BULGARIA | Número de serie global |
| CAMBOYA | KHR |
| CAMERÚN | XAF |
| CANADÁ | CAD |
| ISLAS CAIMANES | KYD |
| CHILE | CLP |
| CHINA | CNY |
| COLOMBIA | COP |
| CONGO BRAZZAVILLE | XAF |
| KINSASA DEL CONGO | CDF |
| COSTA RICA | CRC |
| CROACIA | RR. HH. |
| CURAZAO | ANG |
| CHIPRE | EUR |
| REPÚBLICA CHECA | CZK |
| DINAMARCA | DKK |
| DJIBUTI | DJ |
| DOMINICA | XCD |
| REPÚBLICA DOMINICANA | DOP |
| ECUADOR | Dólares estadounidenses |
| EGIPTO | EGP |
| SALVADOR | SVC |
| ESTONIA | EUR |
| ETIOPÍA | ETB |
| FINLANDIA | EUR |
| FRANCIA | EUR |
| ANTIGUA MACEDONIA | MKD |
| GABÓN | XAF |
| GEORGIA | GEL |
| ALEMANIA | EUR |
| GHANA | SGA |
| GRECIA | EUR |
| GRANADA | XCD |
| GUATEMALA | GTQ |
| GUAYANA | GID |
| HAITI | HTG |
| HONDURAS | HNL |
| HONGKONG | HKD |
| HUNGRÍA | HUF |
| ISLANDIA | ISK |
| INDIA | IIN |
| INDONESIA | IDR |
| IRÁN | IRR |
| IRAK | IQD |
| IRLANDA | EUR |
| ISRAEL | ILS |
| ITALIA | EUR |
| COSTA DE MARFIL | XOF |
| JAMAICA | JMD |
| JAPÓN | JPY |
| JORDANIA | JOD |
| KAZAJISTÁN | KZT |
| KENIA | KES |
| COREA | Peso máximo autorizado |
| KUWAIT | KWD |
| KIRGUIZISTÁN | KGS |
| LAOS | Etiqueta |
| LETONIA | EUR |
| LÍBANO | LBP |
| LIBIA | Último año |
| LIECHTENSTEIN | CHF |
| LITUANIA | EUR |
| LUXEMBURGO | EUR |
| MACAO | Punto de venta |
| MALAUI | MWK |
| MALASIA | Milenio |
| MALDIVAS | MVR |
| MALTA | EUR |
| MAURITANIA | MRU |
| MAURICIO | MUR |
| MÉXICO | MXN |
| MOLDAVIA | MDL |
| MONTENEGRO | EUR |
| MARRUECOS | MAD |
| MOZAMBIQUE | MZN |
| MYANMAR | MMK |
| NAMIBIA | NAD |
| NEPAL | NPR |
| NUEVA ZELANDA | NZD |
| NICARAGUA | NIO |
| NIGERIA | NGN |
| NORUEGA | NOK |
| OMÁN | OMR |
| PAKISTÁN | PKR |
| PANAMÁ | PAB |
| PARAGUAY | PYG |
| PERÚ | PEN |
| FILIPINAS | PHP |
| POLONIA | PLN |
| PORTUGAL | EUR |
| PUERTO RICO | Dólares estadounidenses |
| QATAR | QAR |
| RUMANÍA | RON |
| RUSIA | RUB |
| SAINT KITTS Y NEVIS | XCD |
| SANTA LUCIA | XCD |
| ARABIA SAUDÍ | SAR |
| SENEGAL | XOF |
| SERBIA | RSD |
| SIERRA LEÓN | SLL |
| SINGAPUR | SGD |
| ESLOVAQUIA | EUR |
| ESLOVENIA | EUR |
| SOMALIA | SOS |
| SUDÁFRICA | ZAR |
| SUDÁN DEL SUR | Precio de venta independiente |
| ESPAÑA | EUR |
| SRI LANKA | LKR |
| SUDÁN | ODS |
| SURINAM | SRD |
| SUAZILANDIA | SZL |
| SUECIA | SEK |
| SUIZA | CHF |
| SIRIA | SYP |
| TAIWÁN | TWD |
| TANZANIA | TZS |
| TAILANDIA | THB |
| HOLANDA | EUR |
| TRINIDAD Y TOBAGO | TTD |
| TÚNEZ | TND |
| TURQUÍA | INTENTAR |
| TURKMENISTÁN | TMT |
| UGANDA | Experiencia de usuario |
| UCRANIA | UAH |
| EMIRATOS ÁRABES UNIDOS | DEA |
| REINO UNIDO | GBP |
| URUGUAY | UYU |
| UZBEKISTÁN | UZS |
| VENEZUELA | VES |
| VIETNAM | VND |
| YEMEN | AÑO |
| ZAMBIA | ZMW |
| ZIMBABUE | ZWL |
indexof Detalles de función
Sintaxis de la función index0f:
indexof (String, String [,int])índice (cadena, cadena [,start_pos]): el recuento de índices comienza con 0, devuelve el índice de coincidencia a partir de start_pos (si se proporciona) y devuelve -1 si no hay coincidencia.
En el siguiente ejemplo se define el valor del campo newField con la posición de .com en la cadena uri.
*|eval newField = indexOf(uri, '.com')Caso de uso: extraiga la parte relevante de la ruta de acceso de API del campo Logs de auditoría de OCI, Ruta de acceso
El campo Ruta de acceso contiene un valor como /apis/coordination.k8s.io/v1/namespaces/default/leases/oracle.com-oci.
Puede extraer el valor coordination.k8s del campo anterior siguiendo estos pasos:
- Busque la posición del primer y segundo
/mediante la funciónindexOf(). - Encuentra la posición del tercer
/. - Extraiga los valores después del segundo
/, hasta el tercer/, mediante la funciónsubstr().
'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, APIEjemplo de salida:

lastindexof Detalles de función
Sintaxis de la función lastindexof:
lastindexof(String, String, int)lastindexof (Cadena, Cadena [, end_pos]): el recuento de índices comienza con 0, devuelve el índice de la última incidencia de subcadena antes de end_pos (si se proporciona) y devuelve -1 si no hay ninguna coincidencia. El argumento end_pos es opcional.
Algunos ejemplos para utilizar la función lastindexof:
*|eval n = lastindexof(uri, '.com')Caso de uso: extraiga el área del campo Tipo en los logs de OCI Audit
El campo Tipo contiene un valor como com.oraclecloud.computeApi.GetInstance.
Para extraer computeAPI del valor anterior, puede utilizar el siguiente esquema:
- Identifique la posición del último
.mediantelastIndexOf(). - Desde este desplazamiento, identifique la posición del
.anterior, utilizando otrolastIndexOf(), pero proporcionando el desplazamiento desde donde buscar hacia atrás. - Extraiga el valor entre estas dos posiciones mediante
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, AreaEjemplo de salida:

replace Detalles de función
Sintaxis de la función replace:
replace(String, String, String, String, String, ..)replace soporta varias sustituciones en una sola función. Algunos ejemplos para utilizar la función replace:
-
*|eval newField = replace('aabbcc', 'bb', 'xx') -
*|eval newField = replace('aabbcc', 'bb', 'xx', 'cc', 'yy') -
Ejemplo de varias acciones de sustitución en una única función
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 Detalles de función
Sintaxis de la función substr:
substr(String, int [, int])substr(String, start_pos, end_pos - 1): el recuento de índices comienza con start_pos y termina con end_pos - 1.
En el siguiente ejemplo, newField es la subcadena de aabbcc, donde el índice de inicio (inclusive) es 2 y el índice de finalización (exclusive) es 4. Tenga en cuenta que para las cadenas, el recuento de índices empieza por 0. Así que la subcadena resultante es bb.
*|eval newField = substr('aabbcc', 2, 4)Para casos de uso en los que se utiliza la función substr, consulte indexof Function Details y lastindexof Function Details.
Detalles de la función url
Sintaxis de la función url:
url(String, Name, Parameter)Los valores de Nombre y Parámetro son opcionales.
- Cadena: puede ser una URL o una de las abreviaturas predefinidas. Por ejemplo:
eval Link = url('https://www.oracle.com') - Nombre: nombre opcional de la URL. Por ejemplo:
eval Link = url('https://www.oracle.com', 'Oracle Home Page') - Parámetro: parámetro opcional si se utiliza un acceso directo para Cadena. Por ejemplo:
eval Link = url('tech', 'Search Oracle', 'ORA-600')
Algunos ejemplos para utilizar la función 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
Ejemplos para utilizar la función url después del 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)
Cortes Cortos de url Definidos por Oracle
Los siguientes métodos abreviados definidos por Oracle están disponibles para su uso con la función url para el comando eval.
| Corto corto | URL y descripción | Ejemplo |
|---|---|---|
|
ora búsqueda:oracle |
https://www.google.com/search?q=site:oracle.com%20Generar un enlace para buscar todas las cadenas especificadas en |
|
|
tecnología oracle-tecnología |
https://community.oracle.com/tech/search?query=Generar un enlace para buscar en foros de tecnología de Oracle |
|
|
mezquita oracle-mosc |
https://community.oracle.com/mosc/search?query=Generar un enlace para buscar en foros de My Oracle Support |
|
https://www.google.com/search?q=Generar un enlace para buscar con Google |
|
|
| bing | https://www.bing.com/search?q=Generar un enlace para buscar mediante Bing |
|
|
ddg pato |
https://duckduckgo.com/?q=Generar un enlace para buscar mediante DuckDuckGo |
|
|
so desbordamiento de pila |
https://stackoverflow.com/search?q=Generar un enlace para buscar en StackOverflow |
|
|
cve |
https://www.cve.org/CVERecord?id=Generar un enlace para el ID de CVE proporcionado |
|