Esportazione dei parametri delle applicazioni su Amazon CloudWatch - Amazon Elastic Container Service

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

Esportazione dei parametri delle applicazioni su Amazon CloudWatch

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à. La console Amazon ECS semplifica questo processo aggiungendo l'opzione Use metric collection durante la creazione di una nuova definizione di attività. Per ulteriori informazioni, consulta Creazione di una definizione di attività attraverso la nuova console.

I parametri dell'applicazione vengono esportati in CloudWatch Logs con il nome del gruppo di log /aws/ecs/application/metrics e i parametri possono essere visualizzati 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 la documentazione. OpenTelemetry

Considerazioni

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 contenitori Amazon ECS utilizzando Container Insights.

  • 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. AWS OpenTelemetry

Autorizzazioni IAM richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon CloudWatch

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 Amazon ECS si occupa dell'esecuzione delle attività (ruolo IAM) per tuo conto, ma il ruolo IAM dell'attività deve essere creato manualmente e aggiunto alla definizione dell'attività. Per ulteriori informazioni sul ruolo IAM di esecuzione dei processi, consulta Ruolo IAM di esecuzione di attività Amazon ECS.

Importante

Se stai anche raccogliendo dati di tracciamento delle applicazioni utilizzando AWS Distro per OpenTelemetry l'integrazione, assicurati che il ruolo IAM dell'attività contenga anche le autorizzazioni necessarie per tale integrazione. Per ulteriori informazioni, consulta Identifica le opportunità di ottimizzazione di Amazon ECS utilizzando i dati di tracciamento delle applicazioni.

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 AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

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

  3. Per Trusted entity type (Tipo di entità attendibile), scegli Servizio AWS.

  4. Per Service o use case, scegli Elastic Container Service, quindi scegli lo use case Elastic Container Service Task.

  5. Seleziona Avanti.

  6. Nella sezione Aggiungi autorizzazioni, cerca AWSDistroOpenTelemetryPolicyForXray, quindi seleziona la politica.

  7. (Facoltativo) Impostare un limite delle autorizzazioni. Questa è una caratteristica avanzata disponibile per i ruoli di servizio, ma non per i ruoli collegati ai servizi.

    1. Apri la sezione Imposta i limiti delle autorizzazioni, quindi scegli Usa un limite di autorizzazioni per controllare il numero massimo di autorizzazioni per i ruoli.

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

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

  8. Seleziona Avanti.

  9. Inserisci il nome del ruolo o il suffisso del nome del ruolo per aiutarti a identificare lo scopo del ruolo.

    Importante

    Quando assegnate un nome a un ruolo, tenete 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 entrambi PRODROLE eprodrole. Quando un nome di 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 dai 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 perché altre entità potrebbero fare riferimento al ruolo.

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

  11. (Facoltativo) Per modificare i casi d'uso e le autorizzazioni per il ruolo, nelle sezioni Passo 1: Seleziona entità attendibili o Passaggio 2: Aggiungi autorizzazioni, scegli Modifica.

  12. (Facoltativo) Per facilitare l'identificazione, l'organizzazione o la ricerca del ruolo, aggiungi tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo di tag in IAM, consulta la sezione Applicazione di tag alle risorse IAM nella Guida per l'utente di IAM.

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

Specificare il AWS Distro for OpenTelemetry sidecar nella definizione dell'attività

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à attraverso la nuova console.

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" }