

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
<a name="connectors-cloudwatch"></a>

Il CloudWatch connettore Amazon Athena consente la comunicazione CloudWatch con Amazon Athena in modo da poter interrogare i dati di log con SQL.

Questo connettore non utilizza connessioni Glue per centralizzare le proprietà di configurazione in Glue. La configurazione della connessione viene effettuata tramite Lambda.

Il connettore mappa i tuoi 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
<a name="connectors-cloudwatch-prerequisites"></a>
+ 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](connect-to-a-data-source.md) o [Utilizzare il AWS Serverless Application Repository per distribuire un connettore di origine dati](connect-data-source-serverless-app-repo.md).

## Parameters
<a name="connectors-cloudwatch-parameters"></a>

Utilizzate i parametri di questa sezione per configurare il CloudWatch connettore.

### Connessioni Glue (consigliate)
<a name="connectors-cloudwatch-gc"></a>

Si consiglia di configurare un CloudWatch connettore utilizzando un oggetto Glue connections. Per fare ciò, imposta la variabile di `glue_connection` ambiente del CloudWatch connettore 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 CLOUDWATCH
```

**Proprietà dell’ambiente Lambda**
+ **glue\$1connection**: specifica il nome della connessione Glue associata al connettore federato. 

**Nota**  
Tutti i connettori che utilizzano le connessioni Glue devono essere utilizzati Gestione dei segreti AWS per memorizzare le credenziali.
Il CloudWatch connettore creato utilizzando le connessioni Glue non supporta l'uso di un gestore di multiplexing.
Il CloudWatch connettore creato utilizzando le connessioni Glue supporta solo `ConnectionSchemaVersion` 2.

### Connessioni legacy
<a name="connectors-cloudwatch-legacy"></a>
+ **spill\$1bucket**: specifica il bucket Amazon S3 per i dati che superano i limiti della funzione Lambda.
+ **spill\$1prefix**: (facoltativo) per impostazione predefinita, viene utilizzata una sottocartella nello `spill_bucket` specificato chiamata `athena-federation-spill`. Ti consigliamo di configurare un [ciclo di vita dell'archiviazione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) di Amazon S3 in questa posizione per eliminare gli spill più vecchi di un numero predeterminato di giorni o ore.
+ **spill\$1put\$1request\$1headers**: (facoltativo) una mappa codificata in JSON delle intestazioni e dei valori della richiesta per la richiesta `putObject` di Amazon S3 utilizzata per lo spill (ad esempio, `{"x-amz-server-side-encryption" : "AES256"}`). Per altre possibili intestazioni, consulta il *riferimento [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)all'API di Amazon Simple Storage Service*.
+ **kms\$1key\$1id**: (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\$1spill\$1encryption**: (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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html).

Il connettore supporta anche il [controllo della congestione AIMD per la](https://en.wikipedia.org/wiki/Additive_increase/multiplicative_decrease) gestione degli eventi di limitazione tramite il costrutto CloudWatch Amazon Athena Query Federation [SDK](https://github.com/awslabs/aws-athena-query-federation/tree/master/athena-federation-sdk). `ThrottlingInvoker` Puoi modificare il comportamento di limitazione predefinito impostando una delle seguenti variabili di ambiente facoltative:
+ **throttle\$1initial\$1delay\$1ms**: il ritardo iniziale della chiamata applicato dopo il primo evento di congestione. Il valore predefinito è 10 millisecondi.
+ **throttle\$1max\$1delay\$1ms**: il ritardo massimo tra le chiamate. Puoi derivare il TPS dividendolo per 1.000 ms. Il valore predefinito è 1000 millisecondi.
+ **throttle\$1decrease\$1factor**: il fattore in base al quale Athena riduce la frequenza delle chiamate. Il valore predefinito è 0.5
+ **throttle\$1increase\$1ms**: la velocità con cui Athena riduce il ritardo della chiamata. Il valore predefinito è 10 millisecondi.

## Database e tabelle
<a name="connectors-cloudwatch-databases-and-tables"></a>

Il CloudWatch connettore Athena mappa gli schemi LogGroups AS (ovvero i 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\$1stream** — 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
<a name="connectors-cloudwatch-required-permissions"></a>

Consulta la sezione `Policies` del file [athena-cloudwatch.yaml](https://github.com/awslabs/aws-athena-query-federation/blob/master/athena-cloudwatch/athena-cloudwatch.yaml) per i dettagli completi delle policy IAM richieste da questo connettore. L'elenco che segue riporta un riepilogo delle autorizzazioni richieste.
+ **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.

## Performance
<a name="connectors-cloudwatch-performance"></a>

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.

**Nota**  
 Il CloudWatch connettore non supporta nomi di database in maiuscolo. 

## Query passthrough
<a name="connectors-cloudwatch-passthrough-queries"></a>

Il CloudWatch connettore supporta le query [passthrough che utilizzano la sintassi delle query](federated-query-passthrough.md) di [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) Insights. Per ulteriori informazioni su CloudWatch Logs Insights, consulta [Analyzing log data with CloudWatch Logs Insights nella *Amazon CloudWatch Logs*](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 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
<a name="connectors-cloudwatch-license-information"></a>

[Il progetto Amazon Athena CloudWatch Connector è concesso in licenza con licenza Apache-2.0.](https://www.apache.org/licenses/LICENSE-2.0.html)

## Risorse aggiuntive
<a name="connectors-cloudwatch-additional-resources"></a>

[Per ulteriori informazioni su questo connettore, visita il sito corrispondente su .com.](https://github.com/awslabs/aws-athena-query-federation/tree/master/athena-cloudwatch) GitHub