Recherche par requête

Oracle Logging Analytics permet de filtrer et d'analyser de grandes quantités de données de journal dans vos bases de données d'entreprise, via un même affichage unifié et personnalisable, qui facilite la lecture et la navigation. Utilisez la fonctionnalité de recherche intégrée pour filtrer toutes les données de journal disponibles et renvoyer des entrées de journal spécifiques.

La recherche Oracle Logging Analytics aide à effectuer une analyse descendante vers des entrées de journal spécifiques, ce qui permet une analyse et une surveillance ciblées dans votre entreprise. Utilisez le langage de requête Oracle Logging Analytics pour formuler des requêtes de recherche afin d'extraire les entrées de journal propres au problème que vous résolvez.

Le langage de requête pour l'analyse des journaux permet d'indiquer l'action à effectuer sur les résultats de recherche. Les commandes peuvent être des commandes de recherche ou des commandes statistiques. Les commandes de recherche sont celles qui filtrent davantage les entrées de journal disponibles. Les commandes statistiques effectuent des opérations statistiques sur les résultats de recherche. Pour obtenir la liste complète des commandes, leur syntaxe et des exemples d'utilisation, reportez-vous à Référence des commandes.

Le langage de requête Oracle Logging Analytics permet d'effectuer les opérations suivantes :

  • Filtrer et explorer toutes les données de journal disponibles

  • Effectuer l'analyse de la cause première

  • Exécuter une analyse statistique sur les entités sélectionnées

  • Générer des rapports

  • Enregistrer des requêtes de recherche pour utilisation ultérieure

  • Extraire des recherches enregistrées pour créer des tableaux de bord

Vous pouvez construire une requête de recherche en faisant glisser des éléments du panneau Champ et en les déplaçant vers les sections appropriées de la colonne Visualiser, ou en saisissant directement la requête dans le champ Rechercher. Pour plus d'informations sur le recours à l'interface utilisateur afin de formuler des requêtes, reportez-vous à Formulation de requêtes à l'aide de l'interface utilisateur Logging Analytics.

Pour écrire des requêtes performantes à l'aide de la commande regex, reportez-vous à la syntaxe RE2J à l'adresse Implémentation Java de RE2.

Utiliser l'assistant Aide sur les requêtes

Logging Analytics vous offre désormais une aide active pour apprendre rapidement à écrire des requêtes et fournit également un vaste ensemble d'exemples de requêtes pour une analyse avancée.

Cliquez sur l'icône d'aide Icône d'aide de la requête en regard de la barre de requête dans l'explorateur de journaux pour ouvrir l'assistant d'aide de requête. En quelques minutes, vous pouvez comprendre le format et la syntaxe des requêtes que vous pouvez composer. Exécutez les exemples de requête, de la recherche très basique à l'analyse avancée, et familiarisez-vous avec la référence de la requête. L'assistant vous donne quelques conseils et raccourcis pour rendre votre recherche efficace. Vous pouvez également visualiser le résultat de l'exécution de certaines commandes courantes pour leurs cas d'emploi standard.

Recherche de journaux à l'aide de mots-clés et d'expressions

Utilisez des commandes pour extraire des données de journal et pour effectuer des manipulations sur ces données. La première commande (implicite) d'une requête est la commande de recherche. Une recherche est une série de commandes délimitées par une barre verticale (|). La première chaîne séparée par un caractère non imprimable suivant la barre verticale identifie la commande à utiliser. La barre verticale indique que les résultats de la commande précédente doivent être utilisés comme entrées dans la commande suivante.

Par exemple, pour rechercher tous les messages d'erreur de base de données, entrez l'expression logique suivante dans la barre Rechercher d'Oracle Logging Analytics :

Severity = 'error' AND 'Entity Type' = 'Database Instance'

