

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

# Integrazione delle CloudWatch metriche con Amazon Managed Service for Prometheus
<a name="integrating-cw-firehose"></a>

Può essere utile avere tutte le metriche in un unico posto. Amazon Managed Service for Prometheus non acquisisce automaticamente i parametri di Amazon. CloudWatch Tuttavia, puoi utilizzare Amazon Data Firehose e inviare i CloudWatch parametri AWS Lambda ad Amazon Managed Service for Prometheus.

Questa sezione descrive come strumentare un [flusso di CloudWatch parametri Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html) e utilizzare [Amazon Data [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) e come inserire i parametri in Amazon Managed Service for Prometheus.

Configurerai uno stack utilizzando [AWS Cloud Development Kit (CDK)](https://aws.amazon.com/cdk/) per creare un Firehose Delivery Stream, un Lambda e un bucket Amazon S3 per dimostrare uno scenario completo.

## Infrastruttura
<a name="integ-cw-fh-infrastructure"></a>

La prima cosa da fare è configurare l'infrastruttura per questa ricetta. 

CloudWatch [i flussi di metrici consentono l'inoltro dei dati metrici di streaming a un endpoint HTTP o a un bucket Amazon S3.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)

La configurazione dell'infrastruttura consisterà in 4 passaggi:
+ Configurazione dei prerequisiti
+ Creare un'area di lavoro Amazon Managed Service per Prometheus.
+ Installazione delle dipendenze
+ Implementazione dello stack

**Prerequisiti**
+ [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)
+ Il [Typescript AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html) è installato nell'ambiente in uso.
+ Node.js e Go sono installati nell'ambiente in uso.
+ L'[esportatore AWS di CloudWatch metriche di osservabilità github repository](https://github.com/aws-observability/observability-best-practices/tree/main/sandbox/CWMetricStreamExporter) (`CWMetricsStreamExporter`) è stato clonato sul computer locale.

**Come creare un'area di lavoro Amazon Managed Service per Prometheus.**

1. L'applicazione demo di questa ricetta verrà eseguita sul servizio gestito da Amazon per Prometheus. Crea la tua area di lavoro per il servizio gestito da Amazon per Prometheus tramite il comando seguente:

   ```
   aws amp create-workspace --alias prometheus-demo-recipe
   ```

1. Assicurati che la tua area di lavoro sia stata creata con il seguente comando:

   ```
   aws amp list-workspaces
   ```

   Per ulteriori informazioni sul servizio gestito da Amazon per Prometheus, consulta la Guida per l'utente del [servizio gestito da Amazon per Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-getting-started.html).

**Per installare dipendenze**

1. **Installare le dipendenze**

   Dalla radice del repository `aws-o11y-recipes`, modifica la directory `CWMetricStreamExporter` utilizzando il comando:

   ```
   cd sandbox/CWMetricStreamExporter
   ```

   Questa sarà ora considerata la radice del repository, d'ora in poi.

1. Cambia le directory in `/cdk` ed esegui il seguente comando:

   ```
   cd cdk
   ```

1. Esegui il comando riportato qui di seguito per installare la dipendenza.

   ```
   npm install
   ```

1. Riporta la directory alla radice del repository, quindi modifica la directory `/lambda` utilizzando il seguente comando:

   ```
   cd lambda
   ```

1. Una volta nella cartella `/lambda`, installa le dipendenze Go usando:

   ```
   go get
   ```

   Tutte le dipendenze sono ora installate.

**Per distribuire lo stack**

1. Nella radice del repository, apri `config.yaml` e modifica l'URL dell'area di lavoro del servizio gestito da Amazon per Prometheus sostituendo `{workspace}` con l'ID dello spazio di lavoro appena creato e la regione in cui si trova l'area di lavoro del servizio gestito da Amazon per Prometheus.

   Ad esempio, modifica di seguito con:

   ```
   AMP: 
       remote_write_url: "https://aps-workspaces.us-east-2.amazonaws.com/workspaces/{workspaceId}/api/v1/remote_write" 
       region: us-east-2
   ```

   Cambia i nomi del flusso di distribuzione Firehose e del bucket Amazon S3 a tuo piacimento.

1. Per creare il codice AWS CDK e Lambda, nella radice del repository esegui il comando seguente:

   ```
   npm run build
   ```

   Questa fase di compilazione garantisce la creazione del binario Go Lambda e la distribuzione del CDK su. CloudFormation

1. Per completare l'implementazione, esamina e accetta le modifiche IAM richieste dallo stack.

1. (Facoltativo) Puoi verificare se lo stack è stato creato eseguendo il comando seguente.

   ```
   aws cloudformation list-stacks
   ```

   Uno stack denominato `CDK Stack` sarà presente nell'elenco.

## Creazione di uno CloudWatch stream Amazon
<a name="integ-cw-fh-stream"></a>

Ora che disponi di una funzione lambda per gestire le metriche, puoi creare il flusso di metriche da Amazon. CloudWatch

**Per creare un flusso di metriche CloudWatch**

1. **Vai alla CloudWatch console, a [https://console.aws.amazon.com/cloudwatch/home \$1metric -streams:StreamsList](https://console.aws.amazon.com/cloudwatch/home#metric-streams:streamsList) e seleziona Crea flusso metrico.**

1. Seleziona i parametri necessari, tutti o solo quelli dei namespace selezionati.

1. In `Configuration`, scegli **Seleziona un Firehose esistente di proprietà del tuo account**.

1. Utilizzerai il Firehose creato in precedenza dal CDK. Nel menu a discesa **Seleziona il flusso Kinesis Data Firehose**, seleziona il flusso creato in precedenza. Avrà un nome simile a `CdkStack-KinesisFirehoseStream123456AB-sample1234`.

1. Imposta l'output sul formato **JSON**.

1. Assegna al flusso di parametri un nome significativo per te.

1. Scegli **Create metric stream** (Crea flusso di parametri).

1. (Facoltativo) Per verificare l'invocazione della funzione Lambda, accedi alla console [Lambda](https://console.aws.amazon.com/lambda/home) e scegli la funzione `KinesisMessageHandler`. Seleziona la scheda **Monitora** e la sottoscheda **Registri** e in **Invocazioni recenti** dovrebbero essere visualizzate le voci della funzione Lambda che viene attivata.
**Nota**  
Potrebbero essere necessari fino a 5 minuti prima che le invocazioni inizino a essere visualizzate nella scheda **Monitora**

Le tue metriche vengono ora trasmesse in streaming da Amazon ad CloudWatch Amazon Managed Service for Prometheus.

## Rimozione
<a name="integ-cw-fh-cleanup"></a>

Potresti voler eliminare le risorse che sono state utilizzate in questo esempio. La procedura seguente illustra come farlo. Ciò interromperà il flusso di parametri che hai creato.

**Per eliminare le risorse**

1. Inizia eliminando lo stack con i seguenti comandi CloudFormation :

   ```
   cd cdk
   cdk destroy
   ```

1. Rimuovere un'area di lavoro Amazon Managed Service per Prometheus:

   ```
   aws amp delete-workspace --workspace-id \
       `aws amp list-workspaces --alias prometheus-sample-app --query 'workspaces[0].workspaceId' --output text`
   ```

1. Infine, rimuovi lo stream di CloudWatch parametri Amazon utilizzando la [ CloudWatch console Amazon](https://console.aws.amazon.com/cloudwatch/home#metric-streams:streamsList).