

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 Amazon Managed Service per Prometheus con Observability Accelerator AWS
<a name="obs_accelerator"></a>

AWS fornisce strumenti di osservabilità, tra cui monitoraggio, registrazione, avvisi e dashboard, per i tuoi progetti Amazon Elastic Kubernetes Service (Amazon EKS). Ciò include Amazon Managed Service for Prometheus, [Amazon Managed AWS](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) [Grafana](https://aws-otel.github.io/), Distro for e altri strumenti. OpenTelemetry [Per aiutarti a utilizzare questi strumenti insieme, AWS fornisce moduli Terraform che configurano l'osservabilità con questi servizi, chiamati Observability Accelerator.AWS](https://github.com/aws-observability/terraform-aws-observability-accelerator)

AWS Observability Accelerator fornisce due profili di raccolta per Amazon Managed Service for Prometheus:
+ **Metriche gestite (senza agenti)**: utilizza il [collettore Amazon Managed Service for Prometheus, uno scraper completamente gestito e senza agenti che viene](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector.html) eseguito all'esterno del cluster. Nessun pod da collezione da gestire. Solo metriche.
+ **Gestione automatica**: implementa un OpenTelemetry collettore tramite Helm nel cluster. Supporta metriche, tracce (AWS X-Ray) e log ( CloudWatchAmazon).

Questa sezione illustra entrambe le opzioni, a partire dall'approccio agentless consigliato.

I modelli Terraform e le istruzioni dettagliate sono disponibili nella pagina [AWS Observability Accelerator](https://github.com/aws-observability/terraform-aws-observability-accelerator) for Terraform. GitHub 

## Prerequisiti
<a name="obs-accelerator-prereq"></a>

Per utilizzare AWS Observability Accelerator, è necessario disporre di un cluster Amazon EKS esistente e dei seguenti prerequisiti:
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)— utilizzato per richiamare AWS funzionalità dalla riga di comando.
+ [kubectl](https://kubernetes.io/docs/tasks/tools/): utilizzato per controllare il cluster EKS dalla riga di comando.
+ [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) (>= 1.5.0): utilizzato per automatizzare la creazione delle risorse per questa soluzione. Devi avere il AWS provider configurato con un ruolo IAM che abbia accesso per creare e gestire Amazon Managed Service for Prometheus, Amazon Managed Grafana e IAM all'interno del tuo account. AWS Per ulteriori informazioni su come configurare il AWS provider per Terraform, consulta [AWS provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) nella *documentazione di Terraform*.

## Utilizzando l'esempio delle metriche gestite (senza agenti)
<a name="obs-accelerator-managed-metrics"></a>

Questo esempio utilizza il collettore Amazon Managed Service for Prometheus per estrarre i parametri di Prometheus dal tuo cluster Amazon EKS senza implementare alcun collector pod. Il collector richiede almeno due sottoreti in due zone di disponibilità distinte. Per ulteriori dettagli, vedere l'[eks-amp-managed](https://github.com/aws-observability/terraform-aws-observability-accelerator/tree/main/examples/eks-amp-managed)esempio su. GitHub

**Per utilizzare il modulo Terraform di monitoraggio dell'infrastruttura senza agenti**

1. Dalla cartella in cui vuoi creare il tuo progetto, clona il repository usando il seguente comando.

   ```
   git clone https://github.com/aws-observability/terraform-aws-observability-accelerator.git
   ```

1. Inizializza Terraform con i seguenti comandi.

   ```
   cd examples/eks-amp-managed
   
   terraform init
   ```

1. Crea un nuovo `terraform.tfvars` file, come nell'esempio seguente. Usa la AWS regione, l'ID del cluster e i dettagli di rete VPC per il tuo cluster Amazon EKS. Il raccoglitore richiede almeno due sottoreti in due zone di disponibilità distinte.

   ```
   # (mandatory) AWS Region where your resources will be located
   aws_region = "{{eu-west-1}}"
   
   # (mandatory) EKS Cluster name
   eks_cluster_id = "{{my-eks-cluster}}"
   
   # (mandatory) Subnets for the managed scraper (>= 2 AZs)
   scraper_subnet_ids = ["{{subnet-aaa}}", "{{subnet-bbb}}"]
   
   # (mandatory) Security group allowing scraper access to the EKS API
   scraper_security_group_ids = ["{{sg-xxx}}"]
   ```

1. Crea uno spazio di lavoro Grafana gestito da Amazon, se non ne hai già creato uno da utilizzare. Per informazioni su come creare un nuovo spazio di lavoro, consulta [Come creare la tua prima area di lavoro](https://docs.aws.amazon.com/grafana/latest/userguide/getting-started-with-AMG.html#AMG-getting-started-workspace-create) nella *Guida utente di Grafana gestito da Amazon*.

1. Crea due variabili per consentire a Terraform di utilizzare l'area di lavoro Grafana eseguendo i seguenti comandi dalla riga di comando. Dovrai sostituirlo {{grafana-workspace-id}} con l'ID del tuo spazio di lavoro Grafana.

   ```
   export TF_VAR_managed_grafana_workspace_id={{grafana-workspace-id}}
   export TF_VAR_grafana_api_key=`aws grafana create-workspace-api-key --key-name "observability-accelerator-$(date +%s)" --key-role ADMIN --seconds-to-live 1200 --workspace-id $TF_VAR_managed_grafana_workspace_id --query key --output text`
   ```

1. [Facoltativo] Per utilizzare un'area di lavoro Amazon Managed Service for Prometheus esistente, aggiungi l'ID al file, come nell'esempio seguente, sostituendo l'ID dell'area di lavoro Prometheus con `terraform.tfvars` il tuo ID dell'area di lavoro Prometheus. {{prometheus-workspace-id}} Se non specifichi uno spazio di lavoro esistente, verrà creato automaticamente una nuova area di lavoro Prometheus.

   ```
   # (optional) Leave it empty for a new workspace to be created
   managed_prometheus_workspace_id = "{{prometheus-workspace-id}}"
   ```

1. Implementa la soluzione mediante il comando seguente.

   ```
   terraform apply -var-file=terraform.tfvars
   ```

In questo modo verranno create risorse nel tuo account, tra cui: AWS 
+ Una nuova area di lavoro del servizio gestito da Amazon per Prometheus (a meno che tu non abbia scelto di utilizzare uno spazio di lavoro esistente).
+ Un collettore Amazon Managed Service for Prometheus (scraper senza agenti) configurato per acquisire i parametri di Prometheus dal tuo cluster Amazon EKS.
+ Regole di registrazione e avviso di Prometheus nel tuo spazio di lavoro Amazon Managed Service for Prometheus.
+ kube-state-metrics e node-exporter distribuito nel tuo cluster Amazon EKS per i parametri dell'infrastruttura.
+ Nuova fonte di dati e dashboard Grafana gestito da Amazon nella tua area di lavoro attuale. **I dashboard verranno elencati nella sezione EKS Monitoring.**

## Alternativa: Collettore OpenTelemetry autogestito
<a name="obs-accelerator-self-managed"></a>

Se hai bisogno di tracce, log o del pieno controllo sulla pipeline di raccolta, usa il profilo autogestito. Questo implementa un OpenTelemetry Collector tramite Helm nel tuo cluster Amazon EKS, configurato per acquisire i parametri di Prometheus e scrivere in remoto su Amazon Managed Service for Prometheus. Supporta anche tracce (AWS X-Ray) e log (Amazon). CloudWatch Per maggiori dettagli, consulta l'[eks-amp-otel](https://github.com/aws-observability/terraform-aws-observability-accelerator/tree/main/examples/eks-amp-otel)esempio su. GitHub

**Per utilizzare il modulo Terraform autogestito**

1. Clona il repository e inizializza Terraform.

   ```
   git clone https://github.com/aws-observability/terraform-aws-observability-accelerator.git
   cd examples/eks-amp-otel
   terraform init
   ```

1. Crea un nuovo `terraform.tfvars` file, come nell'esempio seguente.

   ```
   # (mandatory) AWS Region where your resources will be located
   aws_region = "{{eu-west-1}}"
   
   # (mandatory) EKS Cluster name
   eks_cluster_id = "{{my-eks-cluster}}"
   ```

1. Configura lo spazio di lavoro e la chiave API di Amazon Managed Grafana utilizzando gli stessi passaggi dell'esempio di managed metrics (passaggi da 4 a 6 sopra).

1. Implementa la soluzione mediante il comando seguente.

   ```
   terraform apply -var-file=terraform.tfvars
   ```

In questo modo verranno create le seguenti risorse nel tuo AWS account (a differenza dell'approccio senza agenti, il raccoglitore viene eseguito all'interno del tuo cluster):
+ Un'area di lavoro Amazon Managed Service per Prometheus (se non fornita).
+ Un'area di lavoro Amazon Managed Grafana con origine dati e dashboard.
+ Un OpenTelemetry Collector distribuito tramite Helm nel tuo cluster Amazon EKS, configurato per acquisire i parametri di Prometheus e scrivere in remoto su Amazon Managed Service for Prometheus.
+ Un ruolo IAM per gli account di servizio (IRSA) per Collector. OpenTelemetry 
+ Traccia la pipeline su AWS X-Ray (abilitato per impostazione predefinita).
+ Registra la pipeline su Amazon CloudWatch (abilitata per impostazione predefinita).

## Visualizzazione dei pannelli di controllo
<a name="obs-accelerator-dashboards"></a>

Per visualizzare le tue nuove dashboard, apri la dashboard specifica nella tua area di lavoro Grafana gestito da Amazon. I dashboard dell'infrastruttura vengono forniti automaticamente da Terraform. Per ulteriori informazioni sull'uso di Grafana gestito da Amazon, consulta [Lavorare nell'area di lavoro di Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-working-with-Grafana-workspace.html), nella *Guida utente di Grafana gestito da Amazon*.