CloudWatch-mätvärden, namnrymder och dimensioner
Förstå inbyggda mätvärden för AWS-tjänster, publicera anpassade mätvärden från programmet och filtrera efter dimensioner för att granska specifika resurser.
CloudWatch-mätvärden, namnrymder och dimensioner är en gratis lektion i Cloud & IT Cert Prep på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cloud & IT Cert Prep, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.
Vad är Amazon CloudWatch?
Amazon CloudWatch är AWS:s samlade tjänst för observerbarhet som samlar in mätvärden, loggar och spår från era AWS-resurser och applikationer. Den ger er en komplett bild av infrastrukturens hälsa, så att ni kan upptäcka avvikelser, konfigurera larm och automatiskt reagera på driftsförändringar. CloudWatch är djupt integrerat med nästan alla AWS-tjänster och är det primära övervakningsverktyget som testas i SAA-C03-examen.
Förstå CloudWatch-mätvärden
Ett CloudWatch-mätvärde är en tidsordnad uppsättning datapunkter som representerar värdet av en mätbar aspekt hos en resurs över tid – till exempel CPUUtilization för en EC2-instans, uppmätt varje minut. Mätvärden identifieras av sitt namespace, sitt namn och sina dimensioner. AWS publicerar automatiskt hundratals inbyggda mätvärden, och ni kan publicera egna anpassade mätvärden från applikationskod eller skript.
Namespaces: organisera mätvärden
Ett namespace är en behållare för CloudWatch-mätvärden som förhindrar namnkonflikter mellan mätvärden från olika källor. AWS-tjänster använder namespaces som AWS/EC2, AWS/RDS, AWS/Lambda och AWS/S3. När ni publicerar anpassade mätvärden väljer ni ett eget namespace – till exempel MyApp/OrderService. Mätvärden i olika namespaces är helt åtskilda från varandra även om de har samma namn.
# List all namespaces in your account
aws cloudwatch list-metrics \
--query 'Metrics[].Namespace' \
--output text | tr '\t' '\n' | sort -u
# List metrics in the AWS/EC2 namespace
aws cloudwatch list-metrics \
--namespace AWS/EC2 \
--query 'Metrics[].MetricName' \
--output text | tr '\t' '\n' | sort -uDimensioner: filtrera mätvärden
Dimensioner är nyckel-värde-par som unikt identifierar ett mätvärde inom ett namespace. I namespacet AWS/EC2 kan exempelvis CPUUtilization filtreras med dimensionen InstanceId=i-0123456789abcdef0 för att visa en specifik instans, eller med AutoScalingGroupName=my-asg för att visa det aggregerade mätvärdet för en hel flotta. Ett enskilt mätvärde kan ha upp till 30 dimensioner, och AWS fördefinierar vilka dimensioner som är tillgängliga för varje tjänsts mätvärden.
# Get CPU utilization for a specific EC2 instance
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00Z \
--period 300 \
--statistics AverageStandardövervakning jämfört med detaljerad övervakning
Som standard publicerar AWS-tjänster mätvärden till CloudWatch med 5 minuters intervall (standardövervakning) utan extra kostnad. För tidskänsliga arbetsbelastningar kan ni aktivera detaljerad övervakning för att få 1 minuts upplösning. Detaljerad övervakning finns för EC2, Auto Scaling, ELB, RDS och andra tjänster och medför extra CloudWatch-kostnader. För SAA-C03 ska ni komma ihåg att Auto Scaling-policyer som använder stegskalning bygger på CloudWatch-larm som fungerar bättre med mätvärden per minut.
# Enable detailed (1-minute) monitoring for an EC2 instance
aws ec2 monitor-instances \
--instance-ids i-0123456789abcdef0
# Verify monitoring state
aws ec2 describe-instance-status \
--instance-ids i-0123456789abcdef0 \
--query 'InstanceStatuses[].Monitoring'Publicera anpassade mätvärden
Ni kan skicka anpassade mätvärden till CloudWatch från valfri applikation med API:t put-metric-data eller CloudWatch Agent. Vanliga anpassade mätvärden är affärs-KPI:er (ordrar per minut), latens på applikationsnivå, ködjup och felfrekvenser. Anpassade mätvärden sparas i 15 månader med varierande upplösning och kostar per mätvärde och månad. Anpassade mätvärden med hög upplösning, ned till 1 sekund, stöds också mot en högre kostnad.
# Publish a custom metric from the CLI
aws cloudwatch put-metric-data \
--namespace 'MyApp/OrderService' \
--metric-name 'OrdersProcessedPerMinute' \
--value 47 \
--unit Count \
--dimensions Environment=Production,Region=us-east-1
# Publish from application code (Python boto3)
# cloudwatch.put_metric_data(
# Namespace='MyApp/OrderService',
# MetricData=[{'MetricName': 'ErrorRate', 'Value': 0.5, 'Unit': 'Percent'}]
# )CloudWatch Agent för EC2-mätvärden
CloudWatch Agent är en programagent som ni installerar på EC2-instanser och lokala servrar för att samla in mätvärden som inte är tillgängliga via den inbyggda EC2-hypervisorn, till exempel minnesanvändning, diskutrymme och nätverksanslutningar. Agenten samlar även in loggar och skickar dem till CloudWatch Logs. Minnesanvändning är ett vanligt examscenario – det är INTE ett standardmätvärde för EC2 och MÅSTE samlas in via CloudWatch Agent.
# Install and start the CloudWatch Agent on Amazon Linux 2
sudo yum install -y amazon-cloudwatch-agent
# Use the wizard to generate a config
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
# Start the agent with the generated config
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config \
-m ec2 \
-s \
-c ssm:/AmazonCloudWatch-linuxMätvärdesmatematik och avvikelsedetektering
Mätvärdesmatematik låter er skapa nya tidsserier genom att utföra aritmetiska beräkningar på befintliga mätvärden utan att spara resultatet som ett separat mätvärde. Ni kan exempelvis beräkna felfrekvensen som Errors / Requests * 100 direkt i ett CloudWatch-instrumentpanelsuttryck. Avvikelsedetektering använder maskininlärning på historiska mätvärdesdata för att skapa band med förväntade värden. Ni kan sedan skapa larm som utlöses när ett mätvärde avviker utanför dessa band – även om det inte finns något fast tröskelvärde.
# Get metric data using metric math
aws cloudwatch get-metric-data \
--metric-data-queries '[
{"Id":"e1","Expression":"m1/m2*100","Label":"ErrorRate%"},
{"Id":"m1","MetricStat":{"Metric":{"Namespace":"MyApp","MetricName":"Errors"},"Period":60,"Stat":"Sum"}},
{"Id":"m2","MetricStat":{"Metric":{"Namespace":"MyApp","MetricName":"Requests"},"Period":60,"Stat":"Sum"}}
]' \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00ZLagringsperioder för mätvärden
CloudWatch lagrar mätvärden under varierande lång tid beroende på upplösningen: datapunkter med 1 sekunds upplösning sparas i 3 timmar, data per minut i 15 dagar, data per 5 minuter i 63 dagar och data per timme i 15 månader. CloudWatch aggregerar automatiskt data med hög upplösning till data med lägre upplösning över tid. Det innebär att ni vid analys av långsiktiga trender ser medelvärden per timme – inte de ursprungliga minutavläsningarna från flera månader tillbaka.
Visa mätvärden i CloudWatch-konsolen
CloudWatch-konsolen innehåller Metrics Explorer och Metrics browser, där ni kan välja valfri kombination av namespace, mätvärde och dimension och visualisera data över tid. Ni kan lägga flera mätvärden ovanpå varandra i samma diagram, ändra aggregeringsperioder och lägga till dem i instrumentpaneler. För programmatisk åtkomst returnerar API:erna GetMetricStatistics och GetMetricData rådatapunkter eller aggregerad statistik (Average, Sum, Minimum, Maximum, SampleCount).
# Get average CPU for all instances in an ASG over the last hour
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=AutoScalingGroupName,Value=my-asg \
--start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
--period 300 \
--statistics Average MaximumViktiga EC2- och RDS-mätvärden
För SAA-C03-examen ska ni känna till dessa kritiska mätvärden: EC2 – CPUUtilization, NetworkIn/Out, DiskReadOps/WriteOps (endast instanslagring); saknas som standard i EC2: minne och diskutrymme (använd CloudWatch Agent). RDS – DatabaseConnections, FreeStorageSpace, ReadLatency, WriteLatency, ReplicaLag. ELB – RequestCount, TargetResponseTime, UnHealthyHostCount. Lambda – Invocations, Errors, Duration, Throttles, ConcurrentExecutions.
Snabbtest
Testa er förståelse av begreppen i AWS Solutions Architect (SAA-C03) från den här lektionen.
Sammanfattning av lektionen
I den här lektionen lärde ni er att namespaces organiserar mätvärden per tjänst och förhindrar namnkonflikter, att dimensioner filtrerar mätvärden till specifika resurser som en enskild EC2-instans eller ASG, samt att minnesanvändning inte är ett standardmätvärde för EC2 – ni behöver CloudWatch Agent för detta. Härnäst utforskar vi CloudWatch Alarms och Composite Alarms för automatiserad avisering.
Lär dig Cloud & IT Cert Prep med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 150
- Lektioner
- 600
Vanliga frågor
Är lektionen ”CloudWatch-mätvärden, namnrymder och dimensioner” gratis?
Ja – hela texten till ”CloudWatch-mätvärden, namnrymder och dimensioner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cloud & IT Cert Prep, kan Ni uppgradera till CoddyKit PRO. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.
Vad lär jag mig i ”CloudWatch-mätvärden, namnrymder och dimensioner”?
Förstå inbyggda mätvärden för AWS-tjänster, publicera anpassade mätvärden från programmet och filtrera efter dimensioner för att granska specifika resurser. Ni övar på Cloud & IT Cert Prep med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Cloud & IT Cert Prep?
Du behöver inga förkunskaper. Utbildningen i Cloud & IT Cert Prep på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”CloudWatch-mätvärden, namnrymder och dimensioner”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Cloud & IT Cert Prep-lektionen?
Ja. Varje Cloud & IT Cert Prep-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- CloudWatch-mätvärden, namnrymder och dimensioner
- CloudWatch-larm och sammansatta larm
- CloudWatch Logs och Log Insights
- CloudWatch-instrumentpaneler och Container Insights