eval

Utilisez la commande eval pour calculer la valeur d'une expression et afficher la valeur dans un nouveau champ.

Note

  • Alors que la commande stats calcule les statistiques en fonction des champs existants, la commande eval crée de nouveaux champs en utilisant des champs existants et des expressions arbitraires.

  • Les fonctions de traitement de chaîne telles que indexof et substr nécessitent beaucoup de ressources. Pour cette raison, il n'est pas recommandé d'exécuter la commande eval avec ces fonctions sur un grand nombre d'enregistrements de journal ou sur des valeurs de champ volumineuses. À la place, extrayez ces valeurs à l'aide des définitions de champ étendu (EFD) ou des étiquettes dans votre source de journaux. Voir Use Extended Fields in Sources (Utiliser des champs étendus dans les sources) et Use Labels in Sources (Utiliser des étiquettes dans les sources).

  • Assurez-vous que le nom de champ utilisé dans la commande eval ne contient pas les caractères [ et ].

Syntaxe

*|eval <new_field_name>=<expression>

Opérateurs et fonctions disponibles avec la commande :

Le tableau suivant répertorie les opérateurs disponibles avec la commande eval.

Catégorie Exemple

Opérateurs arithmétiques

+, -, *, /, %

Opérateurs de comparaison

=, !=, <, >, <=, >=

Opérateurs logiques

and, or, not

Opérateurs conditionnels

if(<expression>,<expression>,<expression>)

Opérateurs de comparaison multiple

in, not in

Le tableau suivant répertorie les fonctions disponibles avec la commande eval.

Fonctions de chaîne

Généralement, l'entrée des fonctions peut être une chaîne littérale ou un champ de chaîne.

Fonction Description Exemple

capitalize(String)

Capitaliser le premier caractère de la chaîne.

capitalize("hello world") retourne "Hello world".

Lorsque severity="fatal", capitalize(severity) génère "Fatal".

concat(String, String)

Joint deux ou plusieurs chaînes de bout en bout, en une seule chaîne.

  • Pour la fonction concat(), vous pouvez entrer des types de données numériques tels que nombre entier, nombre à virgule flottante ou nombre long. Champs numériques à convertir automatiquement en valeurs de chaîne correspondantes.

  • Vous pouvez utiliser || pour concaténer n entrées. Ici aussi, vous pouvez entrer des types de données numériques qui seront automatiquement convertis en valeurs de chaîne correspondantes.

concat("System, Error") retourne "SystemError".

Lorsque severity="fatal" et host="my_host_123", concat(severity, concat("_", host)) génère "fatal_my_host_123".

decode64(String)

Décode le texte encodé en Base64 vers une chaîne lisible (UTF-8) afin qu'il puisse être affiché dans la table de résultats ou utilisé autrement. Utilisez cette fonction pour voir le contenu réel lorsqu'un champ de données utiles ou de métadonnées de journal est encodé.

Note : Si la valeur de la chaîne est un champ, il doit s'agir d'un champ sensible à la casse.

decode64("SGVsbG8gV29ybGQ=") retourne "Hello Word".

encode64(String)

Encode la chaîne d'entrée au format Base64.

encode64("Hello World") retourne "SGVsbG8gV29ybGQ=".

fieldName(String)

Retourne le nom du champ spécifié sous forme de chaîne.

fieldName(Entity) retourne "Entity". (Retourne le nom de chaîne du champ référencé)

fieldType(String)

Retourne le type de données du champ spécifié, par exemple STRING, NUMBER.

fieldType(Entity) retourne "STRING".

fieldType(Content_Size) retourne "NUMBER".

indexof (String, String [,int])

Retourne la position (index) de la première occurrence d'une sous-chaîne (chaîne littérale ou champ de chaîne) dans une chaîne (chaîne littérale ou champ de chaîne). Vous pouvez éventuellement spécifier un index de début pour la recherche à l'aide du troisième argument facultatif.

Voir Détails de l'index de la fonction.

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

indexOf("error_log_01", "_", 6) retourne 9. (Commence à rechercher à l'index spécifié=6)

lastindexof(String, String, int)

Retourne la position (index) de la dernière occurrence d'une sous-chaîne (chaîne littérale ou champ de chaîne) dans une chaîne (chaîne littérale ou champ de chaîne). Vous pouvez éventuellement spécifier un index de début à partir duquel effectuer la recherche (rechercher vers l'arrière à partir de).

