

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

# Installa l' CloudWatch agente con la raccolta di metriche Prometheus sui cluster Amazon EKS e Kubernetes
<a name="ContainerInsights-Prometheus-Setup"></a>

Questa sezione spiega come configurare l' CloudWatch agente con il monitoraggio Prometheus in un cluster che esegue Amazon EKS o Kubernetes. Dopo aver eseguito questa operazione, l'agente esegue automaticamente lo scraping e l'importazione dei parametri per i seguenti carichi di lavoro in esecuzione in quel cluster.
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy
+ Fluent Bit

È inoltre possibile configurare l'agente per recuperare e importare carichi di lavoro e origini Prometheus.

Prima di seguire questi passaggi per installare l' CloudWatch agente per la raccolta di metriche Prometheus, devi avere un cluster in esecuzione su Amazon EKS o un cluster Kubernetes in esecuzione su un'istanza Amazon EC2.

**Requisiti del gruppo di sicurezza VPC**

Le regole di ingresso dei gruppi di sicurezza per i carichi di lavoro Prometheus devono aprire le porte CloudWatch Prometheus all'agente per lo scraping delle metriche di Prometheus tramite l'IP privato.

Le regole di uscita del gruppo di sicurezza per l' CloudWatch agente devono consentire all'agente di connettersi alla CloudWatch porta dei carichi di lavoro Prometheus tramite IP privato. 

