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 CloudWatch Amazon come metriche personalizzate. Questo viene fatto aggiungendo il contenitore AWS Distro for OpenTelemetry sidecar alla definizione dell'attività. La ECS console Amazon 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 ECS attività Amazon utilizzando la console.

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 La tua applicazione deve essere dotata di. OpenTelemetry SDK Per ulteriori informazioni, vedere Introduzione a AWS Distro for OpenTelemetry in the AWS Distro per la documentazione. OpenTelemetry

Considerazioni

Quando si utilizza l'integrazione Amazon ECS on Fargate con AWS Distro per inviare i parametri delle applicazioni ad Amazon, è OpenTelemetry 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 AmazonECS. Per ulteriori informazioni, consulta Monitora ECS i contenitori Amazon utilizzando Container Insights.

  • La AWS Distro per OpenTelemetry l'integrazione è supportata per i carichi di ECS lavoro Amazon ospitati su Fargate e i carichi di lavoro Amazon ospitati su istanze ECS Amazon. EC2 Al momento le istanze esterne non sono supportate.

  • CloudWatch supporta un massimo di 30 dimensioni per metrica. Per impostazione predefinita, Amazon include per impostazione ECS predefinita le TaskDefinitionRevision dimensioniTaskARN,ClusterARN, LaunchTypeTaskDefinitionFamily, e nelle metriche. 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

IAMAutorizzazioni richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon CloudWatch

L'ECSintegrazione di Amazon con AWS Distro for OpenTelemetry richiede la creazione di un IAM ruolo 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 IAM ruolo di esecuzione dell'attività anche nella definizione dell'attività. CloudWatch La ECS console Amazon si occupa del IAM ruolo di esecuzione dell'attività per tuo conto, ma il IAM ruolo dell'attività deve essere creato manualmente e aggiunto alla definizione dell'attività. Per ulteriori informazioni sul IAM ruolo di esecuzione delle attività, consultaIAMRuolo di esecuzione delle ECS attività di Amazon.

Importante

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

Se l'applicazione richiede ulteriori autorizzazioni, è necessario aggiungerle a questa policy. Ogni definizione di attività può specificare solo un ruolo dell'attività. IAM Ad esempio, se si utilizza un file di configurazione personalizzato archiviato in Systems Manager, è necessario aggiungere l'ssm:GetParametersautorizzazione a questa IAM politica.

Per creare il ruolo di servizio per Elastic Container Service (IAMconsole)
  1. Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione della IAM console, scegli Ruoli, quindi scegli Crea ruolo.

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

  4. Per Servizio o caso d'uso, scegli Elastic Container Service, quindi scegli il caso d'uso Elastic Container Service Task.

  5. Scegli Next (Successivo).

  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.

      IAMinclude 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. Scegli Next (Successivo).

  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 unaARN, 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 la sua creazione 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 dei tag inIAM, consulta Etichettare IAM le risorse nella Guida per l'IAMutente.

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

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

La ECS console Amazon 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 ECS attività Amazon utilizzando la console.

Se non utilizzi la ECS console Amazon, 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" }