Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

OpenSearch Linguaggio SQL

Modalità Focus
OpenSearch Linguaggio SQL - CloudWatch Registri Amazon

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à.

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à.

Questa sezione contiene un'introduzione di base all'interrogazione dei CloudWatch log utilizzando OpenSearch SQL. Fornisce un'opzione familiare se sei abituato a lavorare con database relazionali. OpenSearch SQL offre un sottoinsieme di funzionalità SQL, il che lo rende una buona scelta per eseguire query ad hoc e attività di analisi dei dati. Con OpenSearch SQL, è possibile utilizzare comandi come SELECT, FROM, WHERE, GROUP BY, HAVING e vari altri comandi e funzioni SQL. È possibile eseguire JOINs più gruppi di log, correlare i dati tra gruppi di log utilizzando sottoquery e utilizzare il ricco set di funzioni SQL JSON, matematiche, di stringa, condizionali e di altro tipo per eseguire analisi approfondite sui dati di log e di sicurezza.

È possibile utilizzare OpenSearch SQL solo per le query dei gruppi di log nella Standard Log Class.

Nella tabella seguente sono elencati i comandi e le funzioni SQL supportati nei CloudWatch registri. Per informazioni su tutti i comandi OpenSearch SQL, inclusa la sintassi, vedere Comandi SQL supportati nella OpenSearch Service Developer Guide.

Comandi SQL supportati

Comando o funzione Query di esempio Descrizione

SELECT

SELECT `@message`, Operation FROM `LogGroupA`

Visualizza i valori proiettati.

FROM

SELECT `@message`, Operation FROM `LogGroupA`

Clausola incorporata che specifica le tabelle o le viste di origine da cui recuperare i dati, supportando vari tipi di join e sottoquery.

WHERE

SELECT * FROM `LogGroupA` WHERE Operation = 'x'

Filtra gli eventi di registro in base ai criteri di campo forniti.

GROUP BY

SELECT `@logStream`, COUNT(*) as log_count FROM `LogGroupA` GROUP BY `@logStream`

I gruppi registrano gli eventi in base alla categoria e trovano la media in base alle statistiche.

HAVING

SELECT `@logStream`, COUNT(*) as log_count FROM `LogGroupA` GROUP BY `@logStream` HAVING log_count > 100

Filtra i risultati in base alle condizioni di raggruppamento.

ORDER BY

SELECT * FROM `LogGroupA` ORDER BY `@timestamp` DESC

Ordina i risultati in base ai campi della clausola ORDER BY. È possibile ordinare in ordine decrescente o crescente.

JOIN

SELECT A.`@message`, B.`@timestamp`FROM `LogGroupA` as A INNER JOIN `LogGroupB` as B ON A.`requestId` = B.`requestId`

Unisce i risultati di due tabelle in base a campi comuni. È necessario specificare Inner JOIN o Left Outer Join

LIMIT

Select * from `LogGroupA` limit 10

Limita i risultati della query visualizzati alle prime N righe.

Funzioni stringa

SELECT upper(Operation) , lower(Operation), Operation FROM `LogGroupA`

Funzioni integrate in SQL in grado di manipolare e trasformare stringhe e dati di testo all'interno di query SQL. Ad esempio, la conversione di maiuscole e minuscole, la combinazione di stringhe, l'estrazione di parti e la pulizia del testo.

Funzioni di data

SELECT current_date() as today, date_add(current_date(), 30) as thirty_days_later, last_day(current_date()) as month_end FROM `LogGroupA`

Funzioni integrate per la gestione e la trasformazione dei dati di data e ora nelle query SQL. Ad esempio, date_add, date_format, datediff e current_date.

Funzioni condizionali

SELECT Operation, IF(Error > 0, 'High', 'Low') as error_category FROM `LogGroupA`;

Funzioni integrate che eseguono azioni in base a condizioni specifiche o che valutano le espressioni in modo condizionale. Ad esempio, CASE e IF.

Funzioni di aggregazione

SELECT AVG(bytes) as bytesWritten FROM `LogGroupA`

Funzioni integrate che eseguono calcoli su più righe per produrre un unico valore riepilogato. Ad esempio, SUM, COUNT, AVG, MAX e MIN.

Funzioni JSON

SELECT get_json_object(json_column, '$.name') as name FROM `LogGroupA`

Funzioni integrate per l'analisi, l'estrazione, la modifica e l'interrogazione di dati in formato JSON all'interno delle query SQL (ad esempio, from_json, to_json, get_json_object, json_tuple) che consentono la manipolazione delle strutture JSON nei set di dati.

Funzioni di array

SELECT scores, size(scores) as length, array_contains(scores, 90) as has_90 FROM `LogGroupA`;

