Cloud & IT Cert Prep · Lektion

CloudWatch-metrikker, namespaces og dimensioner

Forstå indbyggede metrikker for AWS-tjenester, publicér brugerdefinerede metrikker fra din applikation, og filtrér efter dimensioner for at undersøge specifikke ressourcer

Lektion 1 af 413 trin

CloudWatch-metrikker, namespaces og dimensioner er en gratis Cloud & IT Cert Prep-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cloud & IT Cert Prep, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad er Amazon CloudWatch?

Amazon CloudWatch er AWS' samlede observability-tjeneste, der indsamler målepunkter, logs og spor fra dine AWS-ressourcer og applikationer. Den giver dig et komplet billede af din infrastrukturs tilstand, så du kan registrere afvigelser, konfigurere alarmer og reagere automatisk på driftsændringer. CloudWatch er tæt integreret med næsten alle AWS-tjenester og er det primære overvågningsværktøj, der indgår i SAA-C03-eksamenen.

Forstå CloudWatch-målepunkter

Et CloudWatch-målepunkt er et tidsordnet sæt datapunkter, der repræsenterer værdien af en målbar egenskab ved en ressource over tid — f.eks. CPUUtilization for en EC2-instans målt hvert minut. Målepunkter identificeres ved deres navneområde, navn og dimensioner. AWS offentliggør automatisk hundredvis af indbyggede målepunkter, og du kan offentliggøre dine egne brugerdefinerede målepunkter fra din applikationskode eller dine scripts.

Navneområder: Organisering af målepunkter

Et navneområde er en beholder til CloudWatch-målepunkter, som forhindrer navnekollisioner mellem målepunkter fra forskellige kilder. AWS-tjenester bruger navneområder som AWS/EC2, AWS/RDS, AWS/Lambda og AWS/S3. Når du offentliggør brugerdefinerede målepunkter, vælger du selv et navneområde — f.eks. MyApp/OrderService. Målepunkter i forskellige navneområder er fuldstændig adskilt fra hinanden, selv hvis de har samme målepunktnavn.

# 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 -u

Dimensioner: Filtrering af målepunkter

Dimensioner er nøgleværdi-par, der entydigt identificerer et målepunkt i et navneområde. I navneområdet AWS/EC2 kan CPUUtilization f.eks. filtreres efter dimensionen InstanceId=i-0123456789abcdef0 for at se én bestemt instans eller efter AutoScalingGroupName=my-asg for at se det samlede målepunkt på tværs af en gruppe instanser. Et enkelt målepunkt kan have op til 30 dimensioner, og AWS definerer på forhånd, hvilke dimensioner der er tilgængelige for hvert tjenestemålepunkt.

# 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 Average

Standardovervågning sammenlignet med detaljeret overvågning

Som standard offentliggør AWS-tjenester målepunkter med 5-minutters intervaller (standardovervågning) til CloudWatch uden ekstra betaling. Til tidskritiske arbejdsbelastninger kan du aktivere detaljeret overvågning og få en opløsning på 1 minut. Detaljeret overvågning er tilgængelig for EC2, Auto Scaling, ELB, RDS og andre tjenester — det medfører ekstra CloudWatch-gebyrer. Til SAA-C03 skal du huske, at Auto Scaling-politikker, der bruger trinbaseret skalering, er afhængige af CloudWatch-alarmer, som fungerer bedre med målepunkter pr. 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'

Offentliggørelse af brugerdefinerede målepunkter

Du kan sende brugerdefinerede målepunkter til CloudWatch fra enhver applikation ved hjælp af API'et put-metric-data eller CloudWatch Agent. Almindelige brugerdefinerede målepunkter omfatter forretnings-KPI'er (ordrer pr. minut), latenstid på applikationsniveau, kødybde og fejlfrekvenser. Brugerdefinerede målepunkter gemmes i 15 måneder med variabel opløsning og koster pr. målepunkt pr. måned. Brugerdefinerede målepunkter med høj opløsning (opløsning på 1 sekund) understøttes også, men til en højere pris.

# 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 til EC2-målepunkter

CloudWatch Agent er en softwareagent, som du installerer på EC2-instanser (og lokale servere) for at indsamle målepunkter, der ikke er tilgængelige via den indbyggede EC2-hypervisor, f.eks. hukommelsesforbrug, diskplads og netværksforbindelser. Agenten indsamler også logs og sender dem til CloudWatch Logs. Hukommelsesforbrug er et almindeligt eksamensscenarie — det er IKKE et standardmålepunkt for EC2 og SKAL indsamles 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-linux

