Passer au contenu principal
Lorsque vous recherchez dans les journaux, vous pouvez créer des requêtes à l’aide d’un sous-ensemble de la syntaxe de requête Lucene afin d’affiner votre recherche. La chaîne de requête est analysée en une série de termes et d’opérateurs :
  • Un terme peut être un seul mot, comme jane ou smith.
  • Un terme peut être une expression entourée de guillemets doubles ("customer log"), qui correspond à tous les mots de l’expression dans le même ordre.
  • Un terme sans nom de champ ne correspond qu’aux champs sélectionnés.
  • Plusieurs termes peuvent être regroupés à l’aide de parenthèses pour former des sous-requêtes.
  • Tous les champs de recherche sont sensibles à la casse.
  • Les opérateurs (AND, OR, NOT) s’appliquent à tous les champs pouvant faire l’objet d’une recherche.

Champs interrogeables

Les champs suivants sont interrogeables et sensibles à la casse :
ChampDescription
client_idID client associé à l’événement.
client_nameNom de l’application associé à l’événement.
connectionNom de la connexion associée à l’événement.
connection_idID de la connexion associée à l’événement.
descriptionDescription de l’événement.
dateDate à laquelle l’événement s’est produit, au format AAAA-MM-JJ.
hostnameNom d’hôte utilisé pour le flux d’authentification.
ipAdresse IP d’où provient la requête à l’origine de l’entrée de journal.
log_idID du journal de l’événement.
organization_idID de l’organisation associée à l’événement.
user_idID utilisateur associé à l’événement.
user_nameNom de l’utilisateur associé à l’événement.
user_agentAgent utilisateur associé à l’événement.
strategyStratégie de connexion associée à l’événement.
strategy_typeType de stratégie de connexion associé à l’événement.
typeType de l’événement.

Champs interrogeables avec des termes seuls

Si un terme de recherche est saisi sans nom de champ, la recherche s’effectue uniquement dans les champs suivants :
  • client_name
  • connection
  • description
  • ip
  • log_id
  • type
  • user_name

Correspondances exactes

Pour trouver des correspondances exactes, utilisez des guillemets doubles : description:"Username invalid". Par exemple, pour trouver des journaux dont la description est Username invalid, utilisez q=description:"Username invalid".

Caractères génériques

Vous pouvez effectuer des recherches avec caractères génériques sur des termes à l’aide du caractère astérisque (*), qui remplace zéro ou plusieurs caractères : user_name:john*. Ils peuvent servir à faire une correspondance par préfixe, par exemple user_name:j*. Pour les autres utilisations des caractères génériques (par exemple, la correspondance par suffixe), les littéraux doivent comporter au moins 3 caractères. Par exemple, name:*usa est autorisé, mais name:*sa ne l’est pas. Le point d’interrogation (?) n’est pas pris en charge. Par exemple, pour trouver tous les journaux des utilisateurs dont le nom d’utilisateur commence par john, utilisez q=user_name:john*.

Plages

Vous pouvez utiliser des plages dans vos requêtes de recherche dans les journaux. Pour les plages inclusives, utilisez des crochets : [min TO max], et pour les plages exclusives, utilisez des accolades : {min TO max}. Les accolades et les crochets peuvent être combinés dans la même expression de plage. Vous pouvez aussi utiliser des caractères génériques dans les plages. Par exemple, pour trouver tous les journaux du 18 décembre 2018 à aujourd’hui, utilisez q=date:[2018-12-18 TO *]. Si vous voulez rechercher dans les journaux depuis le début de votre période de rétention jusqu’au 19 décembre 2018, sans l’inclure, utilisez q=date:[* TO 2018-12-19}.

Exemples de requêtes

Voici quelques exemples illustrant les types de requêtes que vous pouvez effectuer avec la .
Cas d’utilisationRequête
Rechercher tous les journaux avec des connexions contenant “Pass”connection:*pass*
Rechercher tous les journaux pour les utilisateurs dont le nom d’utilisateur contient “fred”user_name:*fred*
Rechercher tous les journaux avec des ID utilisateur correspondant exactement à “123”user_id:"123"
Rechercher tous les journaux dont le type commence par “s”type:s*
Rechercher des noms d’utilisateur qui commencent par “jane” et se terminent par “smith”user_name:jane*smith
Rechercher tous les journaux de décembre 2018date:[2018-12 TO 2019-01-01}
Rechercher tous les journaux à partir du 10 décembre 2018date:[2018-12-10 TO *]
Rechercher tous les journaux du 1er janvier 2019 à 1 h jusqu’au 1er janvier 2019 à 12:23:45, sans inclure cette dernière heuredate:[2019-01-01T01:00:00 TO 2019-01-01T12:23:45}

Limitations

  • Si vous obtenez l’erreur 414 Request-URI Too Large, cela signifie que votre chaîne de requête dépasse la longueur prise en charge. Dans ce cas, affinez votre recherche.
  • Les champs de journalisation ne sont pas tokenisés; ainsi, description:rule ne correspondra pas à une description dont la valeur est Create a rule ni Update a rule. Utilisez plutôt description:*rule. Consultez les caractères génériques et la correspondance exacte.
  • L’extension de champ .raw n’est pas prise en charge. Les champs correspondent à l’intégralité de la valeur fournie et ne sont pas tokenisés.
Lorsque vous appelez les points de terminaison GET /api/v2/logs ou GET /api/v2/users/{user_id}/logs à l’aide du paramètre include_totals, le résultat est un objet JSON contenant un résumé des résultats ainsi que les journaux demandés. L’objet JSON ressemble à ceci :
{
  "length": 5,
  "limit": 5,
  "logs": [...],
  "start": 0,
  "total": 5
}
Lorsque vous recherchez des journaux, le champ totals indique le nombre de journaux renvoyés sur la page (comme le champ length).

En savoir plus