Interrogation des données

Dans IBM Cloud Logs, vous pouvez interroger vos données de journal à l'aide de requêtes Lucene, de requêtes DataPrime ou en interrogeant directement des données à partir d'un compartiment IBM Cloud Object Storage (COS). Vous pouvez également appliquer des filtres à vos requêtes.

Interrogation des données à partir de l'interface utilisateur

Dans la page Explorer les journaux, vous pouvez:

Le filtrage peut être utilisé avec la recherche à l'aide de Lucene ou de DataPrime.

Après avoir défini une requête, vous pouvez l'enregistrer pour une réutilisation ultérieure en créant une vue. Pour plus d'informations, voir Création de vues personnalisées.

Remarques à prendre en compte lors de l'interrogation de données à partir d'un compartiment

Vous pouvez interroger des données à partir de la page des journaux de l'explorateur ou en exécutant une requête d'archivage.

Il existe des considérations à prendre en compte lors de l'interrogation des données de journal à partir du compartiment de données:

  • Les données stockées dans le seau de données comprennent les données ingérées par les pipelines de données Informations de priorité, Analyser et alerter et Stockage et recherche Il inclut également les journaux correspondant à une règle Parsing Block dont l'option View blocked logs in Live tail and archive to IBM Cloud Object Storage est activée.
  • Vous gérez les données dans le compartiment. Vous pouvez conserver les données aussi longtemps que nécessaire et les interroger via la page Journaux, en sélectionnant l'option Tous les journaux.
  • Le filtrage peut être utilisé avec la recherche à l'aide de Lucene ou de DataPrime.
  • Vous pouvez interroger des données avec des périodes illimitées. Il n'y a aucune restriction quant à la date à laquelle vos données peuvent remonter dans le temps. Vous gérez les données et vous accédez aux données aussi longtemps que vous les conservez.
  • Vous pouvez interroger les journaux indépendamment de la priorité des journaux et du quota quotidien. Seuls les journaux bloqués ne sont pas envoyés à l'archive.
  • La requête d'archivage vous permet d'interroger directement vos journaux à partir de votre archive à l'aide de n'importe quel texte ou d'un large éventail de requêtes de syntaxe. Vous pouvez interroger les journaux indépendamment de la priorité du journal, du quota quotidien ou de la période de vos données. Pour plus d'informations, voir Demande de données archivées.

Limitations de l'interrogation des données via l'explorateur

Des limites existent lors de l'interrogation de données dans IBM® Cloud Logs.

Limites de requête

Caractères dans une requête

Le nombre de caractères pouvant être inclus dans une requête est limité.

  • Un maximum de 3000 caractères peut être inclus dans une requête dans la vue Logs.

  • Un maximum de 65 535 caractères peut être inclus dans la définition d'une requête d'alerte. Les définitions des requêtes d'alerte sont également limitées à un maximum de 50 déclarations AND et OR.

Types de mots-clés

Les mots-clés représentent le texte qui ne passe pas par l'analyseur avant l'indexation. Ce type de données convient aux expressions régulières, à l'agrégation et au tri.

La syntaxe pour utiliser le type de données mot-clé dans votre requête est la suivante : <fieldName>.keyword.

IBM Cloud Logs ne peut pas créer un type de mot-clé lorsque la longueur du champ est supérieure à 256 caractères.

Résultats renvoyés

