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 AWS Distro per OpenTelemetry Contenitore secondario alla definizione del compito. 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 OpenTelemetry SDK. Per ulteriori informazioni sulla strumentazione dell'applicazione con OpenTelemetry SDK, vedi Introduzione a AWS Distro per OpenTelemetry nel AWS Distro per OpenTelemetry documentazione.

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 su Fargate con AWS Distro per OpenTelemetry per inviare i parametri delle applicazioni ad Amazon Managed Service for Prometheus.

  • Il AWS Distro per OpenTelemetry l'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 per OpenTelemetry include tutte le dimensioni a livello di attività disponibili per le metriche delle applicazioni durante l'esportazione in Amazon Managed Service for Prometheus. Puoi anche strumentare la tua applicazione per aggiungere ulteriori dimensioni. Per ulteriori informazioni, consulta Guida introduttiva a Prometheus Remote Write Exporter per Amazon Managed Service for Prometheus nel AWS Distro per OpenTelemetry documentazione.

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

L'integrazione di Amazon ECS con Amazon Managed Service per Prometheus utilizzando AWS Distro per 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 che AWS Distro per OpenTelemetry sidecar può essere configurato anche per indirizzare i log dei container a CloudWatch I log che richiedono un ruolo IAM per l'esecuzione dell'attività devono essere creati e specificati 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.

Importante

Se stai raccogliendo anche dati di tracciamento delle applicazioni utilizzando AWS Distro per OpenTelemetry integrazione, assicurati che il ruolo IAM della tua 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.

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

  • registri:PutLogEvents

  • registri:CreateLogGroup

  • registri:CreateLogStream

  • registri:DescribeLogStreams

  • registri:DescribeLogGroups

  • cloudwatch:PutMetricData

Specificare il AWS Distro per OpenTelemetry accompagna la definizione del compito

La console Amazon ECS semplifica l'esperienza di creazione di AWS Distro per OpenTelemetry contenitore sidecar utilizzando il Usa la raccolta metrica opzione. 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 AWS Distro per OpenTelemetry Aggiungi manualmente il contenitore alla definizione dell'attività. Il seguente esempio di definizione dell'attività mostra la definizione del contenitore per l'aggiunta di AWS Distro per OpenTelemetry sidecar per l'integrazione di Amazon Managed Service per 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" }