Si vous placez les mots entre guillemets et que vous les incluez dans la chaîne de requête en tant qu'expression (‘Database Instance’, par exemple), seuls les journaux contenant l'expression ‘Database Instance’ sont renvoyés. De plus, les recherches par mot-clé dans lesquelles la sous-chaîne peut être interprétée comme une directive distincte doivent être spécifiées entre guillemets. Par exemple, pour rechercher la chaîne and, vous devez entrer la chaîne entre apostrophes (‘and’) afin d'empêcher le système d'utiliser sa signification booléenne.

Pour plus d'exemples et de détails sur l'utilisation du langage de requête afin d'effectuer des recherches dans les journaux, reportez-vous à Ecriture de requêtes de recherche.

Liste des recherches récentes

Oracle Logging Analytics permet de sélectionner et d'exécuter une recherche récemment utilisée. Lorsque vous cliquez sur le champ Rechercher ou que vous saisissez du texte dans le champ Rechercher, Oracle Logging Analytics affiche la liste des recherches récemment utilisées. Vous pouvez ainsi accéder rapidement aux commandes de recherche récemment employées. Vous pouvez sélectionner n'importe quelle commande répertoriée et cliquer sur Exécuter pour exécuter la commande de recherche sélectionnée.

Remarque

La liste des recherches récemment utilisées est disponible par session. Par conséquent, si vous vous déconnectez d'Oracle Logging Analytics, puis vous reconnectez, la liste de la session précédente ne s'affiche pas. Une autre liste de recherches récentes est créée pour votre session.

Utilisation de la fonctionnalité de suggestion automatique

Lorsque vous entrez une requête dans le champ Rechercher, la fonctionnalité de suggestion automatique d'Oracle Logging Analytics suggère automatiquement les termes que vous pouvez utiliser dans la requête. Oracle Logging Analytics affiche la liste des suggestions, en fonction du texte saisi dans le champ Recherche. Par exemple, si vous avez saisi le nom d'un champ ou d'une action de recherche, la fonctionnalité de suggestion automatique affiche uniquement les valeurs possibles pour ce champ ou la liste des actions disponibles.

Ecriture de requêtes de recherche

Pour créer une requête de recherche Oracle Logging Analytics, vous pouvez spécifier des entités, des mots-clés, des expressions ou des caractères génériques, des opérateurs de comparaison, des expressions booléennes, des fonctions et des heures.

Pour utiliser la fonctionnalité de recherche dans Oracle Logging Analytics, vous devez formuler une requête de recherche et la saisir dans le champ Rechercher.

Emploi de l'interface utilisateur Logging Analytics

L'interface utilisateur Oracle Logging Analytics permet de formuler une requête de recherche.

