Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
OpenSearch Piped Processing Language (PPL)
Questa sezione contiene un'introduzione di base all'interrogazione dei CloudWatch log tramite PPL. OpenSearch Con PPL, è possibile recuperare, interrogare e analizzare i dati utilizzando comandi combinati, che semplificano la comprensione e la composizione di interrogazioni complesse. La sua sintassi è basata su pipe Unix e consente il concatenamento di comandi per trasformare ed elaborare i dati. Con PPL, è possibile filtrare e aggregare i dati e utilizzare un ricco set di funzioni matematiche, di stringhe, di data, condizionali e di altro tipo per l'analisi.
L'inclusione SOURCE in una query PPL è un modo utile per specificare i gruppi di log, gli indici dei campi e le origini dati da includere in una query quando si utilizza l' AWS CLI API or per creare una query. Il SOURCE comando è supportato solo nell'API AWS CLI and, non nella console. CloudWatch Quando si utilizza la CloudWatch console per avviare una query, si utilizza l'interfaccia della console per specificare il nome e il tipo dei gruppi di log e dell'origine dati.
aws:fieldIndexDa utilizzare per restituire solo dati indicizzati, forzando una query a scansionare solo i gruppi di log indicizzati in un campo specificato nella query. I gruppi di log pertinenti vengono selezionati automaticamente, in base ai campi specificati nel comando. filterIndex Ciò riduce il volume scansionato ignorando i gruppi di log che non hanno eventi di log contenenti il campo specificato nella query e solo i gruppi di log di scansione che corrispondono al valore specificato nella query per questo indice di campo. Consente aws:fieldIndex di specificare il nome del campo, insieme al nome e al valore del campo nel comando source, per interrogare solo i dati indicizzati contenenti il campo e il valore specificati. Per ulteriori informazioni, consulta Crea indici di campo per migliorare le prestazioni delle query e ridurre il volume di scansione
È possibile utilizzare OpenSearch PPL per le interrogazioni sui gruppi di log nella classe di log standard.
Nota
Per informazioni su tutti i comandi di interrogazione OpenSearch PPL supportati nei CloudWatch log e informazioni dettagliate su sintassi e restrizioni, consultate Comandi PPL supportati nella Service Developer Guide. OpenSearch
Per informazioni su altri linguaggi di interrogazione utilizzabili, consulta CloudWatch Logs Insights, OpenSearch Service SQL e CloudWatch Metrics Insights
| Comando o funzione | Query di esempio | Description |
|---|---|---|
|
|
|
Visualizza una serie di campi che devono essere proiettati. |
|
|
|
Unisce due set di dati. |
|
|
|
Filtra i dati in base alle condizioni specificate. |
|
|
|
Restituisce solo i dati indicizzati, forzando una query a scansionare solo i gruppi di log indicizzati in un campo specificato nella query. |
|
|
|
Esegue aggregazioni e calcoli |
|
|
|
Estrae un modello di espressione regolare (regex) da una stringa e visualizza il modello estratto. Il modello estratto può essere ulteriormente utilizzato per creare nuovi campi o filtrare dati. |
|
|
|
Ordina i risultati visualizzati in base al nome di un campo. Usa sort - FieldName per ordinare in ordine decrescente. |
|
|
|
Modifica o elabora il valore di un campo e lo memorizza in un campo diverso. Ciò è utile per modificare matematicamente una colonna, applicare funzioni di stringa a una colonna o applicare funzioni di data a una colonna. |
|
|
|
Rinomina uno o più campi nel risultato della ricerca. |
|
|
|
Limita i risultati dell'interrogazione visualizzati alle prime N righe. |
|
|
|
Trova i valori più frequenti per un campo. |
|
|
|
Rimuove le voci duplicate in base ai campi specificati. |
|
|
|
Trova i valori meno frequenti di tutti i campi nell'elenco dei campi. |
|
|
|
Esegue interrogazioni complesse e annidate all'interno delle istruzioni PPL. |
|
|
|
Calcola le medie mobili dei campi. |
|
|
|
Arricchisce i dati degli eventi con statistiche riassuntive calcolate. Analizza i campi specificati all'interno degli eventi, calcola varie misure statistiche e quindi aggiunge questi risultati a ciascun evento originale come nuovi campi. |
|
|
|
Suddivide un campo contenente più valori in righe separate, creando una nuova riga per ogni valore nel campo specificato. |
|
|
|
Riempie i campi nulli con il valore fornito. Può essere utilizzato in uno o più campi. |
|
|
|
Appiattisce un campo. Il campo deve essere di questo tipo: |
|
|
|
Verifica se l'indirizzo IP specificato rientra nell'intervallo CIDR specificato. |
|
|
|
Calcola le statistiche di base per ogni campo (conteggio, conteggio distinto, min, max, avg, stddev e media). |
|
|
|
Analizza un campo di testo con un pattern grok e aggiunge i risultati al risultato della ricerca. |
|
Funzioni stringa |
|
Built-in funzioni in PPL in grado di manipolare e trasformare stringhe e dati di testo all'interno di interrogazioni PPL. Ad esempio, convertendo maiuscole e minuscole, combinando stringhe, estraendo parti e pulendo il testo. |
|
Date-Time funzioni |
|
Built-in funzioni per la gestione e la trasformazione dei dati di data e ora nelle interrogazioni PPL. Ad esempio, date_add, date_format, datediff, date-sub, timestampadd, timestampdiff, current_timezone, utc_timestamp e current_date. |
|
Funzioni di condizione |
|
Built-in funzioni che controllano condizioni specifiche dei campi e valutano le espressioni in modo condizionale. Ad esempio, se field1 è nullo, restituisce field2. |
|
Funzioni matematiche |
|
Built-in funzioni per eseguire calcoli matematici e trasformazioni nelle interrogazioni PPL. Ad esempio, abs (valore assoluto), round (arrotonda i numeri), sqrt (radice quadrata), pow (calcolo della potenza) e ceil (arrotonda al numero intero più vicino). |
|
CryptoGraphic funzioni |
|
Per calcolare l'hash di un determinato campo |
|
Funzioni JSON |
|
Built-in funzioni per la gestione di JSON, inclusi array, estrazione e convalida. Ad esempio, json_object, json_array, to_json_string, json_array_length, json_extract, json_keys e json_valid. |
Ambito della query
L'inclusione di SOURCE in una query è un modo utile per specificare i gruppi di log da includere in una query quando si utilizza l'API AWS CLI or per creare una query. Il comando SOURCE è supportato solo nell'API AWS CLI and, non nella CloudWatch console. Quando si utilizza la CloudWatch console per avviare una query, si utilizza l'interfaccia della console per specificare i gruppi di log e il nome e il tipo dell'origine dati.
Il comando source di PPL ora supporta diversi modi per specificarli:
-
Gruppo di log
-
Indici dei campi - Nuovi
-
Origine e tipo di dati: nuovi
Gruppo di log
La selezione della fonte del gruppo di log può essere utilizzata quando i clienti sanno esattamente quali gruppi di log devono essere cercati
source = [lg:`/aws/lambda/my-function`] | where status = 200 | head 10
Indici dei campi
La selezione della fonte basata sull'indice dei campi riduce la quantità di dati interrogati limitando i risultati ai soli dati indicizzati quando si filtrano i campi di destinazione che sono stati indicizzati. I gruppi di log pertinenti vengono selezionati automaticamente, in base ai campi specificati nel comando. filterIndex Per ulteriori informazioni sugli indici dei campi e su come crearli, vedi Creare indici di campo per migliorare le prestazioni delle query e ridurre il volume di scansione.
aws:fieldIndexDa utilizzare per restituire solo dati indicizzati, forzando una query a scansionare solo i gruppi di log indicizzati in un campo specificato nella query. Per questi gruppi di log indicizzati in questo campo, ottimizza ulteriormente la query ignorando i gruppi di log che non hanno eventi di registro contenenti il campo specificato nella query per il campo indicizzato. Riduce ulteriormente il volume scansionato tentando di scansionare solo gli eventi di registro di questi gruppi di log che corrispondono al valore specificato nella query per questo indice di campo. Per ulteriori informazioni sugli indici dei campi e su come crearli, vedi Creare indici di campo per migliorare le prestazioni delle query e ridurre il volume di scansione.
In PPL, aws:fieldIndex viene utilizzato per specificare quali coppie chiave-valore devono essere trattate come indici. La sintassi è la seguente
source = [`aws:fieldIndex`="region", `region` = "us-west-2"] | where status = 200 | head 10
dove:
-
`aws:fieldIndex`="region"identifica la regione come campo Index.-
Nota: invece di = i clienti possono utilizzare IN per specificare più indici (esempio sotto)
-
-
`region`="us-west-2"identifica la condizione del filtro da applicare-
Nota: invece di = i clienti possono utilizzare IN per specificare più valori (esempio sotto)
-
I clienti possono specificare più FieldIndex come segue
source = [`aws:fieldIndex` IN ("status", "region"), `status` = 200, `region` IN ("us-west-2", "us-east-1")] | head 10
Origine e tipo di dati
La selezione dell'origine e del tipo dei dati può essere utilizzata quando i clienti sanno quali origini dati esatte devono essere interrogate. Questa query viene eseguita su uno o più gruppi di log che contengono l'origine e il tipo di dati specificati.
source = [ds:`data_source.type`] | where status = 200 | head 10
PPL supportato per le interrogazioni sulle origini dati
Per supportare il caso d'uso per l'interrogazione di origini dati in PPL, è possibile utilizzare la clausola di selezione dinamica delle fonti. Utilizzando questa sintassi, è possibile interrogare le fonti di dati specificandole nel comando di ricerca. È possibile specificare fino a 10 origini dati.
Sintassi
source=[ds:`DataSource1.Type1`, ds:`DataSource2.Type2`, ...ds:`DataSourcen.Typen`]
Query di esempio
search source=[ds:`DataSource1.Type1`, ds:`DataSource2.Type2`] | fields field1, field2
Esempio per la combinazione
I clienti possono specificare tutti gli operatori di selezione della fonte in qualsiasi ordine e i risultati sarebbero l'intersezione di tutte le condizioni applicate.
Ad esempio,/aws/lambda/my-function-1 potrebbe contenere più fonti e tipi di dati, tra cui un'ampia varietà di indici, quando viene eseguita la query seguente, i risultati restituiti conterranno solo eventi di origine e tipo DataSource1.Type1 e corrispondenti ai criteri di 'status' = 200.
search source=[ ds:`DataSource1.Type1`, lg:`/aws/lambda/my-function-1`, `aws:fieldIndex` IN ("status"), `status` = 200 ]
Restrizioni
Le seguenti restrizioni si applicano quando si utilizza OpenSearch PPL per eseguire query in Logs Insights. CloudWatch
-
Non è possibile utilizzare i comandi join o subquery con le query sulle origini dati.