Voir lastindexof Function Details.

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

lastIndexOf("error_log_01", "_", 8) retourne 5. (Recherche en arrière à partir de index=8).

length(String)

Retourne le nombre de caractères dans la chaîne.

length("Oracle") retourne 6

length(host1) retourne 10. (où la valeur de l'hôte référencé1 est une chaîne de 10 caractères, host1="my_host_13")

literal(String)

Convertit une valeur de champ ou une expression en chaîne littérale.

literal(Severity) retourne "Severity" (retourne le nom du champ en tant que chaîne statique)

lower(String)

Convertit tous les caractères de la chaîne en minuscules.

lower("WARNING") retourne "warning"

Lorsque severity="FATAL", lower(severity) retourne "fatal"

ltrim(String, Character)

Supprime le blanc de début (lorsqu'aucun second argument n'est spécifié) ou un jeu de caractères spécifié (facultatif second argument) du début (à gauche) de la chaîne.

ltrim(" data") retourne "data"

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

replace(String, String, String, String, String, ..)

Remplace les occurrences d'une sous-chaîne par une nouvelle chaîne. Vous pouvez fournir plusieurs paires de chaînes de recherche et de remplacement pour effectuer plusieurs substitutions à la fois.

Voir Détails de la fonction de remplacement.

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

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

reverse(String)

Inverse l'ordre des caractères dans la chaîne.

reverse("flow") retourne "wolf"

rtrim(String, Character)

Supprime les blancs de fin d'un jeu de caractères spécifié de la fin (côté droit) de la chaîne.

rtrim("data ") retourne "data"

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

substr(String, int [, int])

Retourne une partie de la chaîne, en commençant à l'index spécifié. Vous pouvez éventuellement spécifier la longueur de la sous-chaîne à retourner.

Voir Détails de la fonction de sous-str.

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

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

todate(String [, format])

Convertit un horodatage de chaîne en objet Date. Vous pouvez éventuellement spécifier le format à utiliser pour analyser l'horodatage de la chaîne.

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

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

toduration(String)

Couvre une chaîne représentant le temps de durée (HH:mm:ss) dans un objet Durée, permettant des opérations mathématiques et de comparaison de temps.

toDuration("1:30:00") retourne 1:30:00 (cela représente une durée de 1 heure et 30 minutes)

tonumber(String)

Convertit une représentation de chaîne d'un nombre en un type de données numérique réel.

toNumber("400") retourne 400

Lorsque employees = "2000", la valeur de toNumber(employees) est 2000

trim(String, Character)

Supprime les espaces des deux extrémités d'une chaîne (par défaut) ou supprime la sous-chaîne spécifiée si elle est fournie en tant que deuxième argument (facultatif).

trim(" 12Error12 ") retourne "12Error12"

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

upper(String)

Convertit tous les caractères de la chaîne en majuscules.

upper("warning") retourne "WARNING"

Lorsque severity="fatal", upper(severity) retourne "FATAL"

urlDecode(String)

Décode une chaîne encodée par URL dans son format d'origine.

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

urlEncode(String)

Encode une chaîne dans son format d'URL équivalent.

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

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

Crée un lien d'URL cliquable (par défaut), avec le nom d'affichage et les paramètres s'ils sont spécifiés dans les deuxième et troisième arguments facultatifs, respectivement.

Voir Détails de la fonction URL et Raccourcis d'URL définis par Oracle.

url("https://oracle.com", "Home") retourne Home (qui redirige vers l'URL indiquée)

Fonctions numériques

Fonction Description Exemple

abs(number)

Renvoie la valeur absolue (positive) d'un nombre.

abs(-13) retourne 13

ceil(number)

Arrondit un nombre au nombre entier le plus proche (entier).

ceil(10.2) retourne 11

distance(number, number, number, number)

Calcule la distance entre deux jeux de coordonnées donnés en nombres. La valeur retournée par la fonction est en milles. Les nombres sont en degrés. toRadians() convertit les degrés en radians.

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

distance(string, string)

Calcule la distance entre deux jeux de coordonnées donnés dans les chaînes. La valeur retournée par la fonction est en milles. Les chiffres sont en degrés.

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

floor(number)

Arrondit un nombre au nombre entier le plus proche (entier).

floor(13.8) retourne 13

formatduration(number)

Convertit une valeur de durée numérique (en secondes) au format de code temporel HH:mm:ss.

formatDuration(3660) retourne 01:01:00

max(number, number)

Retourne la valeur la plus élevée des deux nombres fournis.

max(13, 27) retourne 27

min(number, number)

Retourne la valeur inférieure des deux nombres fournis.

min(13, 27) retourne 13

power(number, int)

Retourne la valeur d'un nombre élevé à la puissance spécifiée.

power(2, 3) retourne 8

round(number, int)

Arrondit un nombre au nombre entier le plus proche (par défaut), ou à un nombre de décimales spécifique si fourni dans le deuxième argument.

round(13.3) retourne 13

round(10.576, 2) retourne 10.58

sqrt(number)

Calcule la racine carrée d'un nombre.

sqrt(16) retourne 4

tostring(number)

Couvre une valeur numérique dans une chaîne.

toString(200) retourne "200"

unit(number, unit).

Formate un nombre avec l'unité spécifique fournie, par exemple, Ko, Mo, octet, sec.

Voir Types pris en charge pour la fonction unit, Types de devise pris en charge dans la fonction unit et Fonctions de chaîne.

unit(1024, KB) retourne 1024 KB

Fonctions de date

Comme pour la commande where, vous pouvez utiliser une chaîne lisible par un humain pour manipuler l'heure dans l'interrogation. Par exemple, pour créer un nouveau champ nommé 10mins Later (Plus tard) qui est 10 minutes avant la valeur du champ Time (Heure) :

* | eval '10mins Later' = Time + 10mins

Voir Chaînes de temps conviviales dans les comparaisons.

Fonction Description Exemple

dateadd(date, property, amount)

Ajoute ou soustrait la durée spécifiée (propriété = heure, jour, min, etc.) à partir d'une date.

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

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

Définit une partie spécifique d'une date (c'est-à-dire, en réglant l'heure à 0 pour trouver " minuit ").

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

formatdate(date [,format])

Formate un objet de date en une chaîne personnalisée à afficher

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

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

now()

Retourne la date et l'heure courantes du système.

now() retourne 2026-01-28T23:16:53Z (date et heure courantes)

Fonctions conditionnelles

Fonction Description Exemple

cidrmatch(String, String)

Vérifie si une adresse IP appartient à un bloc CIDR spécifique.

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

contains(String, String)

Retourne Vrai si la première chaîne contient la deuxième chaîne. Sinon, retourne la valeur false.

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

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

endsWith(String, String)

Retourne Vrai si la chaîne (premier argument) se termine par la sous-chaîne spécifiée (deuxième argument). Sinon, retourne la valeur false.

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

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

Évalue une expression de condition1 et retourne expression2 si vrai, retourne expression3 si faux.

Lorsque Status = 200, if(Status == 200, "OK", "ERROR") retourne "OK"

startsWith(String, String)

Retourne Vrai si la chaîne commence par la sous-chaîne spécifiée.

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

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

Retourne Vrai si l'une des conditions est Vrai, sinon retourne Faux.

Lorsque Severity="ERROR", anyOf(Severity=="ERROR", Severity=="WARNING", Severity=="FATAL" ) retourne true

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

Retourne Vrai si toutes les conditions sont vraies, sinon retourne Faux.

Lorsque Severity="ERROR", anyOf(Severity=="ERROR", Severity=="WARNING", Severity=="FATAL" ) retourne false

anyFields(wildCardExpression) = value

Retourne Vrai si l'un des champs contient la valeur spécifiée, sinon retourne Faux.

Lorsque StatusId = 34721, anyFields('*Id') = 34721 retourne true (vérifie les valeurs de tous les champs qui ont Id dans le nom du champ)

allFields(wildCardExpression) = value

Retourne Vrai si tous les champs ont la valeur spécifiée, sinon retourne Faux.

Lorsque StatusId = 34721, allFields('*Id') = 34721 retourne false (vérifie les valeurs de tous les champs qui ont Id dans le nom du champ)

Pour des exemples d'utilisation des fonctions anyOf, allOf, anyFields et allFields, voir rechercher et .

Fonctions de hachage

Fonction Description Exemple

md5(<value to hash>)

Génère un code de hachage MD5 de la valeur d'entrée.

md5("password123") retourne 42f749ade7f9e195bf475f37a44cafcb

sha1(<value to hash>)

Génère un hachage SHA-1 de la valeur d'entrée.

sha1("data") retourne 84983c60f7daadc1cb86986216801e7929f60fef

sha256(<value to hash>)

Génère un hachage SHA-256 de la valeur d'entrée.

sha256("data") retourne 3a6eb0790f39ac87c94f3856b2dd2c5d110e6811602261a9a923d3bb23adc8b7

sha512(<value to hash>)

Génère un SHA-512 de la valeur d'entrée.

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

Note : Les fonctions md5 et sha fonctionnent actuellement sur les valeurs de champ en minuscules.

Fonctions trigonométriques

Fonction Description Exemple

arccos(<number>)

Retourne l'arccosine (cosine inverse) d'un nombre en radians.

arccos(1) retourne 0

arcsin(<number>)

Renvoie l'arcine (sine inverse) d'un nombre en radians.

arcsin(1) retourne 1.570796

arctan(<number>)

Renvoie l'arc tangente d'un nombre en radians.

arctan(1) retourne 0.785398 (environ décimal de π/4)

atan2(<numbera>,<numberb>)

Renvoie l'arc tangent du quotient de ses arguments (y=num1,x=num2).

Angle en radians sur une coordonnée polaire, pour les coordonnées cartésiennes a=num1 et b=num2.

arctan(1) retourne 0.785398 (environ décimal de π/4)

cos(<number>)

Retourne le cosinus d'un angle en radians.

cos(0) retourne 1

e()

Retourne la constante mathématique e (environ 2,718).

e() retourne 2.718281

pi()

Renvoie la constante mathématique pi (environ 3,141).

pi() retourne 3.141592...

sin(<number>)

Retourne le sinus d'un angle en radians.

sin(1.5708) retourne 1

tan(<number>)

Renvoie la tangente d'un angle en radians.

tan(0.7854) retourne 1

toDegrees(<number>)

Convertit un angle de radians en degrés.

toDegrees(3.14159) retourne 180

toRadians(<number>)

Convertit un angle de degrés en radians.

toRadians(180) retourne 3.14159

Paramètres

Le tableau suivant répertorie les paramètres utilisés dans cette commande, ainsi que leur description.

Paramètre Description

new_field_name

Indiquez le nom du champ dans lequel la valeur calculée de l'expression doit être affichée.

expression

Indiquez l'expression pour laquelle la valeur doit être calculée.

Voici quelques exemples de la commande 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)

L'exemple suivant compare les adresses IP du champ srvrhostip à un intervalle de sous-réseaux.

*|eval newField = if (cidrmatch(srvrhostip, '192.0.2.254/25') = 1, 'local', 'not local')

L'exemple suivant retourne la chaîne "Target".

*|eval newField = literal(Target)

L'exemple suivant supprime les espaces et les tabulations des deux extrémités.

*|eval newField = trim(Label)

L'exemple suivant supprime le caractère de mise en correspondance des deux extrémités.

*|eval newField = trim('User Name',h)

L'exemple suivant supprime le caractère de mise en correspondance de l'extrémité gauche.

*|eval newField = ltrim('Error ID',0)

L'exemple suivant supprime le caractère de mise en correspondance de l'extrémité droite.

*|eval newField = rtrim('OS Process ID',2)

L'exemple suivant règle le champ date à Start Date et définit le format de la date comme MM/dd/yyyy HH:mm.

*|eval date = toDate('Start Date', 'MM/dd/yyyy HH:mm')

La fonction toDate peut également être utilisée pour gérer epoch comme suit :

... | where 'Start Time' > toDate(1405544998000)

L'exemple suivant définit la valeur du champ duration sur 1.30.

*|eval duration = toduration("1.30")

L'exemple suivant définit la valeur du champ duration sur une valeur numérique qui correspond à la différence entre End Time et Start Time.

*|eval duration = formatDuration('End Time' - 'Start Time')

Les exemples suivants illustrent l'utilisation des fonctions de date.

*| 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()

Vous pouvez utiliser les fonctions de hachage md5, sha1, sha256 et sha512 avec la commande eval pour filtrer les données de journal. L'exemple suivant définit la valeur du champ user avec la valeur sha1("jane").

*|eval user = sha1("jane")

L'exemple suivant convertit un hexadécimal en une décimale et n est évalué à 255 :

* | eval n = toNumber('0xFF')

L'exemple suivant convertit un nombre octal en décimal et n est évalué à 10 :

* | eval n = toNumber('012')

La commande suivante calcule la distance (en milles) entre deux paires de coordonnées lat-longues spécifiées en degrés, lorsque les valeurs d'entrée sont des nombres :

* | eval n = distance(lat1, long1, lat2, long2) 

La commande suivante calcule la distance (en milles) entre deux paires de coordonnées lat-longues (en degrés), lorsque les valeurs d'entrée sont deux chaînes :

* | eval n = distance('lat1,long1', 'lat2,long2')

Exemples pour la fonction unit

Vous pouvez utiliser la fonction unit avec des graphiques Link, Pie, Bar, ou n'importe quel graphique de table.

Quelques exemples 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')

Exemples d'unités communes telles que les octets, la devise et la durée :

* | 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'

Exécutez les trois interrogations ci-dessus sur la visualisation de vignette avec l'option Format Number (Numéro de format) cochée pour obtenir les meilleurs résultats.

Un champ avec une taille ou un type de durée unité est utilisé pour formater les valeurs dans le graphique d'analyse Link, les histogrammes addfields, la table Link et la visualisation Vignette :

'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'

Marquez un champ comme contenant respectivement des dollars américains, des milliers de dollars américains, des millions de dollars américains ou des milliards de dollars américains :

| 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)

