Dashboard CloudWatch e Container Insights
Creare dashboard operative per più servizi e abilitare Container Insights per ottenere metriche sulle prestazioni dei cluster ECS ed EKS
Dashboard CloudWatch e Container Insights è una lezione AWS Solutions Architect gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AWS Solutions Architect, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AWS Solutions Architect include 4 lezioni in totale.
Panoramica delle dashboard CloudWatch
Le dashboard CloudWatch sono viste personalizzabili composte da più widget dell'infrastruttura AWS, che offrono una visione operativa unificata. Una dashboard può visualizzare in un'unica schermata metriche provenienti da più servizi e account AWS, utilizzando grafici a linee, widget numerici, indicatori, allarmi e risultati di query sui log. Le dashboard sono risorse globali: una dashboard può mostrare metriche provenienti da qualsiasi Regione. È possibile condividere le dashboard pubblicamente oppure limitarne l'accesso tramite policy IAM.
Widget delle dashboard
Le dashboard CloudWatch supportano diversi tipi di widget: grafici a linee e ad area sovrapposta per le metriche delle serie temporali, widget numerici per il valore più recente di una metrica (ideali per i KPI), grafici a barre per i confronti, indicatori per i dati sulla capacità, stato degli allarmi per mostrare un riepilogo degli stati degli allarmi, tabelle dei log per i risultati di Live Tail o delle query di Insights e testo per etichette e documentazione. Combinare diversi tipi di widget in un'unica dashboard aiuta i team a valutare lo stato del sistema a colpo d'occhio.
# Create a dashboard via CLI (body must be escaped JSON)
aws cloudwatch put-dashboard \
--dashboard-name ProductionOverview \
--dashboard-body '{
"widgets": [
{
"type": "metric",
"properties": {
"metrics": [["AWS/EC2","CPUUtilization","AutoScalingGroupName","my-asg"]],
"period": 60,
"stat": "Average",
"title": "ASG CPU Utilization"
}
}
]
}'Dashboard tra account e tra Regioni
CloudWatch supporta l'osservabilità tra account utilizzando account di monitoraggio e account di origine. È possibile designare un account di monitoraggio centrale, collegarvi gli account di origine e creare dashboard che raccolgono metriche e log da tutti gli account collegati. In questo modo non è necessario cambiare account nella console per monitorare un ambiente composto da più account. I widget tra Regioni all'interno dello stesso account sono supportati nativamente specificando la Regione nella definizione JSON della dashboard.
# Enable cross-account sharing in a source account
aws cloudwatch put-dashboard \
--dashboard-name MultiRegionView \
--dashboard-body '{
"widgets": [
{
"type": "metric",
"properties": {
"metrics": [
["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db",{"region":"us-east-1"}],
["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db-eu",{"region":"eu-west-1"}]
],
"title": "DB Connections: us-east-1 vs eu-west-1"
}
}
]
}'CloudWatch Live Tail
CloudWatch Live Tail (lanciato nel 2023) consente di trasmettere gli eventi dei log di uno o più gruppi di log quasi in tempo reale, direttamente nella console CloudWatch o tramite la CLI, in modo simile all'esecuzione di tail -f su un file di log. È possibile applicare un pattern di filtro per visualizzare solo gli eventi corrispondenti. Live Tail è prezioso durante i deployment o l'analisi degli incidenti, quando è necessario osservare in tempo reale il comportamento di un'applicazione senza eseguire query complete di Insights.
# Start a Live Tail session for a Lambda function's logs
aws logs start-live-tail \
--log-group-identifiers '/aws/lambda/my-function' \
--log-event-filter-pattern 'ERROR'
# The output streams log events in real time until you cancel (Ctrl+C)Che cos'è Container Insights?
CloudWatch Container Insights è una funzionalità di CloudWatch che raccoglie, aggrega e riepiloga metriche e log dei carichi di lavoro containerizzati eseguiti su Amazon ECS (EC2 e Fargate) e Amazon EKS (EC2 e Fargate). Offre dashboard predefinite per le prestazioni a livello di cluster, servizio, nodo e pod, senza richiedere l'instrumentazione manuale di ogni applicazione. Container Insights utilizza CloudWatch Agent o il router dei log di EKS Fargate per raccogliere i dati.
# Enable Container Insights on an ECS cluster
aws ecs update-cluster-settings \
--cluster my-ecs-cluster \
--settings name=containerInsights,value=enabled
# Enable Container Insights on EKS (via CloudWatch Agent DaemonSet)
eksctl utils update-cluster-logging \
--cluster my-eks-cluster \
--enable-types all \
--region us-east-1Metriche di Container Insights
Container Insights raccoglie le metriche negli spazi dei nomi ECS/ContainerInsights e ContainerInsights. Per EKS includono: a livello di pod — pod_cpu_utilization, pod_memory_utilization, pod_network_rx_bytes; a livello di nodo — node_cpu_utilization, node_memory_utilization, node_filesystem_utilization; a livello di cluster — cluster_failed_node_count, cluster_node_count. Tutte le metriche sono contrassegnate con le dimensioni cluster, namespace, servizio e pod, per consentire un filtraggio preciso.
# Query pod memory utilization for a specific namespace
aws cloudwatch get-metric-statistics \
--namespace ContainerInsights \
--metric-name pod_memory_utilization \
--dimensions \
Name=ClusterName,Value=my-cluster \
Name=Namespace,Value=production \
--statistic Average \
--period 60 \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00ZDashboard di Container Insights nella console
Quando Container Insights è abilitato, la console CloudWatch fornisce automaticamente le viste predefinite Mappa dei container e Monitoraggio delle prestazioni. La Mappa dei container mostra le attività ECS o i pod EKS in una topologia visiva, con colori diversi in base allo stato di salute, e consente di analizzare le metriche dei singoli container. La vista Monitoraggio delle prestazioni offre grafici di serie temporali sulle prestazioni di cluster, nodi, pod e container, senza alcuna configurazione manuale della dashboard.
Prestazioni delle attività ECS con Container Insights
Per ECS su EC2, Container Insights installa CloudWatch Agent come servizio daemon su ogni istanza container. Per ECS su Fargate, Container Insights utilizza il collector di metriche sidecar della versione 1.4.0 della piattaforma Fargate. È possibile accedere alle metriche ECS in base alla dimensione cluster, servizio, attività o container. Un pattern comune per gli allarmi consiste nel generare un allarme quando MemoryUtilized si avvicina al valore MemoryReserved dell'attività, così da rilevare potenziali condizioni OOM prima che causino la terminazione delle attività.
# Get memory reservation and utilisation for a service
aws cloudwatch get-metric-statistics \
--namespace ECS/ContainerInsights \
--metric-name MemoryUtilized \
--dimensions Name=ClusterName,Value=my-cluster Name=ServiceName,Value=api-service \
--statistic Average \
--period 300 \
--start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ)Application Signals e ServiceLens
CloudWatch ServiceLens integra metriche, log e tracce in una mappa unificata dei servizi. Richiede che AWS X-Ray sia abilitato insieme a CloudWatch. ServiceLens visualizza i flussi end-to-end delle richieste tra i servizi, evidenzia i colli di bottiglia della latenza e mostra i tassi di errore per servizio. CloudWatch Application Signals (il successore più recente) strumenta automaticamente le applicazioni per esporre SLO e SLI senza modifiche al codice, consentendo di monitorare l'affidabilità oltre le metriche grezze.
Best practice per le dashboard
Le dashboard CloudWatch efficaci seguono queste best practice: separare le dashboard in base al pubblico (operativo, dirigenziale o sviluppatori), utilizzare i widget dello stato degli allarmi come prima informazione visualizzata dai team durante la reperibilità, fissare le dashboard per accedervi frequentemente e usare riferimenti dinamici con CloudFormation per mantenere coerenti i riferimenti alle metriche della dashboard con i nomi effettivi delle risorse. Eviti di sovraccaricare una singola dashboard: la leggibilità è importante quando si analizza un incidente sotto pressione.
CloudWatch Contributor Insights
CloudWatch Contributor Insights analizza dati strutturati dei log per identificare i primi N contributori a una metrica nel tempo. Ad esempio, può mostrare quali indirizzi IP generano il maggior numero di errori 5xx, quali percorsi API hanno il volume più elevato di richieste o quali ID cliente causano il maggior numero di throttling DynamoDB. Le regole definiscono il campo JSON da estrarre e aggregare. I risultati vengono visualizzati come grafici di serie temporali che si aggiornano continuamente all'arrivo di nuovi dati dei log.
# Enable Contributor Insights on a DynamoDB table
aws dynamodb enable-kinesis-streaming-destination \
--table-name my-table
# Or enable CloudWatch Contributor Insights via the console:
# CloudWatch -> Contributor Insights -> Create rule
# Log group: /aws/dynamodb/tables
# Contributor field: $.TableName
# Aggregation: COUNT by $.requestIDVerifica rapida
Verifichi la Sua comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha imparato che: le dashboard CloudWatch supportano diversi tipi di widget e possono aggregare metriche tra account e Regioni; Container Insights raccoglie automaticamente metriche a livello di pod e nodo da ECS ed EKS senza strumentazione manuale; e Contributor Insights identifica i principali contributori a partire da dati strutturati dei log. Ora esamineremo i Trail e la cronologia degli eventi di CloudTrail per il controllo a livello di API.
Domande Frequenti
La lezione «Dashboard CloudWatch e Container Insights» è gratuita?
Sì — il testo completo di «Dashboard CloudWatch e Container Insights» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AWS Solutions Architect, passa a CoddyKit PRO. Il corso AWS Solutions Architect include 4 lezioni in totale.
Cosa imparerò in «Dashboard CloudWatch e Container Insights»?
Creare dashboard operative per più servizi e abilitare Container Insights per ottenere metriche sulle prestazioni dei cluster ECS ed EKS Eserciti AWS Solutions Architect con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AWS Solutions Architect?
Non è richiesta alcuna esperienza precedente. AWS Solutions Architect su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Dashboard CloudWatch e Container Insights»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AWS Solutions Architect?
Sì. Ogni lezione AWS Solutions Architect include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Metriche, namespace e dimensioni di CloudWatch
- Allarmi CloudWatch e allarmi compositi
- Log CloudWatch e Log Insights
- Dashboard CloudWatch e Container Insights