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à.
Connettore Amazon Athena CloudWatch
Il CloudWatch connettore Amazon Athena consente la comunicazione CloudWatch con Amazon Athena in modo da poter interrogare i dati di log. SQL
Questo connettore non utilizza Glue Connections per centralizzare le proprietà di configurazione in Glue. La configurazione della connessione viene effettuata tramite Lambda.
Il connettore mappa gli schemi LogGroups AS e ciascuno LogStream come tabella. Il connettore mappa anche una all_log_streams
vista speciale che contiene tutto LogStreams in. LogGroup Questa visualizzazione consente di interrogare tutti i log in una sola LogGroup volta invece di cercarli LogStream singolarmente.
Prerequisiti
Implementa il connettore sul tuo Account AWS utilizzando la console Athena o AWS Serverless Application Repository. Per ulteriori informazioni, consulta Creare una connessione a una fonte di dati o Utilizzare il AWS Serverless Application Repository per distribuire un connettore di origine dati.
Parametri
Utilizzate i parametri di questa sezione per configurare il CloudWatch connettore.
-
spill_bucket: specifica il bucket Amazon S3 per i dati che superano i limiti della funzione Lambda.
-
spill_prefix: (facoltativo) per impostazione predefinita, viene utilizzata una sottocartella nello
spill_bucket
specificato chiamataathena-federation-spill
. Ti consigliamo di configurare un ciclo di vita dell'archiviazione di Amazon S3 in questa posizione per eliminare gli spill più vecchi di un numero predeterminato di giorni o ore. -
spill_put_request_headers — (Facoltativo) Una mappa JSON codificata delle intestazioni e dei valori delle richieste per la richiesta Amazon S3 utilizzata per lo spilling (ad esempio,).
putObject
{"x-amz-server-side-encryption" : "AES256"}
Per altre possibili intestazioni, consulta PutObjectAmazon Simple Storage Service API Reference. -
kms_key_id — (Facoltativo) Per impostazione predefinita, tutti i dati trasferiti su Amazon S3 vengono crittografati utilizzando la modalità di crittografia autenticata e una chiave generata AES GCM casualmente. Per fare in modo che la funzione Lambda utilizzi chiavi di crittografia più potenti generate da KMS like
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
, puoi specificare un ID di KMS chiave. -
disable_spill_encryption: (facoltativo) se impostato su
True
, disabilita la crittografia dello spill. L'impostazione predefinita èFalse
che i dati trasferiti su S3 vengano crittografati utilizzando AES GCM -, utilizzando una chiave generata casualmente o per generare chiavi. KMS La disabilitazione della crittografia dello spill può migliorare le prestazioni, soprattutto se la posizione dello spill utilizza la crittografia lato server.
Il connettore supporta anche il controllo della AIMD congestioneThrottlingInvoker
Puoi modificare il comportamento di limitazione predefinito impostando una delle seguenti variabili di ambiente facoltative:
-
throttle_initial_delay_ms: il ritardo iniziale della chiamata applicato dopo il primo evento di congestione. Il valore predefinito è 10 millisecondi.
-
throttle_max_delay_ms: il ritardo massimo tra le chiamate. Puoi TPS derivarlo dividendolo in 1000 ms. Il valore predefinito è 1000 millisecondi.
-
throttle_decrease_factor: il fattore in base al quale Athena riduce la frequenza delle chiamate. Il valore predefinito è 0.5
-
throttle_increase_ms: la velocità con cui Athena riduce il ritardo della chiamata. Il valore predefinito è 10 millisecondi.
Database e tabelle
Il CloudWatch connettore Athena mappa i tuoi schemi LogGroups AS (ovvero database) e ciascuno LogStream come tabella. Il connettore mappa anche una all_log_streams
vista speciale che contiene tutto LogStreams in. LogGroup Questa visualizzazione consente di interrogare tutti i log in una sola LogGroup volta invece di cercarli LogStream singolarmente.
Ogni tabella mappata dal connettore CloudWatch Athena ha lo schema seguente. Questo schema corrisponde ai campi forniti da CloudWatch Logs.
-
log_stream — Un
VARCHAR
che contiene il nome da LogStream cui proviene la riga. -
time: un
INT64
che contiene l'ora epoch in cui è stata generata la riga del log. -
message: un
VARCHAR
che contiene il messaggio di log.
Esempi
L'esempio seguente mostra come eseguire un'SELECT
interrogazione su un oggetto specificato. LogStream
SELECT * FROM "lambda:
cloudwatch_connector_lambda_name
"."log_group_path
"."log_stream_name
" LIMIT 100
L'esempio seguente mostra come utilizzare la all_log_streams
vista per eseguire un'interrogazione su tutti i dati LogStreams in uno specifico LogGroup.
SELECT * FROM "lambda:
cloudwatch_connector_lambda_name
"."log_group_path
"."all_log_streams" LIMIT 100
Autorizzazioni richieste
Per tutti i dettagli sulle IAM politiche richieste da questo connettore, consulta la Policies
sezione del file athena-cloudwatch.yaml
-
Accesso in scrittura ad Amazon S3: per trasferire i risultati di query di grandi dimensioni, il connettore richiede l'accesso in scrittura a una posizione in Amazon S3.
-
Athena GetQueryExecution: il connettore utilizza questa autorizzazione per fallire rapidamente quando la query Athena upstream è terminata.
-
CloudWatch Lettura/scrittura dei registri: il connettore utilizza questa autorizzazione per leggere i dati di registro e scrivere i registri di diagnostica.
Prestazioni
Il CloudWatch connettore Athena tenta di ottimizzare le query CloudWatch parallelizzando le scansioni dei flussi di log necessari per la query. Per determinati filtri temporali, il pushdown dei predicati viene eseguito sia all'interno della funzione Lambda che all'interno di Logs. CloudWatch
Per prestazioni ottimali, utilizza solo lettere minuscole per i nomi di gruppi di log e dei flussi di log. L'utilizzo di caratteri misti tra maiuscole e minuscole fa sì che il connettore esegua una ricerca senza distinzione tra maiuscole e minuscole, più impegnativa dal punto di vista computazionale.
Interrogazioni pass-through
Il CloudWatch connettore supporta le query passthrough che utilizzano la sintassi delle query di CloudWatch Logs Insights. Per ulteriori informazioni su CloudWatch Logs Insights, consulta Analyzing log data with CloudWatch Logs Insights nella Amazon CloudWatch Logs User Guide.
Per creare query passthrough con CloudWatch, utilizza la seguente sintassi:
SELECT * FROM TABLE( system.query( STARTTIME => '
start_time
', ENDTIME => 'end_time
', QUERYSTRING => 'query_string
', LOGGROUPNAMES => 'log_group-names
', LIMIT => 'max_number_of_results
' ))
Il seguente esempio di query CloudWatch passthrough filtra per il duration
campo quando questo non è uguale a 1000.
SELECT * FROM TABLE( system.query( STARTTIME => '1710918615308', ENDTIME => '1710918615972', QUERYSTRING => 'fields @duration | filter @duration != 1000', LOGGROUPNAMES => '/aws/lambda/cloudwatch-test-1', LIMIT => '2' ))
Informazioni sulla licenza
Il progetto Amazon Athena CloudWatch Connector è concesso in licenza con licenza Apache-2.0.
Risorse aggiuntive
Per ulteriori informazioni su questo connettore, visita il sito corrispondente su .com.