

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'importazione da un server Prometheus esistente in Kubernetes su EC2
<a name="AMP-onboard-ingest-metrics-existing-Prometheus"></a>

Il servizio gestito da Amazon per Prometheus supporta l'importazione di parametri dai server Prometheus in cluster in esecuzione su Amazon EKS e in cluster Kubernetes autogestiti in esecuzione su Amazon EC2. Le istruzioni dettagliate in questa sezione si riferiscono a un server Prometheus in un cluster Amazon EKS. I passaggi per un cluster Kubernetes autogestito su Amazon EC2 sono gli stessi, tranne per il fatto che dovrai configurare tu stesso il provider OIDC e i ruoli IAM per gli account del servizio nel cluster Kubernetes.

Le istruzioni in questa sezione utilizzano Helm come gestore di pacchetti Kubernetes.

**Topics**
+ [Fase 1: configurazione dei ruoli IAM per gli account del servizio.](#AMP-onboard-existing-Prometheus-IRSA)
+ [Fase 2: aggiornamento del server Prometheus esistente mediante Helm](#AMP-onboard-ingest-metrics-existing-remotewrite)

## Fase 1: configurazione dei ruoli IAM per gli account del servizio.
<a name="AMP-onboard-existing-Prometheus-IRSA"></a>

Per il metodo di onboarding che stiamo documentando, devi utilizzare i ruoli IAM per gli account del servizio nel cluster Amazon EKS in cui è in esecuzione il server Prometheus. Questi ruoli sono denominati *ruoli di servizio*.

Con i ruoli di servizio, puoi associare un ruolo IAM a un account del servizio Kubernetes. Questo account di servizio può quindi fornire AWS le autorizzazioni ai contenitori in qualsiasi pod che utilizza quell'account di servizio. Per ulteriori informazioni, consulta [Ruoli IAM per gli account del servizio](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).

Se non hai già impostato questi ruoli, segui le istruzioni riportate in [Configura i ruoli di servizio per l'acquisizione di parametri dai cluster Amazon EKS.](set-up-irsa.md#set-up-irsa-ingest) per configurare i ruoli.

## Fase 2: aggiornamento del server Prometheus esistente mediante Helm
<a name="AMP-onboard-ingest-metrics-existing-remotewrite"></a>

Le istruzioni in questa sezione includono la configurazione della scrittura remota e di sigv4 per autenticare e autorizzare il server Prometheus alla scrittura remota nell'area di lavoro del servizio gestito da Amazon per Prometheus.

### Utilizzo di Prometheus versione 2.26.0 o successiva
<a name="AMP-onboard-ingest-metrics-Helm13"></a>

Segui questi passaggi se utilizzi un grafico Helm con un'immagine del server Prometheus della versione 2.26.0 o successiva.

**Per configurare la scrittura remota da un server Prometheus utilizzando un grafico Helm**

1. Crea una nuova sezione di scrittura remota nel tuo file di configurazione Helm:
   + Sostituisci `${IAM_PROXY_PROMETHEUS_ROLE_ARN}` con l'ARN del file in **amp-iamproxy-ingest-role**cui hai creato. [Fase 1: configurazione dei ruoli IAM per gli account del servizio.](#AMP-onboard-existing-Prometheus-IRSA) Il ruolo ARN dovrebbe avere il formato di `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role`.
   + Sostituisci `${WORKSPACE_ID}` con la tua area di lavoro del servizio gestito da Amazon per Prometheus.
   + Sostituisci `${REGION}` con la regione dell'area di lavoro del servizio gestito da Amazon per Prometheus (come `us-west-2`).

   ```
   ## The following is a set of default values for prometheus server helm chart which enable remoteWrite to AMP
       ## For the rest of prometheus helm chart values see: https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml
       ##
       serviceAccounts:
         server:
           name: amp-iamproxy-ingest-service-account
           annotations: 
             eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN}
       server:
         remoteWrite:
           - url: https://aps-workspaces.${REGION}.amazonaws.com/workspaces/${WORKSPACE_ID}/api/v1/remote_write
             sigv4:
               region: ${REGION}
             queue_config:
               max_samples_per_send: 1000
               max_shards: 200
               capacity: 2500
   ```

1. Aggiorna la configurazione esistente del server Prometheus utilizzando Helm:
   + Sostituisci `prometheus-chart-name` con il nome della versione di Prometheus.
   + Sostituisci `prometheus-namespace` con il namespace Kubernetes dove è installato il server Prometheus.
   + Sostituisci `my_prometheus_values_yaml` con il percorso del file di configurazione Helm.
   + Sostituisci `current_helm_chart_version` con la versione corrente del diagramma Prometheus Server del grafico Helm. Puoi trovare la versione attuale della carta utilizzando il comando [helm list](https://helm.sh/docs/helm/helm_list/).

   ```
   helm upgrade prometheus-chart-name prometheus-community/prometheus \
          -n prometheus-namespace \
          -f my_prometheus_values_yaml \
          --version current_helm_chart_version
   ```

### Utilizzo delle versioni precedenti di Prometheus
<a name="AMP-onboard-ingest-metrics-Helm8"></a>

Segui questi passaggi se utilizzi una versione di Prometheus precedente alla 2.26.0. Questi passaggi utilizzano un approccio secondario, poiché le versioni precedenti di Prometheus non AWS supportano nativamente il processo di firma Signature Version 4 (SigV4).AWS 

Queste istruzioni presuppongono che tu stia usando Helm per implementare Prometheus.

**Come configurare la scrittura remota da un server Prometheus**

1. Sul server Prometheus, crea una nuova configurazione di scrittura remota. Innanzitutto, crea un nuovo file di aggiornamento. Chiameremo il file `amp_ingest_override_values.yaml`.

   Modifica il file e aggiungi i valori seguenti.

   ```
   serviceAccounts:
           server:
               name: "amp-iamproxy-ingest-service-account"
               annotations:
                   eks.amazonaws.com/role-arn: "${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}"
       server:
           sidecarContainers:
               - name: aws-sigv4-proxy-sidecar
                 image: public.ecr.aws/aws-observability/aws-sigv4-proxy:1.0
                 args:
                 - --name
                 - aps
                 - --region
                 - ${REGION}
                 - --host
                 - aps-workspaces.${REGION}.amazonaws.com
                 - --port
                 - :8005
                 ports:
                 - name: aws-sigv4-proxy
                   containerPort: 8005
           statefulSet:
               enabled: "true"
           remoteWrite:
               - url: http://localhost:8005/workspaces/${WORKSPACE_ID}/api/v1/remote_write
   ```

   Sostituisci `${REGION}` con la regione dell'area di lavoro del servizio gestito da Amazon per Prometheus.

   Sostituisci `${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}` con l'ARN del file in **amp-iamproxy-ingest-role**cui hai creato. [Fase 1: configurazione dei ruoli IAM per gli account del servizio.](#AMP-onboard-existing-Prometheus-IRSA) Il ruolo ARN dovrebbe avere il formato di `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role`.

   Sostituisci `${WORKSPACE_ID}` con il tuo ID dell'area di lavoro.

1. Aggiorna il tuo grafico Prometheus del grafico Helm. Innanzitutto, trova il nome del tuo grafico Helm inserendo il seguente comando. Nell'output di questo comando, cerca un grafico con un nome che includa `prometheus`.

   ```
   helm ls --all-namespaces
   ```

   Quindi, immetti il comando seguente:

   ```
   helm upgrade --install prometheus-helm-chart-name prometheus-community/prometheus -n prometheus-namespace -f ./amp_ingest_override_values.yaml
   ```

   Sostituisci *prometheus-helm-chart-name* con il nome della tabella del timone di Prometheus restituita nel comando precedente. Sostituisci *prometheus-namespace* con il nome del namespace.

#### Scaricamento dei grafici Helm
<a name="AMP-onboard-ingest-downloadHelm"></a>

Se non hai già scaricato localmente i grafici Helm, puoi utilizzare il comando seguente per scaricarli.

```
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm pull prometheus-community/prometheus --untar
```