Query dei dati

In IBM Cloud Logs, puoi eseguire la query dei tuoi dati di log utilizzando le query Lucene, DataPrime o interrogando direttamente i dati da un bucket COS ( IBM Cloud Object Storage. È anche possibile applicare filtri alle interrogazioni.

Esegui query dei dati dall'interfaccia utente

Nella pagina Esplora Log, puoi:

Il filtro può essere utilizzato insieme alla ricerca utilizzando Lucene o DataPrime.

Una volta definita una query, è possibile salvarla per un successivo riutilizzo creando una vista. Per ulteriori informazioni, consultare Creazione di viste personalizzate.

Considerazioni durante la query dei dati da un bucket

È possibile interrogare i dati dalla pagina dei log di Explorer o eseguendo una query di archivio.

Ci sono delle considerazioni quando si interrogano i dati di log dal bucket di dati:

  • I dati memorizzati nel bucket includono i dati ingeriti attraverso le pipeline di dati Insight priorità, Analizza e avvisa e Archivia e ricerca. Include anche i registri che sono stati confrontati con una regola di blocco del parsing con l'opzione Visualizza i registri bloccati nella coda Live e archivia in IBM Cloud Object Storage abilitata.
  • Mantieni i dati nel bucket. Puoi conservare i dati per tutto il periodo di tempo che ti serve e interrogarli tramite la pagina Log, selezionando l'opzione Tutti i log.
  • Il filtro può essere utilizzato insieme alla ricerca utilizzando Lucene o DataPrime.
  • È possibile interrogare i dati con intervalli di tempo illimitati. Non ci sono restrizioni su quanto indietro nel tempo i tuoi dati possono andare. Si conservano i dati e si ha accesso ai dati per tutto il tempo in cui li si conserva.
  • Puoi eseguire la query dei log indipendentemente dalla priorità del log e dalla quota giornaliera. Solo i log bloccati non vengono inviati all'archivio.
  • Query di archivio consente di interrogare direttamente i log dall'archivio utilizzando qualsiasi testo o una vasta gamma di query di sintassi. È possibile eseguire la query dei log indipendentemente dalla priorità del log, dalla quota giornaliera o dall'intervallo di tempo dei dati. Per ulteriori informazioni, consultare Query dei dati archiviati.

Limitazioni nella query dei dati tramite Explorer

Esistono dei limiti durante la query dei dati in IBM® Cloud Logs.

Limiti della query

Caratteri all'interno di una query

Esistono limiti al numero di caratteri che possono essere inclusi in una query.

  • Nella vista Registri è possibile inserire un massimo di 3000 caratteri in una query.

  • La definizione di una query di avviso può contenere un massimo di 65.535 caratteri. Anche le definizioni delle query di avviso sono limitate a un massimo di 50 istruzioni AND e OR.

Tipi di parole chiave

Le parole chiave rappresentano il testo che non passa attraverso l'analizzatore prima dell'indicizzazione. Questo tipo di dati è adatto alle espressioni regolari, all'aggregazione e all'ordinamento.

La sintassi per utilizzare il tipo di dati della parola chiave nella query è: <fieldName>.keyword.

IBM Cloud Logs non può creare un tipo di parola chiave quando un campo è più lungo di 256 caratteri.

Risultati restituiti

Il numero massimo di righe restituite da una query dipende se stai eseguendo una query da Insight priorità o dai dati archiviati in IBM Cloud Object Storage.

  • Il numero massimo di risultati restituiti da Insight priorità è 12 K.
  • Il numero massimo di risultati restituiti da IBM Cloud Object Storage (da una query che utilizza tutti i registri ) è 50 K.

Byte sottoposti a scansione

Viene eseguita la scansione di un massimo di 100 MB per i dati Insight priorità. Non esiste alcun limite quando viene eseguita la scansione dei dati archiviati in IBM Cloud Object Storage.

Limitazione della frequenza

È possibile inoltrare un massimo di 10 query al minuto.

Quando il limite di velocità viene superato, viene restituito un messaggio HTTP 429.

Limitazioni query archivio

Di seguito sono riportate le limitazioni poste sulle interrogazioni.

Limitazioni delle query di archivio
Limitazione Descrizione
Byte elaborati Fino al 30% dei byte inseriti giornalmente
File parquet Sottoposti a scansione fino a 500K file
Clona risultati Fino a 1M risultati durante l'esecuzione della query di archiviazione
Timeout Fino a 5 minuti di esecuzione della query

È inoltre necessario tenere presente quanto segue quando si interrogano i dati archiviati:

  • È possibile utilizzare la stessa sintassi di query (Lucene o DataPrime) nella pagina Query di archivio.

  • Si potrebbero notare lievi ritardi quando si interrogano i dati archiviati rispetto ad altre query Esplora.

  • Una volta raggiunto il limite, viene visualizzato un messaggio di avviso. Perfezionare i risultati della query per evitare di raggiungere un limite.

Perfezionamento dei risultati della query di archiviazione

È possibile perfezionare i risultati della query utilizzando i seguenti metodi:

  • Applicare filtri più selettivi alle query (ad esempio, applicazione o sottosistema).

  • Se si utilizza l'operatore DataPrime extract e successivamente si filtrano i relativi risultati, creare una regola di analisi e filtrarla in base al campo analizzato.

  • Evitare le espressioni regolari o i caratteri jolly nei filtri.

  • In DataPrime, passare dall'utilizzo dell'operatore contiene sulle stringhe all'operatore di ricerca a testo libero (~ ).

Interrogazione dei dati di log tramite CLI

Esistono due modi per interrogare i dati di log utilizzando la CLI:

  • query
  • background-query-create

Il comando background-query-create esegue una query asincrona, mentre query esegue una query sincrona.

La query in background consente di eseguire una query e di recuperare i risultati in un momento successivo. I risultati della query vengono preparati e, una volta pronti, possono essere scaricati come file utilizzando la CLI o l'API.

Con la query in background possono essere restituiti fino a 1M record. Il comando query è limitato alla restituzione dei record 50K.

La Query CLI supporta solo logs-raw, logs-prettify e json come output. L'impostazione predefinita è logs-raw.

Esecuzione di una query sincrona

È possibile interrogare i dati di log in modo sincrono eseguendo il comando ibmcloud logs query il comando.

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}'

