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 utilizzando PPL. OpenSearch Con PPL, è possibile recuperare, interrogare e analizzare i dati utilizzando comandi concatenati, semplificando la comprensione e la composizione di interrogazioni complesse. La sua sintassi si basa sulle pipe Unix e consente il concatenamento di comandi per trasformare ed elaborare i dati. Con PPL, puoi 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 di campo e le fonti di dati da includere in una query quando si utilizza l' AWS CLI API o 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 i gruppi di log e il nome e il tipo di origine dati.
aws:fieldIndexDa utilizzare per restituire solo dati indicizzati, forzando una query a scansionare solo i gruppi di log indicizzati su 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 contengono eventi di registro contenenti il campo specificato nella query e analizzando solo i gruppi di log che corrispondono al valore specificato nella query per questo indice di campo. aws:fieldIndexUtilizzatelo per specificare il nome del campo, insieme al nome e al valore del campo nel comando di origine, 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 dei gruppi di log nella Standard Log Class.
Nota
Per informazioni su tutti i comandi di interrogazione OpenSearch PPL supportati nei CloudWatch registri e informazioni dettagliate sulla sintassi e le restrizioni, vedere Comandi PPL supportati nella Service Developer Guide. OpenSearch
Per informazioni su altri linguaggi di interrogazione che è possibile utilizzare, vedere CloudWatch Logs Insights, Service SQL e OpenSearch CloudWatch Metrics Insights
| Comando o funzione | Query di esempio | Description |
|---|---|---|
|
campi |
|
Visualizza un insieme di campi che necessitano di proiezione. |
|
join |
|
Unisce due set di dati. |
|
dove |
|
Filtra i dati in base alle condizioni specificate. |
|
AWS: FieldIndex |
|
Restituisce solo dati indicizzati, forzando una query a scansionare solo i gruppi di log indicizzati su un campo specificato nella query. |
|
stats |
|
Esegue aggregazioni e calcoli |
|
parse |
|
Estrae un pattern di espressione regolare (regex) da una stringa e visualizza il pattern estratto. Il pattern estratto può essere ulteriormente utilizzato per creare nuovi campi o filtrare i dati. |
|
sort |
|
Ordina i risultati visualizzati in base al nome di un campo. Usa sort - FieldName per ordinare in ordine decrescente. |
|
eval |
|
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. |
|
rinominare |
|
Rinomina uno o più campi nel risultato della ricerca. |
|
head |
|
Limita i risultati dell'interrogazione visualizzati alle prime N righe. |
|
top |
|
Trova i valori più frequenti per un campo. |
|
dedup |
|
Rimuove le voci duplicate in base ai campi specificati. |
|
rari |
|
Trova i valori meno frequenti di tutti i campi nell'elenco dei campi. |
|
subquery |
|
Esegue interrogazioni complesse e annidate all'interno delle istruzioni PPL. |
|
linea di tendenza |
|
Calcola le medie mobili dei campi. |
|
EventStats |
|
Arricchisce i dati degli eventi con statistiche riassuntive calcolate. Analizza campi specifici all'interno degli eventi, calcola varie misure statistiche e quindi aggiunge questi risultati a ciascun evento originale come nuovi campi. |
|
espansione |
|
Suddivide un campo contenente più valori in righe separate, creando una nuova riga per ogni valore nel campo specificato. |
|
riempi/null |
|
Riempie i campi nulli con il valore fornito. Può essere utilizzato in uno o più campi. |
|
flatten |
|
Appiattisce un campo. Il campo deve essere di questo tipo: |
|
cidrmatch |
|
Verifica se l'indirizzo IP specificato rientra nell'intervallo CIDR specificato. |
|
riepilogo del campo |
|
Calcola le statistiche di base per ogni campo (conteggio, conteggio distinto, min, max, avg, stddev e mean). |
|
grok |
|
Analizza un campo di testo con un pattern grok e aggiunge i risultati al risultato della ricerca. |
|
Funzioni stringa |
|
Funzioni integrate in PPL che possono manipolare e trasformare stringhe e dati di testo all'interno di query PPL. Ad esempio, convertire maiuscole e minuscole, combinare stringhe, estrarre parti e pulire il testo. |
|
Funzioni data-ora |
|
Funzioni integrate per la gestione e la trasformazione dei dati di data e ora nelle query PPL. Ad esempio, date_add, date_format, datediff, date-sub, timestampadd, timestampdiff, current_timezone, utc_timestamp e current_date. |
|
Funzioni di condizione |
|
Funzioni integrate che controllano le condizioni specifiche dei campi e valutano le espressioni in modo condizionale. Ad esempio, se field1 è nullo, restituisci field2. |
|
Funzioni matematiche |
|
Funzioni integrate per eseguire calcoli e trasformazioni matematiche 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 |
|
Funzioni integrate per la gestione di JSON, tra cui 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 di origine dati.
Il comando source di PPL ora supporta diversi modi per specificarli:
-
Gruppo di log
-
Indici di campo - Nuovi
-
Fonte e tipo di dati: nuovo
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 di campo
La selezione dell'origine basata sull'indice dei campi riduce la quantità di dati interrogati limitando i risultati ai soli dati indicizzati quando i filtri riguardano i campi 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 di campo e su come crearli, consulta 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 su 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 contengono eventi di registro contenenti il campo specificato nella query per il campo indicizzato. Riduce ulteriormente il volume scansionato tentando di analizzare 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 di campo e su come crearli, consulta 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 seguente)
-
-
`region`="us-west-2"identifica la condizione del filtro da applicare-
Nota: invece di = i clienti possono utilizzare IN per specificare più valori (esempio seguente)
-
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
Fonte e tipo di dati
La selezione della fonte di dati e della fonte basata sul tipo può essere utilizzata quando i clienti sanno quali fonti di 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 fonti di dati
Per supportare il caso d'uso per l'interrogazione di sorgenti di dati in PPL, è possibile utilizzare la clausola Dynamic Source Selector. Utilizzando questa sintassi, è possibile interrogare le fonti di dati specificandole nel comando di ricerca. È possibile specificare fino a 10 fonti di 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 sorgente 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 seguente query, i risultati restituiti avranno solo eventi di origine e tipo DataSource 1.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 relative alle fonti di dati.