Målepunktsmatematik og registrering af afvigelser

Målepunktsmatematik giver dig mulighed for at oprette nye tidsserier ved at udføre aritmetik på eksisterende målepunkter uden at gemme resultatet som et separat målepunkt. Du kan f.eks. beregne fejlfrekvensen som Errors / Requests * 100 direkte i et CloudWatch-dashboardudtryk. Registrering af afvigelser anvender maskinlæring på historiske målepunktdata for at oprette bånd for forventede værdier, og du kan oprette alarmer, der udløses, når et målepunkt afviger uden for disse bånd — også selvom der ikke findes en fast tærskel.

# 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:00Z

Opbevaringsperioder for målepunkter

CloudWatch gemmer målepunkter i varierende tidsrum afhængigt af deres opløsning: datapunkter med 1 sekunds opløsning gemmes i 3 timer, data pr. minut i 15 dage, data pr. 5 minutter i 63 dage og data pr. time i 15 måneder. CloudWatch aggregerer automatisk data med høj opløsning til data med lavere opløsning over tid. Det betyder, at du ser gennemsnit pr. time — ikke de oprindelige aflæsninger pr. minut fra flere måneder tidligere — hvis du vil analysere langsigtede tendenser.

Visning af målepunkter i CloudWatch-konsollen

CloudWatch-konsollen indeholder en Metrics Explorer og en Metrics browser, hvor du kan vælge en kombination af navneområde, målepunkt og dimension og visualisere data over tid. Du kan lægge flere målepunkter oven på hinanden i den samme graf, ændre aggregeringsperioder og føje dem til dashboards. Til programmatisk adgang returnerer API'erne GetMetricStatistics og GetMetricData rå datapunkter eller aggregerede statistikker (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 Maximum

Vigtige EC2- og RDS-målepunkter

Til SAA-C03-eksamenen skal du kende disse kritiske målepunkter: EC2 — CPUUtilization, NetworkIn/Out, DiskReadOps/WriteOps (kun instanslager); findes ikke som standard i EC2: hukommelse og diskplads (brug CloudWatch Agent). RDS — DatabaseConnections, FreeStorageSpace, ReadLatency, WriteLatency, ReplicaLag. ELB — RequestCount, TargetResponseTime, UnHealthyHostCount. Lambda — Invocations, Errors, Duration, Throttles, ConcurrentExecutions.

Hurtigt tjek

Test din forståelse af begreberne fra AWS Solutions Architect (SAA-C03) i denne lektion.

Opsummering af lektionen

I denne lektion har du lært, at navneområder organiserer målepunkter efter tjeneste og forhindrer navnekollisioner, at dimensioner filtrerer målepunkter til bestemte ressourcer som en enkelt EC2-instans eller ASG, og at hukommelsesforbrug ikke er et standardmålepunkt for EC2 — du skal bruge CloudWatch Agent til det. Nu går vi videre til CloudWatch Alarms og Composite Alarms til automatiseret alarmering.

Gratis at komme i gang

Lær Cloud & IT Cert Prep med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
150
Lektioner
600

Ofte stillede spørgsmål

Er lektionen “CloudWatch-metrikker, namespaces og dimensioner” gratis?

Ja — hele teksten til “CloudWatch-metrikker, namespaces og dimensioner” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cloud & IT Cert Prep-kurset, skal du opgradere til CoddyKit PRO. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “CloudWatch-metrikker, namespaces og dimensioner”?

Forstå indbyggede metrikker for AWS-tjenester, publicér brugerdefinerede metrikker fra din applikation, og filtrér efter dimensioner for at undersøge specifikke ressourcer Du øver dig i Cloud & IT Cert Prep med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cloud & IT Cert Prep?

Der kræves ingen tidligere erfaring. Cloud & IT Cert Prep på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “CloudWatch-metrikker, namespaces og dimensioner”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cloud & IT Cert Prep-lektion?

Ja. Alle Cloud & IT Cert Prep-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. CloudWatch-metrikker, namespaces og dimensioner
  2. CloudWatch-alarmer og sammensatte alarmer
  3. CloudWatch Logs og Log Insights
  4. CloudWatch-dashboards og Container Insights
← Tilbage til Cloud & IT Cert Prep