Come posso configurare CloudWatch Container Insights per monitorare le mie attività di ECS e l'implementazione dei container?

Ultimo aggiornamento: 08/04/2022

Desidero configurare Amazon CloudWatch Container Insights per monitorare le mie attività di Amazon Elastic Container Service (Amazon ECS) e l'implementazione dei container. In che modo posso farlo?

Breve descrizione

Container Insights raccoglie i parametri a livello di cluster, attività e servizio. Questi parametri includono l'utilizzo di risorse come CPU, memoria, disco e rete e sono disponibili nei pannelli di controllo automatici di CloudWatch.

Per impostazione predefinita, puoi configurare Amazon ECS per abilitare tutti i nuovi cluster per Container Insights. Oppure, puoi abilitare Container Insights su singoli cluster utilizzando le impostazioni del cluster durante la sua creazione. Puoi anche abilitare Container Insights sui cluster esistenti utilizzando l'AWS Command Line Interface (AWS CLI).

Risoluzione

Nota: se ricevi un messaggio di errore durante l'esecuzione dei comandi AWS CLI, assicurati di utilizzare la versione più recente di AWS CLI.

Modifica delle impostazioni dell'account

Abilita Container Insights per tutti i nuovi cluster creati attivando l'impostazione dell'account Container Insights.

Modifica delle impostazioni dell'account utilizzando la console CloudWatch

  1. Apri la console di Amazon ECS.
  2. Nel pannello di navigazione, scegli la regione per la quale desideri modificare le impostazioni dell'account.
  3. Scegli Account Settings (Impostazioni account).
  4. Nella sezione CloudWatch Container Insights, puoi selezionare o deselezionare la casella di controllo per ogni impostazione dell'account per l'utente e il ruolo autenticati di AWS Identity and Access Management (IAM). Al termine dell'operazione, scegli Save (Salva).
  5. Nella schermata di conferma, scegli Confirm (Conferma) per salvare la selezione.

Quando accedi come utente root dell'account AWS, puoi modificare l'impostazione predefinita dell'account. Oppure, puoi modificare l'impostazione di qualsiasi utente IAM o ruolo IAM specifico nell'account.

Modifica delle impostazioni predefinite dell'account per tutti gli utenti o i ruoli IAM nell'account (AWS CLI)

Utilizza questo comando per modificare l'impostazione predefinita dell'account per tutti gli utenti o i ruoli IAM nel tuo account. Le modifiche risultanti si applicano all'intero account AWS, a meno che un utente o un ruolo IAM non sostituisca esplicitamente queste impostazioni.

aws ecs put-account-setting-default --name containerInsights --value enabled --region <REGION_NAME>

Per ulteriori informazioni, consulta Modifica delle impostazioni dell'account.

Creazione di un cluster con Container Insights abilitato

Puoi utilizzare la console di Amazon ECS o l'AWS CLI per abilitare Container Insights durante la creazione del cluster.

Creazione di un cluster con Container Insights abilitato utilizzando la console

Nota: assicurati di utilizzare la nuova console Amazon ECS (v2) per completare queste fasi. Se desideri utilizzare la console classica, consulta Creazione di un cluster utilizzando la console classica.

  1. Apri la nuova console Amazon ECS.
  2. Nel pannello di navigazione, scegli la regione in cui desideri creare il cluster.
  3. Scegli Clusters (Cluster), quindi scegli Create cluster (Crea cluster).
  4. Nella sezione Cluster configuration (Configurazione cluster), scegli le impostazioni richieste per creare il tuo cluster.
  5. Espandi Monitoring (Monitoraggio), quindi attiva Use Container Insights (Utilizza Container Insights).
  6. Scegli Create (Crea).

Creazione di un cluster con Container Insights abilitato utilizzando AWS CLI

Per creare un nuovo cluster con Container Insights abilitato, esegui questo comando:

aws ecs create-cluster --cluster-name <CLUSTER_NAME> --settings "name=containerInsights,value=enabled" --region <REGION_NAME>

Abilitazione di Container Insights su un cluster Amazon ECS esistente

Per abilitare Container Insights su un cluster esistente, esegui questo comando:

aws ecs update-cluster-settings --cluster <CLUSTER_NAME> --settings name=containerInsights,value=enabled --region <REGION_NAME>

Considerazioni su Container Insights

Quando utilizzi CloudWatch Container Insights, tieni presente quanto segue:

  • Quando utilizzi un tipo di avvio Amazon EC2 (Amazon Elastic Compute Cloud), non è necessario che per l'attività siano configurate le risorse CPU del container. Per mostrare i parametri di utilizzo della CPU a livello di attività ECS, definisci il parametro CPU a livello di attività o a livello di container nella definizione dell'attività.
  • I parametri di rete sono disponibili per tutte le attività eseguite su AWS Fargate. I parametri di rete sono disponibili anche per le attività eseguite sulle istanze di Amazon EC2 utilizzando la modalità di rete bridge o awsvpc.
  • Per raccogliere i parametri a livello di istanza dai cluster ECS ospitati su un'istanza EC2, implementa l'agente CloudWatch.

Utilizzo di CloudWatch Logs Insights per visualizzare i dati di Container Insights

I parametri raccolti da Containers Insights per Amazon ECS non sono sufficientemente granulari per consentire il monitoraggio di singole attività. Questo perché i parametri disponibili sono tutti aggregati e calcolati in media al livello di famiglia di definizioni di attività. Per eseguire un'analisi più approfondita dei dati raccolti sulle prestazioni, utilizza le query di CloudWatch Logs Insights.

I parametri di prestazioni di Container Insights vengono raccolti automaticamente sotto forma di log utilizzando gli eventi del log delle prestazioni. Apri la console di CloudWatch Logs Insights e seleziona un gruppo di registri in questo formato:

/aws/ecs/containerinsights/<CLUSTER_NAME>/performance

Ad esempio, questa query visualizza l'utilizzo a livello di attività per CPU e memoria:

stats avg(CpuUtilized) as CPU, avg(MemoryUtilized) as Mem by TaskId
| filter Type="Task"
| sort Mem, CPU desc