Types pris en charge pour la fonction unit

Noms d'unité :

  • PERCENT | PCT
  • Taille des données :
    • BYTE
    • KILOBYTE | KB
    • MEGABYTE | MB
    • GIGABYTE | GB
    • TERABYTE | TB
    • PETABYTE | PB
    • EXABYTE | EB
  • Temps :
    • 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
  • Power :
    • WATT
    • KILOWATT | kW
    • MEGAWATT | MW
    • GIGAWATT | GW
    • TERAWATT | TW
    • PETAWATT | PW
    • EXAWATT | EW
  • Température :
    • KELVIN | K
    • CELSIUS | C
    • FAHRENHEIT | F
  • Fréquence :
    • HERTZ | Hz
    • KILOHERTZ | kHz
    • MEGAHERTZ | MHz
    • GIGAHERTZ | GHz
    • TERAHERTZ | THz
    • PETAHERTZ | PHz
    • EXAHERTZ | EHz

Types de devise pris en charge dans la fonction unit

Voir les exemples de liens de commande eval pour utiliser la fonction dans des scénarios types.

Indiquez l'unité de devise dans le format suivant :

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)

Les suffixes _k, _m et _b sont utilisés pour indiquer la devise en milliers, millions ou milliards, respectivement. Pour obtenir la liste complète des codes de devise, voir Normes ISO.