**Topics**
+ [Installa l' CloudWatch agente con la raccolta di metriche Prometheus sui cluster Amazon EKS e Kubernetes](#ContainerInsights-Prometheus-Setup-roles)
+ [Scraping di ulteriori origini Prometheus e importazione di tali parametri](ContainerInsights-Prometheus-Setup-configure.md)
+ [(Facoltativo) Impostazione dei carichi di lavoro Amazon EKS containerizzati di esempio per i test dei parametri di Prometheus](ContainerInsights-Prometheus-Sample-Workloads.md)

## Installa l' CloudWatch agente con la raccolta di metriche Prometheus sui cluster Amazon EKS e Kubernetes
<a name="ContainerInsights-Prometheus-Setup-roles"></a>

Questa sezione spiega come configurare l' CloudWatch agente con il monitoraggio Prometheus in un cluster che esegue Amazon EKS o Kubernetes. Dopo aver eseguito questa operazione, l'agente esegue automaticamente lo scraping e l'importazione dei parametri per i seguenti carichi di lavoro in esecuzione in quel cluster.
+ AWS App Mesh
+ NGINX
+ Memcached
+ Java/JMX
+ HAProxy
+ Fluent Bit

È inoltre possibile configurare l'agente per recuperare e importare carichi di lavoro e origini Prometheus.

Prima di seguire questi passaggi per installare l' CloudWatch agente per la raccolta di metriche Prometheus, devi avere un cluster in esecuzione su Amazon EKS o un cluster Kubernetes in esecuzione su un'istanza Amazon EC2.

**Requisiti del gruppo di sicurezza VPC**

Le regole di ingresso dei gruppi di sicurezza per i carichi di lavoro Prometheus devono aprire le porte CloudWatch Prometheus all'agente per lo scraping delle metriche di Prometheus tramite l'IP privato.

Le regole di uscita del gruppo di sicurezza per l' CloudWatch agente devono consentire all'agente di connettersi alla CloudWatch porta dei carichi di lavoro Prometheus tramite IP privato. 

**Topics**
+ [Impostazione dei ruoli IAM](#ContainerInsights-Prometheus-Setup-roles)
+ [Installazione dell' CloudWatch agente per raccogliere le metriche di Prometheus](#ContainerInsights-Prometheus-Setup-install-agent)

### Impostazione dei ruoli IAM
<a name="ContainerInsights-Prometheus-Setup-roles"></a>

Il primo passo consiste nell'impostare il ruolo IAM necessario nel cluster. Esistono due metodi:
+ Impostare un ruolo IAM per un account di servizio, noto anche come *ruolo di servizio*. Questo metodo funziona sia per il tipo di avvio EC2 che per il tipo di avvio Fargate.
+ Aggiungere una policy IAM al ruolo IAM utilizzato per il cluster. Funziona solo per il tipo di avvio EC2.

**Impostazione di un ruolo di servizio (tipo di avvio EC2 e tipo di avvio Fargate)**

Per impostare un ruolo di servizio, immetti il comando seguente. Sostituisci {{MyCluster}} con il nome del cluster.

```
eksctl create iamserviceaccount \
 --name cwagent-prometheus \
--namespace amazon-cloudwatch \
 --cluster {{MyCluster}} \
--attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
--approve \
--override-existing-serviceaccounts
```

**Aggiungere una policy al ruolo IAM del nodo (solo tipo di avvio EC2)**

**Per impostare la policy IAM in un gruppo di nodi per il supporto di Prometheus**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, scegliere **Instances (Istanze)**.

1. È necessario trovare il prefisso del nome del ruolo IAM per il cluster. A tale scopo, seleziona la casella di controllo accanto al nome di un'istanza presente nel cluster e scegli **Azioni**, **Sicurezza**, **Modifica ruolo IAM**. Copia quindi il prefisso del ruolo IAM, ad esempio `eksctl-dev303-workshop-nodegroup`.

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

1. Nel riquadro di navigazione, seleziona **Ruoli**.

1. Utilizza la casella di ricerca per trovare il prefisso copiato in precedenza in questa procedura e scegli il ruolo desiderato.

1. Scegli **Collega policy**.

1. Usa la casella di ricerca per trovare **CloudWatchAgentServerPolicy**. Seleziona la casella di controllo accanto a **CloudWatchAgentServerPolicy**e scegli **Allega politica**.

### Installazione dell' CloudWatch agente per raccogliere le metriche di Prometheus
<a name="ContainerInsights-Prometheus-Setup-install-agent"></a>

È necessario installare l' CloudWatch agente nel cluster per raccogliere le metriche. L'installazione dell'agente è diversa per cluster Amazon EKS e cluster Kubernetes.

**Eliminare le versioni precedenti dell' CloudWatch agente con il supporto Prometheus**

Se hai già installato una versione dell' CloudWatch agente con supporto Prometheus nel tuo cluster, devi eliminare quella versione immettendo il seguente comando. Questo è necessario solo per le versioni precedenti dell'agente con supporto di Prometheus. Non è necessario eliminare l' CloudWatch agente che abilita Container Insights senza il supporto di Prometheus.

```
kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch
```

#### Installazione dell' CloudWatch agente su cluster Amazon EKS con il tipo di avvio EC2
<a name="ContainerInsights-Prometheus-Setup-install-agent-EKS"></a>

Per installare l' CloudWatch agente con supporto Prometheus su un cluster Amazon EKS, segui questi passaggi.

**Per installare l' CloudWatch agente con supporto Prometheus su un cluster Amazon EKS**

1. Immetti il comando seguente per verificare se lo spazio dei nomi `amazon-cloudwatch` è già stato creato:

   ```
   kubectl get namespace
   ```

1. Se `amazon-cloudwatch` non viene visualizzato nei risultati, crearlo immettendo il seguente comando:

   ```
   kubectl create namespace amazon-cloudwatch
   ```

1. Per distribuire l'agente con la configurazione predefinita e fare in modo che invii i dati alla AWS regione in cui è installato, inserisci il seguente comando:

   ```
   kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
   ```

   Per fare in modo che l'agente invii dati a un'area diversa, attenersi alla seguente procedura:

   1. Scaricare il file YAML per l'agente immettendo il seguente comando:

      ```
      curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
      ```

   1. Apri il file con un editor di testo e cercare il blocco `cwagentconfig.json` del file.

   1. Aggiungere le linee evidenziate, specificando l'area desiderata:

      ```
      cwagentconfig.json: |
          {
            {{"agent": {
              "region": "us-east-2"
            },}}
            "logs": { ...
      ```

   1. Salva il file e implementa l'agente utilizzando il file aggiornato.

      ```
      kubectl apply -f prometheus-eks.yaml
      ```

#### Installazione dell' CloudWatch agente su cluster Amazon EKS con il tipo di lancio Fargate
<a name="ContainerInsights-Prometheus-Setup-install-agent-EKS-fargate"></a>

Per installare l' CloudWatch agente con supporto Prometheus su un cluster Amazon EKS con il tipo di avvio Fargate, segui questi passaggi.

**Per installare l' CloudWatch agente con supporto Prometheus su un cluster Amazon EKS con il tipo di avvio Fargate**

1. Immettete il seguente comando per creare un profilo Fargate per l' CloudWatchagente in modo che possa essere eseguito all'interno del cluster. Sostituisci {{MyCluster}} con il nome del cluster.

   ```
   eksctl create fargateprofile --cluster {{MyCluster}} \
   --name amazon-cloudwatch \
   --namespace amazon-cloudwatch
   ```

1. Per installare l' CloudWatch agente, immettere il seguente comando. Sostituisci {{MyCluster}} con il nome del cluster. Questo nome viene utilizzato nel nome del gruppo di log che memorizza gli eventi di log raccolti dall'agente e viene utilizzato anche come dimensione per le metriche raccolte dall'agente.

   Sostituisci {{region}} con il nome della regione in cui desideri inviare le metriche. Ad esempio, `us-west-1`. 

   ```
   curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml | 
   sed "s/{{cluster_name}}/{{MyCluster}}/;s/{{region_name}}/{{region}}/" | 
   kubectl apply -f -
   ```

#### Installazione dell' CloudWatch agente su un cluster Kubernetes
<a name="ContainerInsights-Prometheus-Setup-install-agent-Kubernetes"></a>

Per installare l' CloudWatch agente con supporto Prometheus su un cluster che esegue Kubernetes, inserisci il seguente comando:

```
curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml | 
sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | 
kubectl apply -f -
```

Sostituisci {{MyCluster}} con il nome del cluster. Questo nome viene utilizzato nel nome del gruppo di log che memorizza gli eventi di log raccolti dall'agente e viene utilizzato anche come dimensione per le metriche raccolte dall'agente.

Sostituisci {{region}} con il nome della AWS regione in cui desideri inviare le metriche. Ad esempio, **us-west-1**.

#### Verifica dell'esecuzione dell'agente
<a name="ContainerInsights-Prometheus-Setup-install-agent-verify"></a>

In entrambi i cluster Amazon EKS e Kubernetes, puoi inserire il comando seguente per confermare che l'agente è in esecuzione.

```
kubectl get pod -l "app=cwagent-prometheus" -n amazon-cloudwatch
```

Se i risultati includono un singolo pod di agenti `Running` nello stato, l' CloudWatch agente sta eseguendo e raccogliendo le metriche di Prometheus. Per impostazione predefinita, l' CloudWatchagente raccoglie le metriche per App Mesh, NGINX, Memcached, Java/JMX e ogni minuto. HAProxy Per ulteriori informazioni su questi parametri, consulta [Metriche di Prometheus raccolte dall'agente CloudWatch](ContainerInsights-Prometheus-metrics.md). Per istruzioni su come visualizzare le metriche di Prometheus in, consulta CloudWatch [Visualizzazione dei parametri Prometheus](ContainerInsights-Prometheus-viewmetrics.md)

Puoi anche configurare l' CloudWatch agente per raccogliere metriche da altri esportatori di Prometheus. Per ulteriori informazioni, consulta [Scraping di ulteriori origini Prometheus e importazione di tali parametri](ContainerInsights-Prometheus-Setup-configure.md).