

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

# Correla le prestazioni delle applicazioni Amazon ECS utilizzando i parametri delle applicazioni
<a name="metrics-data"></a>

Amazon ECS on Fargate supporta la raccolta di metriche dalle applicazioni in esecuzione su Fargate e l'esportazione su Amazon o CloudWatch Amazon Managed Service for Prometheus. 

Puoi utilizzare i metadati raccolti per correlare i dati sulle prestazioni delle applicazioni con i dati dell'infrastruttura sottostante, riducendo il tempo medio necessario per risolvere il problema. 

Amazon ECS utilizza un contenitore AWS Distro for OpenTelemetry sidecar per raccogliere e indirizzare i parametri dell'applicazione verso la destinazione. L'esperienza della console Amazon ECS semplifica il processo di aggiunta di questa integrazione durante la creazione delle definizioni di attività.

**Topics**
+ [Esportazione dei parametri delle applicazioni su Amazon CloudWatch](application-metrics-cloudwatch.md)
+ [Esportazione di parametri delle applicazioni in Amazon Managed Service for Prometheus](application-metrics-prometheus.md)

# Esportazione dei parametri delle applicazioni su Amazon CloudWatch
<a name="application-metrics-cloudwatch"></a>

Amazon ECS on Fargate supporta l'esportazione dei parametri delle applicazioni personalizzate su Amazon CloudWatch come parametri personalizzati. Questo viene fatto aggiungendo il contenitore AWS Distro for OpenTelemetry sidecar alla definizione dell'attività. L'esperienza della console Amazon ECS semplifica questo processo aggiungendo l'opzione **Utilizza raccolta parametri** durante la creazione di una nuova definizione di attività. Per ulteriori informazioni, consulta [Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

Le metriche dell'applicazione vengono esportate in CloudWatch Logs con il nome del gruppo di log `/aws/ecs/application/metrics` e le metriche possono essere visualizzate nel namespace. `ECS/AWSOTel/Application` L'applicazione deve essere dotata dell'SDK. OpenTelemetry Per ulteriori informazioni, consulta [Introduzione a AWS Distro for OpenTelemetry in the AWS Distro per](https://aws-otel.github.io/docs/introduction) la documentazione. OpenTelemetry 

## Considerazioni
<a name="application-metrics-cloudwatch-considerations"></a>

Quando si utilizza l'integrazione di Amazon ECS on Fargate AWS con Distro OpenTelemetry per inviare i parametri delle applicazioni ad Amazon, è necessario considerare quanto segue. CloudWatch
+ Questa integrazione invia solo i parametri dell'applicazione personalizzati a. CloudWatch Se desideri parametri a livello di attività, puoi attivare Container Insights nella configurazione del cluster Amazon ECS. Per ulteriori informazioni, consulta [Monitora i container di Amazon ECS utilizzando Container Insights con osservabilità migliorata.](cloudwatch-container-insights.md).
+ La AWS distribuzione per l' OpenTelemetry integrazione è supportata per i carichi di lavoro Amazon ECS ospitati su Fargate e i carichi di lavoro Amazon ECS ospitati su istanze Amazon EC2. Al momento le istanze esterne non sono supportate.
+ CloudWatch supporta un massimo di 30 dimensioni per metrica. Di default, Amazon ECS include le dimensioni `TaskARN`, `ClusterARN`, `LaunchType`, `TaskDefinitionFamily` e `TaskDefinitionRevision` nei parametri. Le restanti 25 dimensioni possono essere definite dalla tua applicazione. Se sono configurate più di 30 dimensioni, non è CloudWatch possibile visualizzarle. Quando ciò si verifica, le metriche dell'applicazione verranno visualizzate nello spazio dei nomi delle `ECS/AWSOTel/Application` CloudWatch metriche ma senza alcuna dimensione. Puoi strumentare la tua applicazione per aggiungere ulteriori dimensioni. Per ulteriori informazioni, consulta [Utilizzo delle CloudWatch metriche con AWS Distro for in the Distro per la OpenTelemetry documentazione](https://aws-otel.github.io/docs/getting-started/cloudwatch-metrics). AWS OpenTelemetry 

## Autorizzazioni IAM richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon CloudWatch
<a name="application-metrics-cloudwatch-iam"></a>

L'integrazione di Amazon ECS con AWS Distro for OpenTelemetry richiede la creazione di un ruolo IAM dell'attività e la specificazione del ruolo nella definizione dell'attività. Consigliamo di configurare AWS Distro for OpenTelemetry sidecar anche per indirizzare i log dei container verso Logs, il che richiede la creazione e la specificazione di un ruolo IAM per CloudWatch l'esecuzione dell'attività e che venga specificato anche nella definizione dell'attività. La console di Amazon ECS si occupa del ruolo IAM di esecuzione dei processi per tuo conto, ma il ruolo IAM del processo deve essere creato manualmente e aggiunto alla tua definizione di attività. Per ulteriori informazioni sul ruolo IAM di esecuzione dei processi, consulta [Ruolo IAM di esecuzione di attività Amazon ECS](task_execution_IAM_role.md).

**Importante**  
Se stai anche raccogliendo dati di tracciamento delle applicazioni utilizzando AWS Distro per l' OpenTelemetry integrazione, assicurati che il ruolo IAM dell'attività contenga anche le autorizzazioni necessarie per tale integrazione. Per ulteriori informazioni, consulta [Individua le opportunità di ottimizzazione di Amazon ECS utilizzando i dati di tracciamento delle applicazioni](trace-data.md).  
Se l'applicazione richiede ulteriori autorizzazioni, è necessario aggiungerle a questa policy. Ciascuna definizione di attività può specificare un solo ruolo IAM del processo. Ad esempio, se utilizzi un file di configurazione personalizzato memorizzato in Systems Manager, devi aggiungere l'autorizzazione `ssm:GetParameters` a questa policy IAM.

**Per creare il ruolo di servizio per Elastic Container Service (console IAM)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel pannello di navigazione della console IAM, scegliere **Ruoli** e quindi **Crea ruolo**.

1. Per **Tipo di entità attendibile**, seleziona **Servizio AWS**.

1. Per **Servizio o caso d'uso**, seleziona **Elastic Container Service** e poi il caso d'uso **Attività Elastic Container Service**.

1. Scegli **Next (Successivo)**.

1. Nella sezione **Aggiungi autorizzazioni **AWSDistroOpenTelemetryPolicyForXray****, cerca e quindi seleziona la politica.

1. (Facoltativo) Impostare un [limite delle autorizzazioni](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Questa è una funzionalità avanzata disponibile per i ruoli di servizio, ma non per i ruoli collegati ai servizi.

   1. Apri la sezione **Imposta limite delle autorizzazioni** e seleziona **Usa un limite delle autorizzazioni per controllare il numero massimo di autorizzazioni del ruolo**.

      IAM include un elenco delle politiche AWS gestite e gestite dal cliente nel tuo account.

   1. Selezionare la policy da utilizzare per il limite delle autorizzazioni.

1. Scegli **Next (Successivo)**.

1. Specifica un nome del ruolo o un suffisso del nome del ruolo per facilitare l'identificazione dello scopo del ruolo.
**Importante**  
Quando assegni un nome a un ruolo, tieni presente quanto segue:  
I nomi dei ruoli devono essere univoci all'interno del tuo Account AWS account e non possono essere resi unici per caso.  
Ad esempio, non creare ruoli denominati **PRODROLE** e **prodrole**. Quando il nome di un ruolo viene utilizzato in una policy o come parte di un ARN, il nome del ruolo fa distinzione tra maiuscole e minuscole, tuttavia quando un nome di ruolo viene visualizzato ai clienti nella console, ad esempio durante il processo di accesso, il nome del ruolo non fa distinzione tra maiuscole e minuscole.
Non è possibile modificare il nome del ruolo dopo averlo creato, in quanto altre entità possono fare riferimento al ruolo.

1. (Facoltativo) In **Descrizione**, inserisci una descrizione per il ruolo.

1. (Facoltativo) Per modificare i casi d'uso e le autorizzazioni per il ruolo, in **Fase 1: seleziona le entità attendibili** o **Fase 2: aggiungi autorizzazioni** seleziona **Modifica**.

1. (Facoltativo) Per facilitare l'identificazione, l'organizzazione o la ricerca del ruolo, aggiungi i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo dei tag in IAM, consulta [Tags for AWS Identity and Access Management resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) nella *IAM User Guide*.

1. Verificare il ruolo e quindi scegliere **Create role (Crea ruolo)**.

## Specificare la AWS Distro for OpenTelemetry sidecar nella definizione dell'attività
<a name="application-metrics-cloudwatch-containerdefinitions"></a>

La console Amazon ECS semplifica l'esperienza di creazione del contenitore AWS Distro for OpenTelemetry sidecar utilizzando l'opzione **Use** metric collection. Per ulteriori informazioni, consulta [Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

Se non utilizzi la console Amazon ECS, puoi aggiungere manualmente il contenitore AWS Distro for OpenTelemetry sidecar alla definizione dell'attività. Il seguente esempio di definizione delle attività mostra la definizione del contenitore per l'aggiunta di AWS Distro for OpenTelemetry sidecar for Amazon CloudWatch integration.

```
{
	"family": "otel-using-cloudwatch",
	"taskRoleArn": "arn:aws:iam::111122223333:role/AmazonECS_OpenTelemetryCloudWatchRole",
	"executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole",
	"containerDefinitions": [
	   {
			"name": "aws-otel-emitter",
			"image": "application-image",
			"logConfiguration": {
				"logDriver": "awslogs",
				"options": {
					"awslogs-create-group": "true",
					"awslogs-group": "/ecs/aws-otel-emitter",
					"awslogs-region": "us-east-1",
					"awslogs-stream-prefix": "ecs"
				}
			},
			"dependsOn": [{
				"containerName": "aws-otel-collector",
				"condition": "START"
			}]
		},
		{
			"name": "aws-otel-collector",
			"image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.30.0",
			"essential": true,
			"command": [
				"--config=/etc/ecs/ecs-cloudwatch.yaml"
			],
			"logConfiguration": {
				"logDriver": "awslogs",
				"options": {
					"awslogs-create-group": "True",
					"awslogs-group": "/ecs/ecs-aws-otel-sidecar-collector",
					"awslogs-region": "us-east-1",
					"awslogs-stream-prefix": "ecs"
				}
			}
		}
	],
	"networkMode": "awsvpc",
	"requiresCompatibilities": [
		"FARGATE"
	],
	"cpu": "1024",
	"memory": "3072"
}
```

# Esportazione di parametri delle applicazioni in Amazon Managed Service for Prometheus
<a name="application-metrics-prometheus"></a>

Amazon ECS supporta l'esportazione di parametri di CPU, memoria, rete e archiviazione a livello di processo e i parametri delle applicazioni personalizzate in Amazon Managed Service for Prometheus. Questo viene fatto aggiungendo il contenitore AWS Distro for OpenTelemetry sidecar alla definizione dell'attività. L'esperienza della console Amazon ECS semplifica questo processo aggiungendo l'opzione **Utilizza raccolta parametri** durante la creazione di una nuova definizione di attività. Per ulteriori informazioni, consulta [Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

I parametri vengono esportati in Amazon Managed Service for Prometheus e possono essere visualizzati utilizzando il pannello di controllo di Amazon Managed Grafana. L'applicazione deve essere dotata di strumenti con le librerie Prometheus o con l'SDK. OpenTelemetry Per ulteriori informazioni sulla strumentazione dell'applicazione con l' OpenTelemetry SDK, consulta [Introduzione a Distro per AWS](https://aws-otel.github.io/docs/introduction) la documentazione nella versione Distro. OpenTelemetry AWS OpenTelemetry 

Quando si utilizzano le librerie Prometheus, l'applicazione deve esporre un endpoint `/metrics` utilizzato per lo scraping dei dati dei parametri. Per ulteriori informazioni sulla strumentazione della tua applicazione con le librerie Prometheus, consulta [Librerie client Prometheus](https://prometheus.io/docs/instrumenting/clientlibs/) nella documentazione di Prometheus.

## Considerazioni
<a name="application-metrics-prometheus-considerations"></a>

Quando si utilizza l'integrazione di Amazon ECS on Fargate AWS con Distro OpenTelemetry per inviare i parametri delle applicazioni ad Amazon Managed Service for Prometheus, è necessario considerare quanto segue.
+ La AWS distribuzione per l' OpenTelemetry integrazione è supportata per i carichi di lavoro Amazon ECS ospitati su Fargate e i carichi di lavoro Amazon ECS ospitati su istanze Amazon EC2. Attualmente le istanze esterne non sono supportate.
+ Per impostazione predefinita, AWS Distro for OpenTelemetry include tutte le dimensioni a livello di attività disponibili per le metriche dell'applicazione durante l'esportazione in Amazon Managed Service for Prometheus. Puoi anche strumentare la tua applicazione per aggiungere ulteriori dimensioni. Per ulteriori informazioni, consulta la sezione [Guida introduttiva a Prometheus Remote Write Exporter for Amazon Managed Service for Prometheus in the Distro per la documentazione](https://aws-otel.github.io/docs/getting-started/prometheus-remote-write-exporter). AWS OpenTelemetry 

## Autorizzazioni IAM richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon Managed Service for Prometheus
<a name="application-metrics-prometheus-iam"></a>

L'integrazione di Amazon ECS con Amazon Managed Service for Prometheus utilizzando Distro OpenTelemetry for sidecar richiede AWS la creazione di un ruolo IAM dell'attività e la specificazione del ruolo nella definizione dell'attività. Il ruolo IAM di questo processo deve essere creato manualmente prima di registrare la definizione di attività. Per ulteriori informazioni sulla creazione di un ruolo del processo, consulta [Ruolo IAM dell'attività Amazon ECS](task-iam-roles.md).

Consigliamo di configurare AWS Distro for OpenTelemetry sidecar anche per indirizzare i log dei container verso Logs, il che richiede la creazione di un ruolo IAM per CloudWatch l'esecuzione delle attività e la specificazione anche nella definizione dell'attività. L'esperienza della console di Amazon ECS si occupa del ruolo IAM di esecuzione dei processi per tuo conto, ma il ruolo IAM del processo deve essere creato manualmente. Per ulteriori informazioni sulla creazione di un ruolo IAM di creazione dei processi, consulta [Ruolo IAM di esecuzione di attività Amazon ECS](task_execution_IAM_role.md).

**Importante**  
Se stai anche raccogliendo dati di tracciamento delle applicazioni utilizzando AWS Distro per l' OpenTelemetry integrazione, assicurati che il ruolo IAM dell'attività contenga anche le autorizzazioni necessarie per tale integrazione. Per ulteriori informazioni, consulta [Individua le opportunità di ottimizzazione di Amazon ECS utilizzando i dati di tracciamento delle applicazioni](trace-data.md).

Le seguenti autorizzazioni sono necessarie per l' OpenTelemetry integrazione di AWS Distro con Amazon Managed Service for Prometheus:
+ registri: PutLogEvents
+ registri: CreateLogGroup
+ registri: CreateLogStream
+ registri: DescribeLogStreams
+ registri: DescribeLogGroups
+ cloudwatch: PutMetricData

## Specificare la AWS Distro for OpenTelemetry sidecar nella definizione dell'attività
<a name="application-metrics-prometheus-containerdefinitions"></a>

La console Amazon ECS semplifica l'esperienza di creazione del contenitore AWS Distro for OpenTelemetry sidecar utilizzando l'opzione **Use** metric collection. Per ulteriori informazioni, consulta [Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

Se non utilizzi la console Amazon ECS, puoi aggiungere manualmente il contenitore AWS Distro for OpenTelemetry sidecar alla definizione dell'attività. Il seguente esempio di definizione di attività mostra la definizione del contenitore per l'aggiunta di AWS Distro for OpenTelemetry sidecar per l'integrazione con Amazon Managed Service for Prometheus.

```
{
	"family": "otel-using-cloudwatch",
	"taskRoleArn": "arn:aws:iam::111122223333:role/AmazonECS_OpenTelemetryCloudWatchRole",
	"executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole",
	"containerDefinitions": [{
			"name": "aws-otel-emitter",
			"image": "application-image",
			"logConfiguration": {
				"logDriver": "awslogs",
				"options": {
					"awslogs-create-group": "true",
					"awslogs-group": "/ecs/aws-otel-emitter",
					"awslogs-region": "aws-region",
					"awslogs-stream-prefix": "ecs"
				}
			},
			"dependsOn": [{
				"containerName": "aws-otel-collector",
				"condition": "START"
			}]
		},
		{
			"name": "aws-otel-collector",
			"image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.30.0",
			"essential": true,
			"command": [
				"--config=/etc/ecs/ecs-amp.yaml"
			],
			"environment": [{
				"name": "AWS_PROMETHEUS_ENDPOINT",
				"value": "https://aps-workspaces.aws-region.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write"
			}],
			"logConfiguration": {
				"logDriver": "awslogs",
				"options": {
					"awslogs-create-group": "True",
					"awslogs-group": "/ecs/ecs-aws-otel-sidecar-collector",
					"awslogs-region": "aws-region",
					"awslogs-stream-prefix": "ecs"
				}
			}
		}
	],
	"networkMode": "awsvpc",
	"requiresCompatibilities": [
		"FARGATE"
	],
	"cpu": "1024",
	"memory": "3072"
}
```