NLS_Territory Devise
AFGHANISTAN AFN
ALBANIE Tout
ALGÉRIE DZD
AMÉRIQUE USD
ANGOLA AOA
ANTIGUA-ET-BARBUDA XCD
ARGENTINE ARS
ARMÉNIE AMD
ARUBA Groupe AWG
AUSTRALIE AUD
AUTRICHE EUR
AZERBAÏDJAN AZN
BAHAMAS BSD
BAHREÏN Démon de messages retournés
BANGLADESH BDT
LA BARBADE BBD
BELARUS Nom d'utilisateur
BELGIQUE EUR
BELIZE BZD
BERMUDES BMD
BOLIVIE Secteur d'activité
BOSNIE-HERZÉGOVINE BAM
BOTSWANA PRP
BRÉSIL BRL
BULGARIE BGN
CAMBODGE KHR
CAMEROUN XAF
CANADA CAD
ÎLES CAÏMANS KYD
CHILI CLP
CHINE CNY
COLOMBIE COP
CONGO BRAZZAVILLE XAF
CONGO KINSHASA CDC
COSTA RICA CRCD
CROATIE Clé HR
CURACAO ANG
CHYPRE EUR
RÉPUBLIQUE TCHÈQUE CZK
DANEMARK DKK
DJIBOUTI DJF
DOMINIQUE XCD
RÉPUBLIQUE DOMINICAINE DOP
ÉQUATEUR USD
ÉGYPTE EGP
SALVADOR SVC
ESTONIE EUR
ÉTHIOPIE ETB
FINLANDE EUR
FRANCE EUR
FYR MACEDONIA MKD
GABON XAF
GÉORGIE GEL
ALLEMAGNE EUR
GHANA SGH
GRÈCE EUR
GRENADE XCD
GUATEMALA GTQ
GUYANE Année précédente
HAITI HTG
HONDURAS HNL
HONG KONG HKD
HONGRIE HUF
ISLANDE ISK
INDE INR
INDONÉSIE Reconnaissance intelligente de documents
IRAN IRR
IRAQ IQD
IRLANDE EUR
ISRAËL ILS
ITALIE EUR
CÔTE D'IVOIRE XOF
JAMAÏQUE JMD
JAPON JPY
JORDANIE JOD
KAZAKHSTAN KZT
KENYA Système d'exploitation
CORÉE Pondération de risque
KOWEÏT KWD
KIRGHIZISTAN KGS
LAOS LAC
LETTONIE EUR
LIBAN LBP
BIBLIOTHÈQUE LYD
LIECHTENSTEIN CHF
LITUANIE EUR
LUXEMBOURG EUR
MACAO RdP
MALAWI MWK
MALAISIE MYR
MALDIVES Taux de change
MALTE EUR
MAURITANIE MRU
ÎLE MAURICE MUR
MEXIQUE MXN;
MOLDAVIE MDL
MONTÉNÉGRO EUR
MAROC MAD
MOZAMBIQUE MZN
BIRMANIE MMK
NAMIBIE NCD
NÉPAL NPR
NOUVELLE-ZÉLANDE NZD
NICARAGUA NIO
NIGÉRIA NGN
NORVÈGE NOK
OMAN Remplacement de déplacement de commande
PAKISTAN PKR
PANAMA PAB
PARAGUAY PYG
PÉROU Crayon
PHILIPPINES PHP
POLOGNE PLN
PORTUGAL EUR
PORTO RICO USD
TARIF Écart global
ROUMANIE RON
RUSSIE RUB
SAINT-KITTS-ET-NEVIS XCD
SAINTE-LUCIE XCD
ARABIE SAOUDITE SAR
SÉNÉGAL XOF
SERBIE RSD
SIERRA LEONE SLL
SINGAPOUR SGD
SLOVAQUIE EUR
SLOVÉNIE EUR
SOMALIE SOS
AFRIQUE DU SUD ZAR
SOUDAN DU SUD Prix de vente autonome
ESPAGNE EUR
SRI LANKA LKR
SOUDAN Objet SDG
SURINAME SRD
SUISSE SZL
SUÈDE SEK
SUISSE CHF
SYRIE SYP
TAIWAN TWD
TANZANIE TZS
THAÏLANDE THB
PAYS-BAS EUR
TRINIDAD ET TOBAGO C/T
TUNISIE TND
TURQUIE ESSAYER
TURKMÉNISTAN TMT
OUGANDA UGX
UKRAINE UAH
ÉMIRATS ARABES UNIS AED
ROYAUME-UNI GBP
URUGUAY UYU
OUZBÉKISTAN UZS
VENEZUELA ESP
VIETNAM VND
YEMEN OUI
ZAMBIE ZMW
ZIMBABWE ZWL

