

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

# Configura l'inserimento di parametri da un'istanza Amazon EC2 utilizzando la scrittura remota
<a name="AMP-onboard-ingest-metrics-remote-write-EC2"></a>

Questa sezione spiega come eseguire un server Prometheus con scrittura remota in un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Spiega come raccogliere parametri da un'applicazione demo scritta in Go e inviarle a un'area di lavoro del servizio gestito da Amazon per Prometheus.

## Prerequisiti
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-prereq"></a>

**Importante**  
Prima di iniziare, è necessario aver installato Prometheus v2.26 o una versione successiva. Partiamo dal presupposto che tu conosca Prometheus, Amazon EC2 e il servizio gestito da Amazon per Prometheus. Per informazioni su come installare Prometheus, vedi [Guida introduttiva](https://prometheus.io/docs/prometheus/latest/getting_started/) sul sito web di Prometheus.

Se non conosci Amazon EC2 o il servizio gestito da Amazon per Prometheus, ti consigliamo di iniziare leggendo le sezioni seguenti:
+ [Cos'è Amazon Elastic Compute Cloud?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)
+ [Cos'è il servizio gestito da Amazon per Prometheus?](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)

## Creazione di un ruolo IAM per Amazon EC2
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-IAM"></a>

Per eseguire lo streaming delle metriche, devi prima creare un ruolo IAM con la AWS policy gestita. **AmazonPrometheusRemoteWriteAccess** Quindi, puoi avviare un'istanza con il ruolo e i parametri di streaming nella tua area di lavoro del servizio gestito da Amazon per Prometheus.

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione selezionare **Roles (Ruoli)**, quindi **Create role (Crea ruolo)**.

1. Per il tipo di entità attendibile, scegliere **AWS service (Servizio)**. Per il caso d'uso, scegli **EC2**. Scegli **Successivo: autorizzazioni**.

1. Nella barra di ricerca inserisci **AmazonPrometheusRemoteWriteAccess**. Per **Nome della policy**, seleziona **AmazonPrometheusRemoteWriteAccess**, quindi scegli **Allega policy**. Scegli **Successivo: Tag**.

1. (Facoltativo) Crea tag IAM per il tuo ruolo IAM. Scegli **Prossimo: Rivedi**.

1. Immetti un nome per il ruolo. Scegli **Crea policy**.

## Avviare un'istanza Amazon EC2
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-instance"></a>

Per avviare un'istanza Amazon EC2, segui le istruzioni riportate in [Avvio di un'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) nella *Guida per l'utente di Amazon Elastic Compute Cloud per le istanze Linux*.

## Esegui l'applicazione demo
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-demo"></a>

Dopo aver creato il tuo ruolo IAM e avviato un'istanza EC2 con il ruolo, puoi eseguire un'applicazione demo per vederlo funzionare.

**Per eseguire un'applicazione demo e testare le metriche**

1. Utilizza il seguente modello per creare un file Go denominato `main.go`.

   ```
   package main
   
   import (
       "github.com/prometheus/client_golang/prometheus/promhttp"
       "net/http"
   )
   
   func main() {
       http.Handle("/metrics", promhttp.Handler())
   
       http.ListenAndServe(":8000", nil)
   }
   ```

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

   ```
   sudo yum update -y
   sudo yum install -y golang
   go get github.com/prometheus/client_golang/prometheus/promhttp
   ```

1. Esegui l'applicazione demo.

   ```
   go run main.go
   ```

   L'applicazione demo dovrebbe funzionare sulla porta 8000 e mostrare tutti i parametri di Prometheus esposte. Di seguito è riportato un esempio di questi parametri.

   ```
   curl -s http://localhost:8000/metrics 
   ...
   process_max_fds 4096# HELP process_open_fds Number of open file descriptors.# TYPE process_open_fds gauge
   process_open_fds 10# HELP process_resident_memory_bytes Resident memory size in bytes.# TYPE process_resident_memory_bytes gauge
   process_resident_memory_bytes 1.0657792e+07# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.# TYPE process_start_time_seconds gauge
   process_start_time_seconds 1.61131955899e+09# HELP process_virtual_memory_bytes Virtual memory size in bytes.# TYPE process_virtual_memory_bytes gauge
   process_virtual_memory_bytes 7.77281536e+08# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.# TYPE process_virtual_memory_max_bytes gauge
   process_virtual_memory_max_bytes -1# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.# TYPE promhttp_metric_handler_requests_in_flight gauge
   promhttp_metric_handler_requests_in_flight 1# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.# TYPE promhttp_metric_handler_requests_total counter
   promhttp_metric_handler_requests_total{code="200"} 1
   promhttp_metric_handler_requests_total{code="500"} 0
   promhttp_metric_handler_requests_total{code="503"} 0
   ```

## Creazione di un'area di lavoro del servizio gestito da Amazon per Prometheus.
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-workspace"></a>

Per creare un'area di lavoro del servizio gestito da Amazon per Prometheus, segui le istruzioni in [Creazione di un'area di lavoro.](AMP-create-workspace.md)

## Esegui un server Prometheus
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-server"></a>

1. Utilizza il seguente file YAML di esempio come modello per creare un nuovo file denominato `prometheus.yaml`. Infatti`url`, sostituiscilo {{my-region}} con il valore della tua regione e {{my-workspace-id}} con l'ID dell'area di lavoro che Amazon Managed Service for Prometheus ha generato per te. Per`region`, sostituiscilo {{my-region}} con il valore della tua regione.

   **Esempio: file YAML**

   ```
   global:
     scrape_interval: 15s
     external_labels:
       monitor: 'prometheus'
   
   scrape_configs:
     - job_name: 'prometheus'
       static_configs:
         - targets: ['localhost:8000']
   
   remote_write:
     -
       url: https://aps-workspaces.{{my-region}}.amazonaws.com/workspaces/{{my-workspace-id}}/api/v1/remote_write
       queue_config:
           max_samples_per_send: 1000
           max_shards: 200
           capacity: 2500
       sigv4:
            region: {{my-region}}
   ```

1. Esegui il server Prometheus per inviare i parametri dell'applicazione demo alla tua area di lavoro del servizio gestito da Amazon per Prometheus.

   ```
   prometheus --config.file=prometheus.yaml
   ```

Il server Prometheus dovrebbe ora inviare i parametri dell'applicazione demo alla tua area di lavoro del servizio gestito da Amazon per Prometheus.