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:
- Filtrer les données de journal
- Recherche de données de journal à l'aide de Lucene
- Recherche de données de journal à l'aide de DataPrime
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 relatives à l'interrogation des données Informations de priorité
Des remarques sont à prendre en compte lors de l'interrogation des données de journal dans le pipeline IBM Cloud Logs Informations de priorité:
-
Le filtrage peut être utilisé avec la recherche à l'aide de Lucene ou de DataPrime.
-
Les journaux du pipelineInformations de priorité sont indexés. Si votre instance atteint le nombre maximal de zones indexées, des zones supplémentaires ne sont pas disponibles pour la requête. Pour plus d'informations sur l'indexation et le mappage de données, voir Description de l'indexation et du mappage de zones.
-
Vous pouvez obtenir une exception de mappage lorsque les données qui sont ingérées via le pipeline de données Informations de priorité détectent la même zone envoyée par différents enregistrements de journal de types différents. Les exceptions de mappage rendent les zones indisponibles pour la requête. Pour plus d'informations, voir Mappage d'exceptions.
-
Les journaux ingérés par les pipelines de données " Analyser et alerter et " Stockage et recherche ne peuvent être que " directement à partir de l'archive..
-
Vous pouvez interroger les journaux qui sont ingérés et traités via le pipeline de donnéesInformations de priorité à l'aide d'une requête Lucene ou d'une requête DataPrime.
Par exemple, lorsque vous définissez une requête Lucene, vous pouvez exécuter des requêtes telles que des recherches de texte libre, des expressions RegEX régulières ou des recherches de zones.
Si vous ne voyez pas les données attendues:
-
Envisagez d'élargir votre requête ou de supprimer des filtres.
-
Notez que certains de vos journaux peuvent ne pas encore être indexés et ne pas être trouvés par le filtre ou la requête.
-
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
ANDetOR.
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.
| 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 :
querybackground-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-daten'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-daten'est pas défini,--end-dateest l'heure actuelle et--start-dateest 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 :
luceneetdataprime. --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-dateetmetadata-end-date. Par exemple,1hrécupère les données de la dernière heure (par défaut1h0m0s). --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-prettifyetjson.
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 :
luceneetdataprime. --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-daten'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-daten'est pas défini,--end-dateest l'heure actuelle et--start-dateest 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, outable. La valeur par défaut esttable.
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