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:
- Filtra dati di log
- Ricerca dati di log utilizzando Lucene
- Ricerca dei dati di log utilizzando DataPrime
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 Insight priorità
Ci sono delle considerazioni quando si interrogano i dati di log nella pipeline IBM Cloud Logs Insight priorità:
-
Il filtro può essere utilizzato insieme alla ricerca utilizzando Lucene o DataPrime.
-
I log nella pipelineInsight priorità vengono indicizzati. Se l'istanza raggiunge la quantità massima di campi indicizzati, i campi aggiuntivi non sono disponibili per la query. Per ulteriori informazioni sull'indicizzazione e la mappatura dei dati, consultare Informazioni sull'indicizzazione e la mappatura dei campi.
-
Puoi ottenere un'eccezione di associazione quando i dati inseriti tramite la pipeline di dati Insight priorità rilevano lo stesso campo inviato da record di log differenti con tipi differenti. Le eccezioni di associazione rendono i campi non disponibili per la query. Per ulteriori informazioni, consultare Eccezioni di associazione.
-
I log ingeriti attraverso le pipeline di dati Analizza e avvisa e Archivia e ricerca possono essere interrogati direttamente dall'archivio.
-
Puoi eseguire la query dei log inseriti ed elaborati tramite la pipeline di datiInsight priorità utilizzando una query Lucene o una query DataPrime.
Ad esempio, quando si definisce una query Lucene, è possibile eseguire query quali ricerche a testo libero, espressioni RegEX regolari o utilizzando ricerche di campi.
Se non vengono visualizzati i dati previsti:
-
Considerare l'ampliamento della query o la rimozione dei filtri.
-
Tieni presente che alcuni dei tuoi log potrebbero non essere ancora indicizzati e non saranno trovati dal filtro o dalla query.
-
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
ANDeOR.
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.
| 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:
querybackground-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-datenon è 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-datenon è 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:
luceneedataprime. --since(durata)-
Durata per guardare indietro dall'ora corrente quando si interrogano i dati. L'uso di questo flag sostituisce le opzioni
metadata-start-dateemetadata-end-date. Ad esempio,1hrecupera i dati dell'ultima ora (default1h0m0s). --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-prettifyejson.
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:
luceneedataprime. --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-datenon è 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-datenon è 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, otable. 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