Connettore CloudWatch Metrics per Amazon Athena
Il connettore di parametri CloudWatch di Amazon Athena consente ad Amazon Athena di interrogare i dati di parametri CloudWatch con SQL.
Questo connettore non utilizza connessioni Glue per centralizzare le proprietà di configurazione in Glue. La configurazione della connessione viene effettuata tramite Lambda.
Per informazioni sulla pubblicazione dei parametri di query su CloudWatch da Athena stessa, consulta Utilizzare CloudWatch ed EventBridge è per il monitoraggio delle query e il controllo dei costi.
Prerequisiti
Implementa il connettore sul tuo Account AWS utilizzando la console Athena o AWS Serverless Application Repository. Per ulteriori informazioni, consulta Crea una connessione di un'origine dati o Utilizzare AWS Serverless Application Repository per distribuire un connettore origine dati.
Parametri
Utilizza i parametri in questa sezione per configurare il connettore CloudWatch Metrics.
Si consiglia di configurare un connettore CloudWatch Metrics utilizzando un oggetto Glue Connections. A tale scopo, impostare la variabile di ambiente glue_connection del connettore CloudWatch Metrics Lambda sul nome della connessione Glue da utilizzare.
Proprietà delle connessioni Glue
Utilizzare il seguente comando per ottenere lo schema di un oggetto di connessione Glue. Questo schema contiene tutti i parametri che è possibile usare per controllare la connessione.
aws glue describe-connection-type --connection-type CLOUDWATCHMETRICS
Proprietà dell'ambiente Lambda
-
glue_connection: specificaa il nome della connessione Glue associata al connettore federato.
Nota
-
Tutti i connettori che utilizzano le connessioni Glue devono utilizzare Gestione dei segreti AWS per memorizzare le credenziali.
-
Il connettore CloudWatch Metrics creato utilizzando le connessioni Glue non supporta l'uso di un gestore multiplexing.
-
Il connettore CloudWatch Metrics creato utilizzando le connessioni Glue supporta solo 2
ConnectionSchemaVersion.
-
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_bucketspecificato 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 codificata in JSON delle intestazioni e dei valori della richiesta per la richiesta
putObjectdi Amazon S3 utilizzata per lo spill (ad esempio,{"x-amz-server-side-encryption" : "AES256"}). Per altre possibili intestazioni, consulta l'argomento relativo a PutObject nella Documentazione di riferimento dell'API di Amazon Simple Storage Service. -
kms_key_id: (facoltativo) per impostazione predefinita, tutti i dati riversati in Amazon S3 vengono crittografati utilizzando la modalità di crittografia autenticata AES-GCM e una chiave generata casualmente. Per fare in modo che la tua funzione Lambda utilizzi chiavi di crittografia più potenti generate da KMS come
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331, puoi specificare l'ID della chiave KMS. -
disable_spill_encryption: (facoltativo) se impostato su
True, disabilita la crittografia dello spill. L'impostazione predefinita èFalse: in questo modo, i dati riversati su S3 vengono crittografati utilizzando AES-GCM tramite una chiave generata casualmente o una chiave generata mediante 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 congestione IAMDThrottlingInvoker dell'SDK Amazon Athena Query Federation
-
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 derivare il TPS dividendolo per 1.000 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 connettore CloudWatch Metrics per Athena mappa gli spazi del nome, le dimensioni, i parametri e i valori dei parametri in due tabelle in un unico schema chiamato default.
La tabella metrics (parametri)
La tabella metrics contiene i parametri disponibili definiti in modo univoco da una combinazione di spazio del nome, set e nome. La tabella metrics contiene le colonne seguenti.
-
namespace: un
VARCHARcontenente lo spazio del nome. -
metric_name: un
VARCHARcontenente il nome del parametro. -
dimensions: un
LISTdi oggettiSTRUCTcomposti dadim_name (VARCHAR)edim_value (VARCHAR). -
statistic: un
LISTdi statisticheVARCH(ad esempio,p90,AVERAGE...) disponibili per il parametro.
La tabella metric_samples (campioni dei parametri)
La tabella metric_samples contiene i campioni del parametro disponibili per ciascun parametro all'interno della tabella metrics. La tabella metric_samples contiene le colonne seguenti.
-
namespace: un
VARCHARcontenente lo spazio del nome. -
metric_name: un
VARCHARcontenente il nome del parametro. -
dimensions: un
LISTdi oggettiSTRUCTcomposti dadim_name (VARCHAR)edim_value (VARCHAR). -
dim_name: un campo di cortesia
VARCHARche puoi utilizzare per filtrare facilmente in base al nome di una singola dimensione. -
dim_value: un campo di cortesia
VARCHARche puoi utilizzare per filtrare facilmente in base al valore di una singola dimensione. -
period: un campo
INTche rappresenta il "periodo" del parametro in secondi (ad esempio, il parametro può avere un valore di 60 secondi). -
timestamp: un campo
BIGINTche rappresenta l'ora epoch, espressa in secondi, alla quale il campione del parametro fa riferimento. -
value: un campo
FLOAT8che contiene il valore del campione. -
statistic: un
VARCHARche contiene il tipo di statistica del campione (ad esempio,AVERAGEop90).
Autorizzazioni richieste
Consulta la sezione Policies del file athena-cloudwatch-metrics.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 interrompersi rapidamente con esito negativo quando la query a monte di Athena è terminata.
-
CloudWatch Metrics ReadOnly: il connettore utilizza questa autorizzazione per interrogare i dati dei parametri.
-
CloudWatch Logs Write: il connettore utilizza questo accesso per scrivere i propri registri di diagnostica.
Prestazioni
Il connettore CloudWatch Metrics per Athena tenta di ottimizzare le query su CloudWatch Metrics eseguendo in parallelo le scansioni dei flussi di log necessari per la query. Per determinati periodi di tempo, parametri, spazi dei nomi e filtri dimensionali, il pushdown dei predicati viene eseguito sia all'interno della funzione Lambda sia all'interno di CloudWatch Logs.
Informazioni sulla licenza
Il progetto del connettore CloudWatch Metrics per Amazon Athena è concesso in licenza ai sensi della Licenza Apache-2.0
Risorse aggiuntive
Per ulteriori informazioni su questo connettore, visita il sito corrispondente