View a markdown version of this page

Esportazione di parametri delle applicazioni in Amazon Managed Service for Prometheus - 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 di parametri delle applicazioni in Amazon Managed Service for Prometheus

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.

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 strumentata con le librerie Prometheus o con l'SDK. OpenTelemetry Per ulteriori informazioni sulla strumentazione dell'applicazione con l' OpenTelemetry SDK, consulta Introduzione a Distro for nella documentazione di AWS 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 nella documentazione di Prometheus.

Considerazioni

Quando si utilizza l'integrazione di Amazon ECS on Fargate con AWS Distro per inviare le metriche delle applicazioni OpenTelemetry ad Amazon Managed Service per Prometheus, è necessario considerare quanto segue.

  • La AWS Distro for OpenTelemetry integration è 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 Getting Started with Prometheus Remote Write Exporter for Amazon Managed Service for Prometheus nella sezione Distro per la documentazione. AWS OpenTelemetry

Autorizzazioni IAM richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon Managed Service per Prometheus

L'integrazione di Amazon ECS con Amazon Managed Service for Prometheus tramite AWS Distro for OpenTelemetry sidecar richiede 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.

Consigliamo inoltre di configurare AWS Distro for OpenTelemetry sidecar in modo da indirizzare i log dei container a Logs, il che richiede la creazione e la CloudWatch specificazione di un ruolo IAM per l'esecuzione dell'attività 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.

Importante

Se stai raccogliendo anche dati di traccia delle applicazioni utilizzando AWS Distro per l' OpenTelemetry integrazione, assicurati che il ruolo IAM del tuo task 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.

Le seguenti autorizzazioni sono necessarie per AWS Distro per OpenTelemetry l'integrazione con Amazon Managed Service for Prometheus:

  • registri: PutLogEvents

  • registri: CreateLogGroup

  • registri: CreateLogStream

  • registri: DescribeLogStreams

  • registri: DescribeLogGroups

  • cloudwatch: PutMetricData

Specificando 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à di Amazon ECS 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 aggiungere l'integrazione di AWS Distro for OpenTelemetry sidecar per 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" }