Vous pouvez utiliser les éléments suivants de l'interface utilisateur pour formuler une requête de recherche :

  • Barre de recherche : la requête de recherche est affichée ici. Vous pouvez modifier directement le texte de ce champ pour affiner davantage les résultats de recherche.

    La barre de recherche grandit ou rétrécit en fonction du nombre de lignes ajoutées à la requête. Elle peut comporter un maximum de 21 lignes et un minimum de 1 ligne. Certains raccourcis personnalisés sont disponibles :

    • Ctrl + i : permet de mettre en retrait toutes les lignes de texte dans l'éditeur. La lettre majuscule I ouvre le débogueur.
    • Ctrl + Entrée : permet d'exécuter la requête affichée dans l'éditeur.
    • Ctrl + Espace : permet d'afficher la liste en écriture automatique des options selon la position du curseur.
    • Ctrl + Z : permet d'annuler la dernière modification.
    • Ctrl + Y : permet de rétablir la dernière modification.
    • Ctrl + D : permet de supprimer la ligne en cours.

    Remarque : n'utilisez pas la touche Maj, sauf indication contraire.

    Placez le curseur en regard des crochets à l'intérieur pour que l'élément correspondant soit mis en évidence. Les éléments pouvant être mis en évidence sont ( ) et [ ].

    La barre de recherche prend en charge deux thèmes différents : la couleur et les nuances de gris. Vous pouvez modifier les thèmes de façon dynamique en changeant l'option dans la fenêtre instantanée d'aide.

  • Champ : le panneau Champ se compose des sections suivantes :

    • Les attributs fixes permettent de filtrer les données de journal en fonction des éléments suivants :

      • Sources de journal, telles que les journaux de base de données, les journaux Oracle WebLogic Server, etc.

      • Entités de journal, qui sont les noms réels des fichiers journaux

      • Libellés, qui sont les balises ajoutées aux entrées de journal lorsque celles-ci correspondent à des conditions définies spécifiques

      • Noms de téléchargement des données de journal téléchargées à la demande

      Par défaut, les entités et les détails de collecte sont disponibles dans le bucket Fixe du panneau Champs pour le filtrage. Vous pouvez épingler des champs supplémentaires au bucket Fixe en fonction de votre utilisation. Une fois épinglés, les champs sont déplacés vers le bucket Fixe. Vous pouvez détacher n'importe quel champ, et l'enlever du bucket Fixe pour le replacer dans le bucket Intéressant ou Autre.

    • En fonction des recherches et des requêtes, Oracle Log Analytics ajoute automatiquement des champs au bucket Intéressant pour référence rapide. Vous pouvez épingler un champ disponible dans le bucket Intéressant. Le champ épinglé est déplacé vers le bucket Fixe.

    • Vous pouvez épingler n'importe quel champ dans le bucket Autre et le déplacer vers le bucket Fixe. Si vous utilisez un champ du bucket Autre dans votre recherche ou requête, il est déplacé vers le bucket Intéressant.

      Les options sélectionnées sont ajoutées automatiquement à la requête dans la barre Rechercher.

  • Visualiser : dans ce panneau, vous pouvez sélectionner la façon dont vous voulez afficher les résultats de recherche. Dans le champ Regrouper par, vous pouvez choisir les mesures selon lesquelles regrouper les résultats.

  • Enregistrer : utilisez ce bouton pour enregistrer la requête de recherche figurant actuellement dans le champ Rechercher pour pouvoir l'exécuter ultérieurement.

  • Ouvrir : utilisez ce bouton pour visualiser les requêtes de recherche précédemment enregistrées. Vous pouvez exécuter ces requêtes et obtenir les résultats en cours, ou utiliser ces requêtes pour créer des tableaux de bord.

  • Nouveau : utilisez ce bouton pour lancer une nouvelle requête de recherche.

  • Exporter : utilisez ce bouton pour exporter le résultat de la requête de recherche en cours dans un fichier au format CSV (Comma-seperated Values) ou JSON (JavaScript Object Notation).

  • Exécuter : utilisez ce bouton pour exécuter la requête figurant actuellement dans le champ Rechercher.

  • Sélecteur d'heure : utilisez le sélecteur d'heure pour indiquer la période.

  • Panneau de visualisation : les résultats de la requête de recherche sont affichés dans ce panneau. Les informations filtrées dans ce panneau sont chargées lorsque la requête du champ Rechercher est exécutée. En cliquant sur n'importe quelle zone du graphique dans le panneau de visualisation, vous pouvez effectuer une analyse descendante vers la requête de recherche et la mettre à jour.

Utilisation de mots-clés, d'expressions et de caractères génériques

Les requêtes de type chaîne peuvent inclure des mots-clés et des expressions. Un mot-clé est un mot unique (par exemple, database), tandis qu'une expression fait référence à plusieurs mots, entre apostrophes (' ') ou guillemets (" ") (par exemple, ‘database connection’). Si vous indiquez un mot-clé ou une expression dans la requête, toutes les entrées de journal contenant ce mot-clé ou cette expression sont renvoyées après l'exécution de la requête.

Le langage de recherche Oracle Logging Analytics prend également en charge la correspondance de modèles spéciaux. En d'autres termes, vous pouvez utiliser des caractères génériques, tels que l'astérisque (*), le point d'interrogation (?) et le pourcentage (%), pour compléter les mots-clés.

Le tableau suivant répertorie les caractères génériques pris en charge et fournit une brève description de chacun.