oppure

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

Opzioni comando

--query (stringa)

La query da eseguire. È un parametro obbligatorio.

La sintassi della query può essere Lucene o Dataprime. La sintassi o il tipo di query viene impostata tramite il parametro --syntax.

--metadata (stringa)

Metadati per l'esecuzione della query. Utilizzare questa configurazione per fornire i parametri di esecuzione della query.

--start-date (stringa)

Inizio dell'intervallo di tempo per la query. Deve essere in formato UTC ISO 8601, ad esempio: 2025-07-15T08:45:00Z. L'impostazione predefinita è 15 minuti prima del valore --end-date. Se --end-date non è specificato, il valore predefinito è 15 minuti prima dell'ora corrente.

--end-date (stringa)

Fine dell'intervallo di tempo per la query. Deve essere in formato UTC ISO 8601, ad esempio: 2025-07-15T08:45:00Z. L'impostazione predefinita è 15 minuti dopo il valore --start-date. Se --start-date non è definito, --end-date è l'ora corrente e --start-date è 15 minuti prima dell'ora corrente.

--limit (int)

Limita il numero di record restituiti. Se non viene specificato, il valore predefinito è 2000. Il numero massimo di record restituiti durante la ricerca su Insight priorità è 12000. Altrimenti il numero massimo di record restituiti è: 50000.

--syntax (stringa)

La sintassi in cui è scritta la query. I valori ammessi sono: lucene e dataprime.

--since (durata)

Durata per guardare indietro dall'ora corrente quando si interrogano i dati. L'uso di questo flag sostituisce le opzioni metadata-start-date e metadata-end-date. Ad esempio, 1h recupera i dati dell'ultima ora (default 1h0m0s).

--tier (stringa)

Tier su cui viene eseguita la query. I valori ammessi sono: archive, frequent_search ( Insight priorità ).

--output (stringa)

Il formato di output in cui vengono restituiti i risultati. I valori validi sono logs-raw, logs-prettify e json.

Esempio

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

Il comando query supporta anche --start-date, --end-date e --syntax al di fuori del parametro metadata. Ad esempio:

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

Esecuzione di una query in background

È possibile interrogare i dati di log in modo asincrono.

Per prima cosa si invia una richiesta di informazioni di base. Quindi, è possibile utilizzare l'ID con altri comandi.

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

Opzioni comando

--query (stringa)

La query da eseguire. È un parametro obbligatorio.

La sintassi della query può essere Lucene o Dataprime. La sintassi o il tipo di query viene impostata tramite il parametro --syntax.

--syntax (stringa)

La sintassi in cui è scritta la query. I valori ammessi sono: lucene e dataprime.

--start-date (stringa)

Inizio dell'intervallo di tempo per la query. Deve essere in formato UTC ISO 8601, ad esempio: 2025-07-15T08:45:00Z. L'impostazione predefinita è 15 minuti prima del valore --end-date. Se --end-date non è specificato, il valore predefinito è 15 minuti prima dell'ora corrente.

--end-date (stringa)

Fine dell'intervallo di tempo per la query. Deve essere in formato UTC ISO 8601, ad esempio: 2025-07-15T08:45:00Z. L'impostazione predefinita è 15 minuti dopo il valore --start-date. Se --start-date non è definito, --end-date è l'ora corrente e --start-date è 15 minuti prima dell'ora corrente.

Esempio

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

Esempio con la sintassi di 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

Determinazione dello stato di una query in background

È possibile determinare lo stato di una query in background utilizzando l'ID restituito quando si esegue il comando di query in background.

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

Opzioni comando

--query-id (strfmt.UUID)

ID della query restituito da un comando di query in background. Obbligatorio.

Il valore è di 36 caratteri e deve corrispondere all'espressione regolare /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.

Esempio

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

Recupero dei risultati di una query in background

È possibile recuperare i risultati di una query in background utilizzando l'ID restituito durante l'esecuzione del comando di query in background.

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

Opzioni comando

--query-id (strfmt.UUID)

ID della query restituito da un comando di query in background. Obbligatorio.

Il valore è di 36 caratteri e deve corrispondere all'espressione regolare /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.

--output-file (stringa)

Specifica il percorso del file in cui viene scritto l'output.

--output (stringa)

Il formato di output in cui vengono restituiti i risultati. I valori validi sono logs-raw, logs-prettify, json, yaml, tui, o table. L'impostazione predefinita è table.

Esempio

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

Annullamento di una query in background

È possibile annullare una query in background utilizzando l'ID restituito quando si esegue il comando di query in background.

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

Opzioni comando

--query-id (strfmt.UUID)

ID della query restituito da un comando di query in background. Obbligatorio.

Il valore è di 36 caratteri e deve corrispondere all'espressione regolare /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.

--force|-f

Esegue il comando senza ulteriori richieste all'utente.

Esempio

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