Le nombre maximal de lignes renvoyées par une requête varie selon que vous effectuez une requête à partir de Informations de priorité ou de données stockées dans IBM Cloud Object Storage.

  • Le nombre maximal de résultats renvoyés par Informations de priorité est de 12 K.
  • Le nombre maximum de résultats renvoyés par IBM Cloud Object Storage (à partir d'une requête utilisant All Logs ) est de 50 K.

Octets analysés

Un maximum de 100 Mo est analysé pour les données Informations de priorité. Aucune limite n'existe lorsque les données stockées dans IBM Cloud Object Storage sont analysées.

Limitation de débit

Un maximum de 10 requêtes par minute peut être soumis.

Lorsque la limite de débit est dépassée, un message HTTP 429 est renvoyé.

Limitations des requêtes d'archivage

Les limitations suivantes s'appliquent aux requêtes.

Limites de l'interrogation des archives
Limitation Description
Octets traités Jusqu'à 30% des octets ingérés quotidiennement
Fichiers Parquet Analysé jusqu'à 500K fichiers
Cloner les résultats Jusqu'à 1M résultats lors de l'exécution de la requête d'archivage
Délai d'attente Jusqu'à 5 minutes d'exécution de requête

Vous devez également prendre en compte les éléments suivants lors de l'interrogation des données archivées:

  • Vous pouvez utiliser la même syntaxe de requête (Lucene ou DataPrime) sur la page Requêtes d'archivage.

  • Vous pouvez constater de légers retards lors de l'interrogation des données archivées par rapport à d'autres requêtes Explorer.

  • Une fois qu'une limite est atteinte, un message d'avertissement s'affiche. Affinez vos résultats de requête pour éviter d'atteindre une limite.

Affinage des résultats de requête d'archivage

Vous pouvez affiner vos résultats de requête à l'aide des méthodes suivantes:

  • Appliquez des filtres plus sélectifs à vos requêtes (par exemple, application ou sous-système).

  • Si vous utilisez l'opérateur DataPrime extract et que vous filtrez ensuite ses résultats, créez une règle d'analyse syntaxique et filtrez la zone analysée à la place.

  • Evitez les expressions régulières ou les caractères génériques dans les filtres.

  • Dans DataPrime, passez de l'utilisation de l'opérateur contain sur les chaînes à l'opérateur de recherche en texte libre (~ ).

Interroger les données du journal à l'aide de l'interface de programmation

Il existe deux façons d'interroger les données du journal à l'aide de l'interface de programmation :

  • query
  • background-query-create

La commande background-query-create exécute une requête asynchrone tandis que query exécute une requête synchrone.

La requête en arrière-plan vous permet d'exécuter une requête et de récupérer les résultats ultérieurement. Les résultats de la requête sont préparés et, une fois prêts, vous pouvez les télécharger sous forme de fichier à l'aide de la CLI ou de l'API.

L'interrogation en arrière-plan permet de renvoyer jusqu'à 1M enregistrements. La commande query est limitée au renvoi des enregistrements 50K.

L'interface de commande de requêtes ne prend en charge que logs-raw, logs-prettify et json en tant que sortie. La valeur par défaut est logs-raw.

Exécution d'une requête synchrone

Vous pouvez interroger les données du journal de manière synchrone en exécutant la commande ibmcloud logs query en exécutant la commande

ibmcloud logs query --query QUERY --syntax QUERY_SYNTAX --metadata '{"start_date": START-DATE, "end_date": c, "syntax": SYNTAX , "limit": LIMIT, "strict-fields-validation": STRICT-FIELDS-VALIDATION, "tier": TIER}'

ou

ibmcloud logs query --query QUERY --syntax QUERY_SYNTAX --start-date START-DATE --end-date END-DATE --syntax SYNTAX --limit 10

Options de commande

--query (chaîne)

La requête à exécuter. Il s'agit d'un paramètre obligatoire.

La syntaxe de la requête peut être Lucene ou Dataprime. La syntaxe ou le type de la requête est défini à l'aide du paramètre --syntax.

--metadata (chaîne)

Métadonnées pour l'exécution de la requête. Cette configuration permet de fournir les paramètres d'exécution de la requête.

--start-date (chaîne)

Début de l'intervalle de temps pour la requête. Il doit être au format UTC ISO 8601, par exemple : 2025-07-15T08:45:00Z. La valeur par défaut est de 15 minutes avant la valeur --end-date. Si --end-date n'est pas spécifié, la valeur par défaut est de 15 minutes avant l'heure actuelle.

--end-date (chaîne)

Fin de l'intervalle de temps pour la requête. Il doit être au format UTC ISO 8601, par exemple : 2025-07-15T08:45:00Z. La valeur par défaut est de 15 minutes après la valeur de --start-date. Si --start-date n'est pas défini, --end-date est l'heure actuelle et --start-date est 15 minutes avant l'heure actuelle.

--limit (int)

Limite le nombre d'enregistrements renvoyés. Si elle n'est pas spécifiée, la valeur par défaut est 2000. Le nombre maximum d'enregistrements renvoyés lors d'une recherche sur Informations de priorité est de 12000. Dans le cas contraire, le nombre maximum d'enregistrements renvoyés est de 50000.

--syntax (chaîne)

La syntaxe dans laquelle la requête est écrite. Les valeurs autorisées sont : lucene et dataprime.

--since (durée)

Durée à laquelle il faut remonter à partir de l'heure actuelle lors de l'interrogation des données. L'utilisation de ce drapeau remplace les drapeaux metadata-start-date et metadata-end-date. Par exemple, 1h récupère les données de la dernière heure (par défaut 1h0m0s).

--tier (chaîne)

Tier sur lequel la requête est exécutée. Les valeurs autorisées sont : archive, frequent_search ( Informations de priorité ).

--output (chaîne)

Le format de sortie dans lequel les résultats sont renvoyés. Les valeurs valables sont logs-raw, logs-prettify et json.

Exemple

ibmcloud logs query --query "Push and Query test" --metadata '{"start_date": "2025-06-16T12:00:00Z", "end_date": "2025-06-17T13:41:30Z","syntax": "lucene"}' --output logs-raw

La commande query prend également en charge --start-date, --end-date et --syntax en dehors du paramètre metadata. Exemple :

ibmcloud logs query --query "source logs | filter \$d.text == 'Push and Query test'" --syntax dataprime --start-date 2025-08-03T12:00:00Z  --end-date 2025-08-04T13:41:30Z

Exécution d'une requête en arrière-plan

Vous pouvez interroger les données du journal de manière asynchrone.

Vous devez d'abord soumettre une demande de renseignements généraux. Vous pouvez ensuite utiliser l'identifiant avec d'autres commandes.

 ibmcloud logs background-query-create --query QUERY --syntax SYNTAX [--start-date START-DATE] [--end-date END-DATE] [--now-date NOW-DATE]

Options de commande

--query (chaîne)

La requête à exécuter. Il s'agit d'un paramètre obligatoire.

La syntaxe de la requête peut être Lucene ou Dataprime. La syntaxe ou le type de la requête est défini à l'aide du paramètre --syntax.

--syntax (chaîne)

La syntaxe dans laquelle la requête est écrite. Les valeurs autorisées sont : lucene et dataprime.

--start-date (chaîne)

Début de l'intervalle de temps pour la requête. Il doit être au format UTC ISO 8601, par exemple : 2025-07-15T08:45:00Z. La valeur par défaut est de 15 minutes avant la valeur --end-date. Si --end-date n'est pas spécifié, la valeur par défaut est de 15 minutes avant l'heure actuelle.

--end-date (chaîne)

Fin de l'intervalle de temps pour la requête. Il doit être au format UTC ISO 8601, par exemple : 2025-07-15T08:45:00Z. La valeur par défaut est de 15 minutes après la valeur de --start-date. Si --start-date n'est pas défini, --end-date est l'heure actuelle et --start-date est 15 minutes avant l'heure actuelle.

Exemple

ibmcloud logs background-query-create --query "Push and Query test" --syntax lucene --start-date 2025-06-16T12:00:00Z --end-date 2025-06-17T13:41:30Z

Exemple utilisant la syntaxe DataPrime

ibmcloud logs background-query-create --query "source logs | filter \$d.text == 'Push and Query test'" --syntax dataprime --start-date 2025-08-03T12:00:00Z

Détermination du statut d'une requête en arrière-plan

Vous pouvez déterminer l'état d'une requête en arrière-plan en utilisant l'ID renvoyé lors de l'exécution de la commande de requête en arrière-plan.

ibmcloud logs background-query-status --query-id QUERY-ID

Options de commande

--query-id (strfmt.UUID)

ID de la requête renvoyée par une commande d' interrogation en arrière-plan. Obligatoire.

La valeur est composée de 36 caractères et doit correspondre à l'expression régulière /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.

Exemple

ibmcloud logs background-query-status --query-id 8b5e7151-da2b-4633-be8c-9b269bed2c81

Récupération des résultats d'une requête en arrière-plan

Vous pouvez récupérer les résultats d'une requête en arrière-plan en utilisant l'identifiant renvoyé lors de l'exécution de la commande de requête en arrière-plan.

ibmcloud logs background-query-data --query-id QUERY-ID --output OUTPUT

Options de commande

--query-id (strfmt.UUID)

ID de la requête renvoyée par une commande d' interrogation en arrière-plan. Obligatoire.

La valeur est composée de 36 caractères et doit correspondre à l'expression régulière /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.

--output-file (chaîne)

Spécifie le chemin d'accès au fichier dans lequel la sortie est écrite.

--output (chaîne)

Le format de sortie dans lequel les résultats sont renvoyés. Les valeurs valables sont logs-raw, logs-prettify, json, yaml, tui, ou table. La valeur par défaut est table.

Exemple

ibmcloud logs background-query-data --query-id df47fff7-131d-41dc-9328-05489a93e27c --output logs-raw

Annulation d'une requête en arrière-plan

Vous pouvez annuler une requête en arrière-plan en utilisant l'identifiant renvoyé lors de l'exécution de la commande de requête en arrière-plan.

ibmcloud logs background-query-cancel --query-id QUERY-ID --force

Options de commande

--query-id (strfmt.UUID)

ID de la requête renvoyée par une commande d' interrogation en arrière-plan. Obligatoire.

La valeur est composée de 36 caractères et doit correspondre à l'expression régulière /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.

--force|-f

Exécute la commande sans autre demande de l'utilisateur.

Exemple

ibmcloud logs background-query-cancel --query-id df47fff7-131d-41dc-9328-05489a93e27c