Caractère générique Description

?

Utilisez ce caractère pour remplacer un seul caractère parmi toutes les possibilités associées au mot-clé. Par exemple, si vous entrez host?, le mot-clé host1 est considéré comme une correspondance, mais pas host.foo.bar.

* ou %

Utilisez l'un de ces caractères pour remplacer au moins 0 caractère parmi toutes les possibilités associées au mot-clé. Par exemple, si vous entrez host* ou host%, host1 et host.foo.bar sont considérés comme des correspondances du mot-clé. De même, si vous entrez %host%, ahostb et myhost sont considérés comme des correspondances du mot-clé.

Vous pouvez spécifier plusieurs mots-clés. Par exemple : database et connection. Les journaux contenant les mots database et connection (pas nécessairement ensemble) sont renvoyés. Toutefois, ces mots ne doivent pas nécessairement apparaître l'un à la suite de l'autre. En revanche, si vous placez les mots entre guillemets et que vous les incluez dans la chaîne de requête en tant qu'expression (‘database connection’, par exemple), seuls les journaux contenant l'expression ‘database connection’ sont renvoyés. Pour savoir comment utiliser plusieurs mots-clés, reportez-vous à Utilisation d'expressions booléennes.

Lorsque vous indiquez un mot-clé ou une expression, tenez compte de ce qui suit :

  • Les mots-clés et les chaînes d'expression ne distinguent pas les majuscules des minuscules.

  • Les mots-clés qui ne sont pas placés entre guillemets doivent contenir uniquement des caractères alphanumériques, des traits de soulignement (_) et des caractères génériques (*, % et ?).

  • Les recherches par mot-clé dans lesquelles la sous-chaîne peut être interprétée comme une directive distincte doivent être spécifiées entre guillemets. Par exemple, pour rechercher la chaîne and, vous devez la saisir entre apostrophes (‘and’) afin d'empêcher le système d'utiliser sa signification booléenne.

Remarque

Pour utiliser des caractères génériques avec le champ message, vous devez également utiliser LIKE ou LIKE IN. Vous trouverez ci-dessous des exemples d'utilisation des caractères génériques avec message.
ORA-* AND message LIKE 'connection* error*'
ORA-* AND message LIKE IN ('tablesp*','connection* error*')

Utilisation d'opérateurs de comparaison

Les opérateurs de comparaison sont les conditions que vous spécifiez pour établir une relation entre un champ et sa valeur. Les champs sans valeur sont considérés comme NULL.

Le tableau suivant répertorie les opérateurs de comparaison pris en charge et fournit une brève description de chacun.

Opérateur de comparaison Description
< Si vous utilisez cet opérateur dans une requête, toutes les entrées de journal dont la valeur, pour le champ correspondant, est inférieure à la valeur indiquée sont renvoyées.
<= Si vous utilisez cet opérateur dans une requête, toutes les entrées de journal dont la valeur, pour le champ correspondant, est inférieure ou égale à la valeur indiquée sont renvoyées.
> Si vous utilisez cet opérateur dans une requête, toutes les entrées de journal dont la valeur, pour le champ correspondant, est supérieure à la valeur indiquée sont renvoyées.
>= Si vous utilisez cet opérateur dans une requête, toutes les entrées de journal dont la valeur, pour le champ correspondant, est supérieure ou égale à la valeur indiquée sont renvoyées.
= Si vous spécifiez cet opérateur dans une requête, toutes les entrées de journal dont la valeur, pour le champ correspondant, est égale à la valeur indiquée sont renvoyées.
!= Si vous spécifiez cet opérateur dans une requête, toutes les entrées de journal dont la valeur, pour le champ correspondant, est différente de la valeur indiquée sont renvoyées.

Utilisez ces opérateurs pour rechercher les journaux dont les champs présentent des valeurs spécifiques. Par exemple, indiquez Severity=’ERROR’ pour effectuer une recherche dans les journaux disponibles où la valeur du champ Severity est ERROR. De même, Severity!=NULL renvoie tous les journaux où la valeur du champ Severity n'est pas NULL (en d'autres termes, où la gravité a été indiquée).

