Syntaxe de demande de recherche journal

Lors de la recherche de journaux, vous pouvez créer des requêtes en utilisant un sous-ensemble de syntaxe de requête Lucene pour affiner votre recherche.

La chaîne de requête est analysée en séries de termes et d’opérateurs :

  • Un terme peut être un mot unique tel que jane ou smith.

  • Un terme peut être une phrase entourée de guillemets ("customer log"), qui correspondra à tous les mots de la phrase dans le même ordre.

  • Un terme sans nom de champ ne correspondra qu’à ces champs sélectionnés.

  • Plusieurs termes peuvent être regroupés entre parenthèses pour former des sous-requêtes.

  • Tous les champs de recherche sont sensibles aux majuscules/minuscules.

  • Les opérateurs ( AND, OR, NOT) fonctionnent sur tous les champs de recherche.

Champs pouvant être recherchés

Les champs suivants peuvent être recherchés et sont sensibles aux majuscules/minuscules :

Champ Description
client_id ID client associé à l’événement.
client_name Nom du client lié à l’événement.
connection Nom de connexion lié à l’événement.
connection_id Identifiant de connexion lié à l’événement.
description Description de l’événement.
date Date à laquelle l’événement s’est produit au format AAAA-MM-JJ.
hostname Le nom d’hôte utilisé pour le flux d’authentification.
ip Adresse IP d’où provient la demande à l’origine de l’entrée du journal.
log_id Identifiant du journal de l’événement.
organization_id Identifiant de l’organization lié à l’événement.
connection_id Identifiant de l’utilisateur lié à l’événement.
user_name Nom d’utilisateur lié à l’événement.
user_agent Agent utilisateur lié à l’événement.
Strategy Stratégie de connexion liée à l’événement.
strategy_type Type de stratégie de connexion liée à l’événement.
type Type de l’événement.

Champs pouvant être recherchés avec des termes nus

Si un terme de recherche est saisi sans nom de champ, la recherche ne portera que sur les champs suivants :

  • client_name

  • connection

  • description

  • ip

  • log_id

  • type :

  • user_name

Correspondance exacte

Pour trouver des correspondances exactes, utilisez des guillemets doubles : description:"Username invalid".

Par exemple, pour trouver les journaux dont la description est Username invalid, utilisez q=description:"Username invalid".

Caractères générique

Les recherches par caractères génériques peuvent être effectuées sur des termes en utilisant le caractère astérisque (*) pour remplacer zéro ou plusieurs caractères : user_name:john*. Ils peuvent être utilisés pour la recherche de préfixes, par exemple user_name:j* Pour les autres utilisations des caractères génériques (par ex., la correspondance de suffixes), les littéraux doivent comporter 3 caractères ou plus. 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 commence par john, utilisez q=user_name:john*.

Plages

Vous pouvez utiliser des plages dans vos requêtes de recherche de journaux. Pour les intervalles inclusifs, utilisez des crochets : [min TO max], et pour les plages exclusives, utilisez des crochets : {min TO max}.

Les accolades et les crochets peuvent être combinés avec la même expression de plage. Vous pouvez également utiliser les recherches génériques au sein des plages.

Par exemple, pour trouver tous les journaux du 18 décembre 2018 à aujourd’hui, utilisez q=date:[2018-12-18 TO *].

Si vous souhaitez rechercher des journaux depuis le début de votre période de conservation jusqu’au 19 décembre 2018 inclus, utilisez q=date:[* TO 2018-12-19}.

Exemples de requêtes

Ci-dessous se trouvent des exemples de types de requêtes que vous pouvez effectuer avec Management API.

Cas d’utilisation Requête
Rechercher tous les journaux avec des connexions contenant "Pass" connection:*pass*
Rechercher tous les journaux avec un nom d’utilisateur contenant "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 les noms d’utilisateur qui commencent par "jane" et se terminent par "smith" user_name:jane*smith
Rechercher tous les journaux en décembre 2018 date:[2018-12 TO 2019-01-01}
Rechercher tous les journaux à partir du 10 décembre 2018 date:[2018-12-10 TO *]
Rechercher tous les journaux du 1er janvier 2019 à 1 h, jusqu’au 1er janvier 2019 à 12:23:45 date:[2019-01-01T01:00:00 TO 2019-01-01T12:23:45}

Limites

  • Si vous obtenez l’erreur 414 Request-URI Too Large, cela signifie que votre chaîne de requête est plus longue que la longueur prise en charge. Dans ce cas, affinez votre recherche.

  • Les champs du journal ne sont pas symbolisés, donc description:rule ne correspondra pas à une description avec la valeur Create a rule ou Update a rule. Utilisez plutôt description:*rule. Voir les recherches génériques et leurs correspondances exactes.

  • 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 transformés en jetons.

Pagination

Lors de l’appel des points de terminaison GET /api/v2/logs ou GET /api/v2/users/{user_id}/logs en utilisant le paramètre include_totals, le résultat est un objet JSON contenant un résumé des résultats et des journaux demandés. L’objet JSON ressemble à ceci :

{
  "length": 5,
  "limit": 5,
  "logs": [...],
  "start": 0,
  "total": 5
}

Was this helpful?

/

Lors de la recherche de journaux, le champ totals indique le nombre de journaux renvoyés dans la page (comme le champ length).

En savoir plus