Amazon DOP-C02: Monitoring, Logging en Observeerbaarheid — Studiegids
Onderdeel van de AWS DevOps Engineer Professional DOP-C02 — Studiegids. Oefen met geverifieerde antwoorden in het Amazon-examencentrum, of doe getimede oefentests op ExamRoll.io.
Overzicht
Monitoring, logging en observability op AWS vereisen het combineren van metrics, logs, traces, events en health-telemetrie tot bruikbare signalen. Effectieve architecturen gebruiken Amazon CloudWatch voor metrics, alarmen en dashboards; CloudWatch Logs en Logs Insights voor log-ingestion en -analyse; AWS X-Ray voor distributed tracing; AWS CloudTrail voor auditing en integriteit; Amazon EventBridge voor event-driven detectie en automatisering; AWS Health voor accountspecifieke service-events; en gecentraliseerde pipelines (Kinesis Data Firehose en OpenSearch) voor zoeken en correlatie op grote schaal. De onderstaande patronen leggen de nadruk op ruisonderdrukking, precieze signaalroutering, automatisering en multi-account/multi-Region-operaties.
CloudWatch Metrics, Alarms, Dashboards en Composite Alarms
CloudWatch-metrics vormen de basis voor SLO’s, schaalvergroting en alarmering. Publiceer custom metrics met fijngranulaire dimensies om signalen te isoleren (bijvoorbeeld apiOperation, appVersion, statusCode). Gebruik het CloudWatch Embedded Metric Format (EMF) met gestructureerde logs om high-cardinality-dimensies efficiënt uit te zenden vanuit Lambda, containers en EC2, en vermijd zo de overhead van de PutMetricData API.
Configureer alarmen met een robuuste evaluatie:
- Kies perioden die zijn afgestemd op de granulariteit van de data en SLO-vensters.
- Stel datapointsToAlarm (m van n) in voor weerbaarheid tegen tijdelijke ruis.
- Gebruik TreatMissingData om false positives tijdens implementaties of pauzes te vermijden.
- Maak gebruik van anomaly detection-banden wanneer basislijnen variëren met seizoensinvloeden, en van metric math voor afgeleide indicatoren (p95-latency, foutpercentages, verzadigingsratio’s).
- Koppel acties aan alarmen: notificeer via SNS, maak OpsCenter OpsItems aan, voer SSM Automation uit of herstel EC2-instances. Schaalbeleid kan verwijzen naar alarmstatussen voor actie, maar composite alarms kunnen schaalvergroting niet rechtstreeks activeren.
Composite alarms verminderen alarmmoeheid door meerdere onderliggende alarmen te combineren met AND/OR-logica. Alarmeer bijvoorbeeld alleen wanneer de p95-latency hoog is EN de 5xx-rate een drempelwaarde overschrijdt EN de CPU-verzadiging aanhoudt, om zo aan te sluiten bij de impact op de gebruiker. Composite alarms accepteren statusupdates van onderliggende alarmen over Regions/accounts heen via cross-account observability of metric streams naar een centraal account.
Dashboards visualiseren de belangrijkste indicatoren over verschillende services heen. Gebruik widgets voor metrics, Logs Insights-queryresultaten en alarmstatussen. Standaardiseer dashboardconventies (naamgeving, tijdsbestekken, SLO-overlays) en maak gebruik van cross-Region/cross-account-weergaven met CloudWatch Observability Access Manager (OAM). Voor ad-hoccorrelatie, pin Logs Insights- en X-Ray ServiceLens-widgets naast service map-widgets en Kinesis Firehose-foutpercentages.
CloudWatch Logs: Log Groups, Metric Filters, Subscription Filters en Logs Insights
Structureer loggroepen per applicatie/component en levenscyclusfase. Stel expliciet retentiebeleid in (vertrouw niet op ‘Never Expire’) en schakel KMS-encryptie in waar nodig. Gebruik resource policies en fijngranulaire IAM om producenten en abonnees te beheren. Zorg voor voldoende concurrency van logstreams en batching voor ingestion met hoge doorvoersnelheid.
Metric filters zetten logpatronen om in metrics. Definieer een filterpatroon met geëxtraheerde tokens (JSON of door spaties gescheiden) en map de tokens naar metric-dimensies. Dit ondersteunt use cases zoals per-API, per-versie, per-response-code metrics die rechtstreeks vanuit logs worden gepubliceerd zonder de producenten aan te passen. Zorg ervoor dat eenheden en standaardwaarden correct zijn; geef de voorkeur aan 1 per event en leid ratio’s af via metric math. Gebruik deze metrics voor SLO-alarmering en dashboards.
Subscription filters streamen logs bijna real-time naar:
- Kinesis Data Firehose voor transformatie en levering aan S3/OpenSearch.
- Kinesis Data Streams voor custom consumers.
- Lambda voor custom routering, redactie van PII of event-driven notificaties. Gebruik een CloudWatch Logs-destination met een IAM-rol voor cross-account-abonnementen. Plan voor retry en backpressure; Lambda en Firehose bieden respectievelijk ingebouwde retries en DLQ’s/error S3-buckets.
CloudWatch Logs Insights biedt een interactieve, serverless query-mogelijkheid over logs. Kernoperatoren zijn onder andere fields, filter, parse, stats, sort, limit, dedup en bin voor time bucketing. Parse JSON-velden of gebruik grok-achtige parsing voor tekstlogs. Voorbeelden:
- filter status >= 500 | stats count() by apiOperation, appVersion
- parse @message /duration=(?
<ms>\d+)/ | stats pct(@ms,95) by service Sla veelgebruikte query’s op met QueryDefinition voor hergebruik door het team, en voeg ze als query-widgets toe aan dashboards. Voor automatisering, plan een Lambda via EventBridge om StartQuery/GetQueryResults uit te voeren en samenvattingen te publiceren naar SNS of OpsCenter. Beperk de query-scope tot specifieke loggroepen en tijdsvensters om de kosten te beheersen.
AWS X-Ray: Tracing, Samplingregels, Service Maps en Annotaties
X-Ray legt gedistribueerde traces vast over services heen om de oorzaken van latency en foutgrenzen te vinden. Instrumenteer services met de AWS Distro for OpenTelemetry (ADOT) of X-Ray SDK’s, propageer de trace-header (bijv. X-Amzn-Trace-Id) en draai de X-Ray-daemon/agent waar nodig (ECS/EKS/EC2). Veel managed services integreren native (API Gateway, ALB via access logs die traces doorsturen, Lambda met actieve tracing, Step Functions via subsegmenten).
Samplingregels beheren het datavolume en de signaalgetrouwheid. Gebruik een centrale set samplingregels met:
- Een vast reservoir per seconde voor basistraces per service.
- Een op rate gebaseerd samplingpercentage om mee te schalen met de doorvoer.
- Regelprioriteit en service/URL-matching voor ‘hot paths’ en foutscenario’s. Verhoog de sampling tijdens incidenten en voor canary-verkeer om de observability te waarborgen en tegelijkertijd de kosten te beheersen.
Service maps visualiseren de call graph en tonen edges met latency, foutpercentages en throttle-indicatoren. Zoom in op traces om segmenten en subsegmenten te onderzoeken op downstream-afhankelijkheden. Gebruik annotaties (geïndexeerde key-value-paren) voor filtering met hoge cardinaliteit, zoals customerTier, apiOperation, appVersion of AWS request-ID’s. Gebruik metadata voor uitgebreide, niet-geïndexeerde context om ‘index blowout’ te voorkomen. Combineer X-Ray trace groups met CloudWatch ServiceLens om logs, metrics en traces in één overzicht te correleren. Maak filterexpressies (bijv. annotation.appVersion = “2.3.1” and fault = true) om regressies te isoleren en trace-ID’s te exporteren voor gericht zoeken in logs.
Governance en Events: CloudTrail, EventBridge en AWS Health
CloudTrail legt API-activiteit vast voor governance en forensische analyse. Activeer een organization trail voor alle accounts en alle Regions, lever deze af in een gecentraliseerde S3-bucket met SSE-KMS, activeer logbestandsvalidatie en integreer met CloudWatch Logs voor bijna-realtime detectie. Maak onderscheid tussen eventklassen:
- Management events: control plane (bijv. CreateUser, RunInstances). Configureer om naar behoefte read-only en write-only op te nemen.
- Data events: high-volume data plane-operaties zoals toegang op S3-objectniveau, Lambda Invoke, DynamoDB item-API’s, EKS API-serveraanroepen. Beperk de scope van data events selectief (per bucket/functie/tabel) om de kosten te beheersen. Gebruik CloudTrail Insights om ongebruikelijke API-pieken te detecteren en stuur CloudTrail-events naar EventBridge voor automatische herstelacties (auto-remediation). Valideer de integriteit van logs met behulp van digest-bestanden en het AWS CLI-commando cloudtrail validate-logs tijdens audits.
EventBridge biedt een ’event fabric’ voor detectie en automatisering. Gebruik de default event bus voor events van AWS-services en maak custom bussen voor events van het applicatiedomein. Definieer event patterns die matchen op source, detail-type, detail-velden, prefixes, numerieke bereiken en ‘anything-but’. Pas input transformers toe om events te hervormen, koppel resource-based policies voor cross-account publicatie en configureer retry/DLQ op targets. Veelvoorkomende targets zijn onder andere Lambda (herstelacties), Step Functions (orkestratie), SQS (ontkoppeling), Systems Manager Automation (ops-acties), CodePipeline (CI-triggers) en SNS (notificaties). Archiveer en herhaal events om te herstellen van storingen bij consumers, en gebruik de schema registry om sterk getypeerde eventmodellen te genereren.
AWS Health maakt accountspecifieke service-events, geplande wijzigingen en operationele problemen zichtbaar. Integreer via EventBridge met source aws.health en detail-type AWS Health Event om events door te sturen naar incidentkanalen, OpsCenter OpsItems te openen, of veilige shutdown/scale-acties te triggeren voor onderhoudsvensters. Gebruik de Organizational View met een delegated admin-account om Health-events van alle accounts te aggregeren, en overweeg de AWS Health API of de AWS Health Aware-oplossing om samengestelde notificaties naar on-call-systemen te pushen.
Gecentraliseerde logging met Kinesis Data Firehose en OpenSearch
Een loggingstrategie voor meerdere accounts en regio’s standaardiseert de opname en het doorzoeken van gegevens. Configureer in elk producer-account CloudWatch Logs-abonnementsfilters naar een cross-account Logs-bestemming die wordt ondersteund door een centrale Kinesis Data Firehose. Schakel Firehose-functies in:
- Gegevenstransformatie via Lambda voor normalisatie (JSON), PII-redactie en verrijking met metadata van AWS-account, regio, VPC en service.
- Compressie (GZIP) en dynamische partitionering bij levering aan S3 om de queryprestaties in Athena te optimaliseren.
- Encryptie met KMS en levering via VPC voor private endpoints. Lever aan Amazon OpenSearch Service voor zoekopdrachten met lage latentie en visualisatie met Kibana/OpenSearch Dashboards. Gebruik index-templates, ILM/ISM-beleid voor rollover en retentie, en fijnmazig toegangsbeleid dat gebruikers koppelt aan indexpatronen (bijv. account/team/service). Configureer de uitvoer van fouten naar S3 voor mislukte documenten en monitor de leverings- en opnamemetrieken van Firehose en OpenSearch (DeliveryToElasticsearch.Success, ElasticsearchFailedRequests). Overweeg bij zeer hoge volumes om alle logs via Firehose in S3 te laten landen en een subset naar OpenSearch te streamen, met on-demand Athena-query’s op S3 voor ’long-tail’-onderzoeken om de kosten te beheersen.
Combineer deze pipeline met CloudWatch-metriekfilters voor snelle, goedkope tellers en met Logs Insights voor ad-hoc diepgaande query’s. Gebruik EventBridge-regels die worden geactiveerd door afwijkingen in Firehose/OpenSearch of CloudWatch-alarmen om herstelacties te starten of incidenten aan te maken.
Praktisch probleemscenario
Airbnb ervaart periodieke pieken in API-fouten en -latentie in microservices die op EKS en Lambda zijn geïmplementeerd, met meerdere versies van mobiele apps in omloop. De operations-afdeling heeft behoefte aan bijna-realtime detectie per API-operatie, responscode en app-versie; snelle root cause analysis over traces en logs; geautomatiseerd herstel voor bekende foutpatronen; en audit trails die voldoen aan governance-eisen.
- Standaardiseer gestructureerde logging
- Implementeer EMF-gestructureerde JSON-logs in services (EKS, Lambda) met velden voor apiOperation, statusCode, appVersion, tenantId en latencyMs.
- Waarom: EMF maakt directe extractie van metrieken in CloudWatch mogelijk met lage overhead en ‘high-cardinality’-dimensies voor nauwkeurige alarmen.
- Maak CloudWatch Logs-metriekfilters aan
- Definieer voor elke service-loggroep metriekfilters die tellers verhogen per apiOperation, statusCode en appVersion.
- Waarom: Produceert metrieken per dimensie zonder extra codepaden, wat dashboards en bruikbare alarmen per API en clientversie mogelijk maakt.
- Bouw gelaagde CloudWatch-alarmen en een samengesteld alarm
- Alarmeer op p95-latentie, 5xx-rate en verzadiging (CPU, geheugen, concurrency/throttle). Maak een samengesteld alarm: LatencyHigh AND ErrorsHigh voor 2 van de 3 opeenvolgende perioden.
- Waarom: Vermindert ruis en focust op incidenten die impact hebben op de gebruiker.
- Implementeer X-Ray tracing met gerichte sampling
- Gebruik ADOT-collectors op EKS en actieve tracing voor Lambda. Definieer sampling-regels om alle fout-traces en een representatieve steekproef van succesvolle aanroepen vast te leggen, met een hogere sampling-rate voor nieuwe app-versies.
- Waarom: Garandeert zichtbaarheid van fouten en voldoende dekking voor performance-hotspots, terwijl de kosten beheersbaar blijven.
- Correleer met ServiceLens en Logs Insights
- Maak dashboards die metriek-widgets, de X-Ray service map en Logs Insights-query’s combineren (bijv. filter status >= 500 | stats count() by apiOperation, appVersion).
- Waarom: Correlatie in één enkel overzicht versnelt de diagnose van welke operatie en clientversie een regressie vertonen.
- Centraliseer logs via Firehose naar OpenSearch en S3
- Configureer abonnementsfilters naar een centrale Firehose met een Lambda-transformatie om te normaliseren, PII te redigeren en te verrijken met account/regio-informatie. Lever aan OpenSearch voor 7 dagen ‘hot search’ en aan S3 voor duurzame retentie en Athena-query’s.
- Waarom: Snelle, teamoverstijgende zoekmogelijkheden voor actuele problemen met goedkope historische analyse.
- Automatiseer detectie en herstel met EventBridge
- Maak EventBridge-regels voor statuswijzigingen van CloudWatch-alarmen en geselecteerde CloudTrail write API-events (bijv. wijzigingen in security groups). Targets: Lambda voor veilige rollbacks (bijv. feature flags terugdraaien) en Step Functions voor herstelacties in meerdere stappen.
- Waarom: Event-driven control loops verkorten de MTTR (Mean Time To Repair) en dwingen ‘guardrails’ af.
- Integreer AWS Health en afhandeling van onderhoud
- Voeg EventBridge-regels toe voor aws.health-events die EC2, EKS of het netwerk beïnvloeden. Target SSM Automation om nodes te ‘cordon/drainen’ of verkeer te verplaatsen.
- Waarom: Proactieve mitigatie van geplande of operationele problemen vermindert downtime.
- Versterk governance met een CloudTrail org trail en integriteitscontrole
- Activeer een organization, multi-Region trail met data events voor S3 en Lambda, SSE-KMS-encryptie en validatie van logbestanden. Stream naar CloudWatch Logs en OpenSearch voor het opsporen van afwijkingen en voor onderzoek.
- Waarom: Een complete, fraudebestendige audit voldoet aan compliance-eisen en versnelt RCA (Root Cause Analysis).
- Notificaties en Ops-integratie
- Stuur kritieke events door naar SNS en on-call systemen, open OpsCenter OpsItems met gekoppelde runbooks, en voeg tags toe aan alarmen voor eigenaarschap en ernst.
- Waarom: Duidelijk eigenaarschap en geautomatiseerde runbooks verbeteren de kwaliteit en snelheid van de respons.
Dit ontwerp is gekozen om metrieken met lage latentie en rijke dimensies (CloudWatch + EMF) te combineren met diepgaande trace-correlatie (X-Ray + ServiceLens), zoekopdrachten op grote schaal (OpenSearch + S3/Athena), event-driven herstel (EventBridge + Lambda/SSM/Step Functions) en auditeerbare governance (CloudTrail met integriteitscontrole). Het balanceert kosten en nauwkeurigheid met sampling, retentielagen en gerichte alarmen die de daadwerkelijke impact op de gebruiker weerspiegelen.
← Infrastructuur als Code en Configuratiebeheer · Alle domeinen · Beveiliging →
Oefen deze vragen → · Getimede oefening op ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Slaag voor je examen →