Remarque

La valeur à droite de l'opérateur de comparaison doit être indiquée entre guillemets si la valeur n'est pas numérique ou NULL.

Utilisation d'expressions booléennes

La fonctionnalité de recherche Oracle Logging Analytics possède les caractéristiques LIKE et REGEX, conformément aux conventions standard. Les expressions booléennes peuvent prendre la valeur true ou false.

Le tableau suivant répertorie les expressions booléennes prises en charge, ainsi qu'une brève description de chacune.

Expression booléenne Description
AND Utilisez cette expression pour visualiser uniquement les journaux contenant les deux paramètres spécifiés.
NOT IN ou IN Utilisez cette expression pour rechercher des données se trouvant dans un sous-ensemble spécifié de données disponibles. Par exemple, ‘Entity Type’ IN (‘Database Instance’,‘Automatic Storage Management’,’Listener’,’Cluster’) commence par examiner uniquement les journaux contenant ‘Database Instance’, ‘Automatic Storage’, Listener ou Cluster, puis identifie les journaux contenant ‘Entity Type’. Toutefois, lorsque vous utilisez NOT IN, les entrées de journal avec l'expression ou le mot-clé spécifié sont renvoyées, en excluant les entrées fournies. Par exemple, ‘Entity Type’ NOT IN (‘Database Instance’,’Automatic Storage Management’,’Listener’,’Cluster’) commence par retirer les entrées de journal avec ‘Database Instance’, ‘Automatic Storage Management’, Listener et Cluster, puis renvoie les entrées de journal pour lesquelles la valeur ‘Target Type’ ne fait pas partie des valeurs spécifiées.

Le mot réservé NULL est pris en charge avec cet opérateur booléen.

NOT LIKE ou LIKE Utilisez cette expression pour rechercher les données qui correspondent ou ne correspondent pas au modèle de caractères spécifié. Le modèle de caractères est une chaîne qui peut contenir des caractères génériques.
NOT LIKE IN ou LIKE IN Comme [NOT] IN, cette expression permet d'utiliser la saisie accélérée pour exprimer plusieurs clauses LIKE ensemble.
OR Utilisez cette expression pour visualiser les journaux contenant l'un des paramètres spécifiés.

Le langage de recherche Oracle Logging Analytics permet d'imbriquer des expressions booléennes dans d'autres expressions booléennes. Par exemple, prenons la requête suivante :

fatal ('order' OR host LIKE '*.oracle.com')

L'exécution de cette requête renvoie tous les journaux contenant fatal, et soit qui incluent le mot-clé order soit qui proviennent d'un hôte dont le nom se termine par .oracle.com.

Formulation de requêtes à l'aide de l'interface utilisateur Logging Analytics

Vous pouvez formuler une requête à l'aide de l'interface utilisateur Oracle Logging Analytics.

Par défaut, la requête * | stats count by ‘log source’ est spécifiée dans le champ Rechercher.

Pour afficher les données d'entités spécifiques, procédez comme suit :

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Logging Analytics, cliquez sur Explorateur de journal.

  2. Sous l'en-tête Entités du panneau Champs, sélectionnez Entité ou Type d'entité, selon la façon dont vous voulez afficher les entités. Les bases de données inscrites sont regroupées en fonction de la sélection que vous avez effectuée. Par exemple, si vous sélectionnez Type d'entité, les entités sélectionnées sont regroupées en fonction de leur type.

  3. Sélectionnez l'entité ou le type d'entité pour lequel visualiser les données.

  4. Cliquez sur Soumettre.

    Le bouton Effacer apparaît en regard de l'entité que vous avez sélectionnée et les données sont affichées dans le panneau de visualisation.