Funzioni integrate per lavorare con colonne di tipo array nelle query SQL, che consentono operazioni come l'accesso, la modifica e l'analisi dei dati dell'array (ad esempio, size, explode, array_contains).

Funzioni finestra

SELECT field1, field2, RANK() OVER (ORDER BY field2 DESC) as field2Rank FROM `LogGroupA`;

Funzioni integrate che eseguono calcoli su un insieme specifico di righe relative alla riga (finestra) corrente, abilitando operazioni come la classificazione, l'esecuzione dei totali e le medie mobili. Ad esempio, ROW_NUMBER, RANK, LAG e LEAD

Funzioni di conversione

SELECT CAST('123' AS INT) as converted_number, CAST(123 AS STRING) as converted_string FROM `LogGroupA`

Funzioni integrate per la conversione dei dati da un tipo all'altro all'interno delle query SQL, che consentono trasformazioni dei tipi di dati e conversioni di formato. Ad esempio, CAST, TO_DATE, TO_TIMESTAMP e BINARY.

Funzioni di predicato

SELECT scores, size(scores) as length, array_contains(scores, 90) as has_90 FROM `LogGroupA`;

Funzioni integrate che valutano le condizioni e restituiscono valori booleani (vero/falso) in base a criteri o modelli specifici. Ad esempio, IN, LIKE, BETWEEN, IS NULL ed EXISTS.

Seleziona più gruppi di log

SELECT lg1.field1, lg1.field2 from `logGroups( logGroupIdentifier: ['LogGroup1', 'LogGroup2'])` as lg1 where lg1.field3= "Success"

Consente di specificare più gruppi di log in un'istruzione SELECT

SQL supportato per le multi-log-group interrogazioni

Per supportare il caso d'uso per l'interrogazione di più gruppi di log in SQL, è possibile utilizzare il logGroups comando. Utilizzando questa sintassi, è possibile interrogare più gruppi di log specificandoli nel comando FROM.

Sintassi:

`logGroups( logGroupIdentifier: ['LogGroup1','LogGroup2', ...'LogGroupn'] )

In questa sintassi, è possibile specificare fino a 50 gruppi di log nel parametro. logGroupIdentifier Per fare riferimento ai gruppi di log in un account di monitoraggio, usa ARNs al posto dei LogGroup nomi.

Query di esempio:

SELECT LG1.Column1, LG1.Column2 from `logGroups( logGroupIdentifier: ['LogGroup1', 'LogGroup2'] )` as LG1 WHERE LG1.Column1 = 'ABC'

La seguente sintassi che coinvolge più gruppi di log dopo l'FROMistruzione NON è supportata durante l' CloudWatch interrogazione dei log.

SELECT Column1, Column2 FROM 'LogGroup1', 'LogGroup2', ...'LogGroupn' WHERE Column1 = 'ABC'

Restrizioni

Le seguenti restrizioni si applicano quando si utilizza OpenSearch SQL per eseguire query in CloudWatch Logs Insights.

  • È possibile includere un solo JOIN in un'istruzione SELECT.

  • È supportato solo un livello di sottoquery annidate.

  • Le query di istruzioni multiple separate da punto e virgola (;) non sono supportate.

  • Le query contenenti nomi di campo identici ma che differiscono solo per maiuscole e minuscole (ad esempio field1 e) non sono supportate. FIELD1

    Ad esempio, la seguente query non è supportata:

    Select AWSAccountId, AwsAccountId from LogGroup

    Tuttavia, la seguente query è supportata perché il nome del campo (@logStream) è identico in entrambi i gruppi di log:

    Select a.`@logStream`, b.`@logStream` from Table A INNER Join Table B on a.id = b.id
  • Le funzioni e le espressioni devono operare sui nomi dei campi e far parte di un'istruzione SELECT con un gruppo di log specificato nella clausola FROM.

    Ad esempio, questa query non è supportata:

    SELECT cos(10) FROM LogGroup

    Questa interrogazione è supportata:

    SELECT cos(field1) FROM LogGroup
  • Quando usi i comandi SQL o PPL, racchiudi alcuni campi tra i backtick per interrogarli correttamente. I backtick sono necessari per i campi con caratteri speciali (non alfabetici e non numerici). Ad esempio, racchiude e inserisce i segni di spunta rovesciati@message. Operation.Export Test::Field Non è necessario racchiudere colonne con nomi puramente alfabetici nei backtick.

    Query di esempio con campi semplici:

    SELECT SessionToken, Operation, StartTime FROM `LogGroup-A` LIMIT 1000;

    Query simile con backtick aggiunti:

    SELECT `@SessionToken`, `@Operation`, `@StartTime` FROM `LogGroup-A` LIMIT 1000;
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.