Détails de la fonction indexof

Syntaxe de la fonction index0f :

indexof (String, String [,int])

indexof (String, String [,start_pos]) : Le nombre d'index commence par 0, retourne l'index de correspondance à partir de start_pos (s'il est indiqué) et retourne -1 si aucune correspondance n'est indiquée.

L'exemple suivant définit la valeur du champ newField avec la position de .com dans la chaîne uri.

*|eval newField = indexOf(uri, '.com')

Cas d'utilisation : Extraire la partie pertinente du chemin de l'API à partir des journaux du service de vérification OCI, champ Chemin

Le champ Chemin contient une valeur telle que /apis/coordination.k8s.io/v1/namespaces/default/leases/oracle.com-oci.

Vous pouvez extraire la valeur coordination.k8s du champ ci-dessus en procédant comme suit :

  • Recherchez la position des premier et deuxième / à l'aide de la fonction indexOf().
  • Trouvez la position du troisième /.
  • Extraire les valeurs après le deuxième /, jusqu'au troisième /, à l'aide de la fonction 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

Exemple de sortie :


Cas d'utilisation : Extraire la partie pertinente du chemin de l'API à partir des journaux du service de vérification OCI, champ Chemin

Détails de la fonction lastindexof

Syntaxe de la fonction lastindexof :

lastindexof(String, String, int)

lastindexof (String, String [, end_pos]) : Le nombre d'index commence par 0, retourne l'index de la dernière occurrence de la sous-chaîne avant end_pos (s'il est fourni) et retourne -1 si aucune correspondance n'est indiquée. L'argument end_pos est facultatif.

Exemples d'utilisation de la fonction lastindexof :

*|eval n = lastindexof(uri, '.com')

Cas d'utilisation : Extraire la zone du champ Type dans les journaux de vérification OCI

Le champ Type contient une valeur telle que com.oraclecloud.computeApi.GetInstance.

Pour extraire computeAPI de la valeur ci-dessus, vous pouvez utiliser le schéma suivant :

  • Identifiez la position du dernier . à l'aide de lastIndexOf().
  • À partir de ce décalage, identifiez la position de l'élément . précédent, à l'aide d'un autre élément lastIndexOf(), mais en fournissant le décalage à partir duquel effectuer la recherche en arrière.
  • Extraire la valeur entre ces deux postes à l'aide de 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

Exemple de sortie :


Cas d'utilisation : Extraire la zone à partir du champ Type dans les journaux de vérification OCI

Détails de la fonction replace

Syntaxe de la fonction replace :

replace(String, String, String, String, String, ..)

replace prend en charge plusieurs remplacements dans une seule fonction. Exemples d'utilisation de la fonction replace :

  • *|eval newField = replace('aabbcc', 'bb', 'xx')
  • *|eval newField = replace('aabbcc', 'bb', 'xx', 'cc', 'yy')
  • Exemple de plusieurs actions de remplacement dans une seule fonction 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')

Détails de la fonction substr

Syntaxe de la fonction substr :

substr(String, int [, int])

substr(String, start_pos, end_pos - 1) : Le nombre d'index commence par start_pos et se termine par end_pos - 1.

Dans l'exemple suivant, newField est la sous-chaîne de aabbcc, où l'index de début (inclusif) est 2 et l'index de fin (exclusif) est 4. Notez que pour les chaînes, le nombre d'index commence par 0. La sous-chaîne résultante est donc bb.

*|eval newField = substr('aabbcc', 2, 4)

Pour les cas d'utilisation où la fonction substr est utilisée, voir indexof Function Details et lastindexof Function Details.

Détails de la fonction url

Syntaxe pour la fonction url :

url(String, Name, Parameter)

Les valeurs Name et Parameter sont facultatives.

  • String : Il peut s'agir d'une URL ou d'un des noms abrégés prédéfinis. Par exemple :
    eval Link = url('https://www.oracle.com')
  • Name : Nom facultatif pour l'URL. Par exemple :
    eval Link = url('https://www.oracle.com', 'Oracle Home Page')
  • Parameter : Paramètre facultatif si un raccourci est utilisé pour String. Par exemple :
    eval Link = url('tech', 'Search Oracle', 'ORA-600')

Exemples d'utilisation de la fonction 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

Exemples d'utilisation de la fonction url après la commande 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)

Raccourcis url définis par Oracle

Les raccourcis définis par Oracle suivants sont disponibles pour utilisation avec la fonction url pour la commande eval.

Coupe courte URL et description Exemple

ora

recherche:oracle

https://www.google.com/search?q=site:oracle.com%20

Générer un lien pour rechercher toutes les chaînes spécifiées dans oracle.com

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

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

technologie

oracle-tech

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

Générer un lien pour rechercher des forums technologiques 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=

Générer un lien pour rechercher dans les forums 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=

Générer un lien pour effectuer une recherche à l'aide de Google

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

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

Générer un lien pour effectuer une recherche à l'aide de Bing

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

ddg

canard canard

https://duckduckgo.com/?q=

Générer un lien pour effectuer une recherche à l'aide de DuckDuckGo

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

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

so

flux de dépassement de pile

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

Générer un lien pour effectuer une recherche à l'adresse 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=

Générer un lien pour l'ID CVE indiqué

* | 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