Pour afficher les données d'un champ spécifique, procédez comme suit :

  1. Sélectionnez le type de champ dans le panneau Champs et sous les attributs Fixe, le bucket Intéressant ou le bucket Autre.

  2. Sélectionnez le libellé, l'entité de journal, la source de journal, le propriétaire ou le nom de téléchargement pour lequel visualiser les données. Vous pouvez sélectionner plusieurs libellés, entités de journal, sources de journal, propriétaires ou noms de téléchargement.

  3. Cliquez sur Soumettre.

    Les données du champ sont chargées dans le panneau de visualisation.

Indiquer la période dans votre requête

En général, la période que vous sélectionnez dans l'explorateur de journaux n'est pas incluse dans la chaîne de requête. Vous pouvez spécifier la période dans votre requête à l'aide du modificateur temps absolu ou temps relatif dans la commande search.

Remarque

Dans le cas d'une recherche enregistrée, la période sélectionnée dans l'explorateur de journaux lors de la création de la recherche enregistrée est stockée en tant que l'un des composants de recherche enregistrée. Lorsque vous utilisez la recherche enregistrée, vous pouvez modifier l'heure à l'aide du sélecteur de période dans l'explorateur de journaux.

En revanche, lorsque la période est spécifiée dans une requête, la période sélectionnée dans l'explorateur de journaux est ignorée. La période incluse dans la requête est utilisée pour l'analyse de journal. Lorsque vous enregistrez cette requête en tant que recherche enregistrée, la période spécifiée dans la requête est prise en compte pour les tâches de recherche enregistrée et non pour l'heure spécifiée dans l'explorateur de journaux.

Voici quelques exemples où une période peut être indiquée dans la requête :

  • Renvoyer tous les journaux d'erreurs ORA-600 repérés au cours des dernières 24 heures :

    Message like 'ORA-600%' and time > dateRelative(24h)
  • Renvoie le nombre de journaux pour la cible d'hôte myHost au cours des 90 derniers jours :

    'Host Name (Server)' = myHost and Time > dateRelative(90day) | stats count as 'Num Host Logs'

Fonctions basées sur le temps pouvant être utilisées avec la commande search

Les fonctions basées sur le temps suivantes ne peuvent être utilisées qu'avec la commande search :

  • toDate : il s'agit de l'heure absolue, par exemple, 2014-07-15T16:24:51.000Z ou '2014-07-12', 'yyyy-MM-dd'.

    Syntaxe : pour toDate : toDate(<time>).

  • dateRelative : crée une date relative à la date actuelle, par exemple, 12h ou 2d, day.

    Syntaxe : pour dateRelative : dateRelative(<timespan>, <rounding interval>), où l'arrondi est basé sur l'heure UTC.

  • dateadd : ajoute des unités de temps à la date indiquée. Par exemple, ajoutez Day, 2 à toDate('2024-05-12', 'yyyy-MM-dd')

    Syntaxe : pour dateadd : dateadd(<date>, <unit>, <amount>).

  • dateset : modifie une date en fonction des unités de temps. Par exemple, toDate('2015-08-12', 'yyyy-MM-dd') a été modifié avec year, 2014, month, 7

    Syntaxe : pour dateset : dateset(<date>, <unit>, <value> [, <unit>,<value>]).

Les critères temporels peuvent être exprimés à l'aide des opérateurs de comparaison =, !=, <, <=, >, >= et de l'opérateur logique and.

Unités de temps prises en charge

  • All Time

    Exemple JSON équivalent : "timeFilter": { "type" : "relative", "timeUnit" : "allTime" }

  • Deuxième : s, s, s, secondes, secondes

  • Minute : m, min, mins, minute, minutes

    Exemple : Last 60 minutes

    Exemple JSON équivalent : "timeFilter": { "type" : "relative", "duration" : "60", "timeUnit" : "minutes" }

  • Heure : h, h, heures, heure, heures

  • Jour : d, jour, jours

  • Semaine : w, week, weeks

  • Mois : mois, mois, mois

  • Année : y, yr, yrs, year, years

Par exemple, la date absolue au format JSON est "timeFilter": { "type" : "absolute", "startTime" : "2015-04-26T08:00:00.000Z", "endTime" : "2015-04-27T08:00:00.000Z" }.

Exemples de période dans les requêtes

La requête suivante recherche tout ce qui se trouve entre 2 dates absolues spécifiées au format ISO standard :

time between '2014-07-15T16:24:51.000Z' and '2014-07-17T18:14:16.000Z'

Reportez-vous à la section ISO 8601 : DATE AND TIME FORMAT.

La requête suivante recherche tout sur la base de 2 dates absolues qui ne sont pas au format ISO standard :

time between toDate('2014-07-12', 'yyyy-MM-dd') and toDate('2014-07-15', 'yyyy-MM-dd')

La requête suivante recherche tout sauf les 12 dernières heures (* sur le côté gauche de l'expression between représente new Date(0), * sur la droite est now) :

time between * AND dateRelative(12h)

La requête suivante recherche tous les éléments des 12 dernières heures :

time > dateRelative(12h)

La requête suivante recherche tout ce qui a été arrondi au cours des 30 dernières minutes pour commencer en haut de l'heure :

time > dateRelative(30min, hour)

La requête suivante recherche les enregistrements datés avant le 12 juillet 2014 :

time < dateAdd(toDate('2014-07-22', 'yyyy-MM-dd'), day, -10)

La requête suivante recherche les enregistrements datés après le 10 juin 2010 :

time > dateSet(toDate('2015-08-10', 'yyyy-MM-dd'), year, 2010, month, 6)

Ecriture de sous-requêtes

Les sous-requêtes permettent à la requête enfant d'ajouter un filtre dynamique à ses requêtes parent. Les sous-requêtes sont évaluées en premier et le résultat est ensuite utilisé dans la requête parent.

  • Vous pouvez imbriquer des sous-requêtes les unes dans les autres, et une requête particulière peut comporter plusieurs sous-requêtes au même niveau.
  • Par défaut, les sous-requêtes héritent de la période globale, mais vous pouvez la remplacer à l'aide de la syntaxe time between T1 and T2, si nécessaire.
  • Les sous-requêtes ne renvoient que les 2 000 premières correspondances comme entrées à leur parent. Les autres résultats sont tronqués.
  • Le délai d'expiration maximal est de 30 secondes.
  • Le nom de tous les champs renvoyés par une sous-requête doit correspondre au nom des champs de la requête parent. Sinon, une erreur est signalée.
  • Vous pouvez utiliser les sous-requêtes uniquement dans une commande de recherche.
  • Vous pouvez utiliser toutes les commandes dans une sous-requête, sauf cluster, clustersplit, clustercompare, fieldsummary, delete, classify, highlight et highlightrows.

Exemples :

  • Pour représenter dans un graphique le trafic de la liste noire d'adresses IP au fil du temps :
    [searchlookup table=ip_blacklist | distinct ip | rename ip as 'host address'] | timestats count
  • Pour répertorier les produits les plus achetés par les utilisateurs principaux d'un site de commerce électronique :
    'Log Source'='WLS Access Logs' status=200 action=purchase ['Log Source'='WLS Access Logs' status=200 action=purchase | stats count by 'Host (Client Address)' | top limit=1 'Host(Client Address)' | fields -*, 'Host (Client Address)'] | lookup table=products select 'product name' using productid | stats count, distinctcount(productId), unique('product name') by 'Host (Client Address)'
  • Pour identifier les 4 ID de processus de système d'exploitation avec les sommes les plus élevées :
    [ *|stats sum('OS Process ID') as OSprocessidSum by 'OS Process ID' | top 4 OSprocessidSum | fields -OSprocessidSum ] | stats count by 'OS Process ID', 'Log Source', 'Host Name(Server)'
  • Pour afficher tous les journaux de la cible avec le plus de journaux dont la gravité est Fatal :
    * and [ Severity = fatal | stats count by Target | top limit = 1 Count | fields -Count]