De tre søjler i cloud monitoring
Infrastrukturovervågning
Dette er fundamentet: compute (CPU, hukommelse, disk I/O), storage (throughput, IOPS, latens) og den underliggende platformssundhed (hypervisor, container runtime, serverless execution environment). Enhver cloud-udbyder eksponerer disse nativt:
- AWS CloudWatch — metrikker for EC2, RDS, EBS, Lambda samt custom metrics via CloudWatch-agenten eller StatsD
- Azure Monitor — platformsmetrikker indsamles automatisk for alle Azure-ressourcer, med Log Analytics workspace til dybere forespørgsler (KQL)
- GCP Cloud Monitoring (tidl. Stackdriver) — indsamler automatisk metrikker for Compute Engine, GKE, Cloud SQL og Cloud Functions
Fælden her er at overvåge gennemsnit. En CPU med et gennemsnit på 45 % ser sund ud, men hvis den spiketil 98 % i 10 sekunder hvert minut, oplever brugerne køforsinkelser, som gennemsnittet skjuler. Overvåg altid percentiler (p95, p99) for latens- og mætningsrelaterede metrikker.
Application Performance Monitoring (APM)
APM instrumenterer jeres kode til at tracke forespørgsler ende-til-ende på tværs af microservices, databaser, caches og eksterne API'er. Standardsignalerne er RED-metrikkerne: Request rate, Error rate og Duration (latensfordeling).
OpenTelemetry er blevet de facto-standarden for instrumentering. Det er leverandørneutralt, understøtter auto-instrumentering i Java, Python, .NET, Go, Node.js og mere, og eksporterer til enhver backend — Datadog, Dynatrace, Grafana Tempo, AWS X-Ray, Azure Application Insights eller GCP Cloud Trace. Hvis I starter fra bunden i 2026, så instrumentér med OpenTelemetry SDK'er og vælg jeres backend separat. Det undgår vendor lock-in på instrumenteringslaget, som er den sværeste del at fjerne igen.
Det, der operationelt betyder noget: distribuerede traces, der viser, at en checkout-forespørgsel brugte 12 ms i API-gatewayen, 45 ms i ordreservicen, 800 ms på at vente på en tredjeparts betalings-API og 3 ms på at skrive til DynamoDB. Uden denne opdeling er "checkout er langsomt" alt, man ved.
Netværksovervågning
Netværksobserverbarhed er det område, hvor de fleste cloud monitoring-strategier har en blind vinkel. Inden i en VPC er man afhængig af flow logs (VPC Flow Logs på AWS, NSG Flow Logs på Azure, VPC Flow Logs på GCP) for at se trafikmønstre, droppede pakker og trafik-volumener på tværs af AZ'er og regioner.
For hybride opsætninger — Direct Connect, ExpressRoute, Cloud Interconnect — er det kritisk at overvåge tunnelens sundhed, BGP-sessionens tilstand og jitter/pakketab på tværs af forbindelsen. En forringet Direct Connect-kreds viser sig ikke i jeres applikationsmetrikker, før latensen fordobles og kunderne ringer.
Værktøjer som Kentik, ThousandEyes (nu en del af Cisco) og de native cloud-netværksovervågningstjenester håndterer dette godt. Hvis jeres miljø er single-cloud og simpelt, rækker native værktøjer. Multi-cloud eller hybrid? Så har I brug for et dedikeret netværksobserverbarhedslag.
Metrikker der reelt betyder noget i produktion
Ikke alle metrikker fortjener en alarm. Her er, hvad vores NOC prioriterer, rangeret efter operationel værdi:
| Metrik | Hvorfor den er vigtig | Vejledende alarmtærskel |
|---|---|---|
| p95/p99-latens | Repræsenterer oplevelsen for jeres langsomste (og ofte mest værdifulde) brugere | >2× baseline i 5 minutter |
| Fejlrate (5xx) | Direkte indikator for brudt funktionalitet | >0,5 % af totale forespørgsler i 2 minutter |
| Mætning (CPU/Memory/Disk) | Forudsiger forestående fejl, før den sker | >85 % vedvarende i 10 minutter |
| Request Rate (RPS) | Pludselige fald signalerer upstream-problemer eller fejldirigeret trafik | >30 % afvigelse fra forudsagt baseline |
| Time to First Byte (TTFB) | Brugervendt performance-proxy, især for globale applikationer | >500 ms ved CDN-edge |
| DNS-opløsningstid | Ofte overset; et langsomt DNS-opslag tilføjer latens til hver forespørgsel | >100 ms gennemsnit |
| Replikationsforsinkelse | For databaser (RDS, Cloud SQL, Cosmos DB) — risiko for datainkonsistens | >5 sekunder for transaktionelle workloads |
| Container Restart Count | OOMKilled- eller CrashLoopBackOff-mønstre signalerer fejlkonfiguration af ressourcer | >3 genstarter på 15 minutter |
USE-metoden (Utilization, Saturation, Errors) fungerer godt til infrastrukturressourcer. RED-metoden (Rate, Errors, Duration) fungerer godt til services. Brug begge. De supplerer hinanden — USE fortæller om maskinen, RED fortæller om det arbejde, maskinen udfører.
Sammenligning af værktøjer: Native vs. tredjepart
Native cloud monitoring-værktøjer
| Feature | AWS CloudWatch | Azure Monitor | GCP Cloud Monitoring |
|---|---|---|---|
| Automatisk indsamlede metrikker | Ja (basale) | Ja (platformsmetrikker) | Ja (basale) |
| Custom metrics | Ja (CloudWatch API / embedded metric format) | Ja (custom metrics API) | Ja (custom metrics API) |
| Logaggregering | CloudWatch Logs / Logs Insights | Log Analytics (KQL) | Cloud Logging |
| Distribueret tracing | X-Ray | Application Insights | Cloud Trace |
| Alarmering | CloudWatch Alarms + SNS | Action Groups + Logic Apps | Alerting Policies + Pub/Sub |
| Dashboards | CloudWatch Dashboards | Azure Dashboards / Workbooks | Cloud Monitoring Dashboards |
| Omkostninger ved skala | Dyre (custom metrics, log ingestion) | Moderate (Log Analytics-ingestionspris) | Moderate |
Opsios vurdering: Native værktøjer er det rigtige udgangspunkt og forbliver essentielle for ressourcespecifikke metrikker, som tredjepartsværktøjer ikke kan indsamle (f.eks. Lambda concurrent executions, Azure Service Bus dead-letter counts). Men kører I workloads på tværs af to eller flere udbydere — hvilket ifølge Flexeras State of the Cloud-rapport langt de fleste virksomheder nu gør — så har I brug for et cross-cloud-lag.
Tredjeparts observerbarhedsplatforme
- Datadog — Stærkeste all-in-one: infrastruktur, APM, logfiler, synthetic monitoring, sikkerhedssignaler og FinOps-dashboards. Bredt integrationskatalog. Ulempe: omkostningerne skalerer aggressivt med antal hosts og custom metrics-kardinalitet.
- Dynatrace — AI-drevet rodårsagsanalyse (Davis AI) er oprigtigt nyttig for komplekse miljøer. Stærk auto-instrumentering for Java/.NET. Ulempe: licensmodellen kan være ugennemsigtig.
- Grafana Cloud (LGTM-stack) — Grafana + Loki (logfiler) + Tempo (traces) + Mimir (metrikker). Open source-kerne med managed hosting-mulighed. Bedst for teams, der ønsker kontrol og vil undgå vendor lock-in. Ulempe: kræver mere operationel ekspertise at tune og vedligeholde.
- New Relic — Generøst gratis-tier, forbrugsbaseret prissætning. God APM. Ulempe: netværksovervågning og infrastrukturdybde halter efter Datadog.
- Elastic Observability — Bygget på Elasticsearch. Stærkt, hvis I allerede kører ELK til logning. Ulempe: skalering af Elasticsearch-klynger til high-cardinality-metrikker er ikke-trivielt.
For omkostningsbevidste teams tilbyder Grafana LGTM-stacken med OpenTelemetry-instrumentering det bedste kontrol-til-omkostningsforhold. For teams, der vil have managed everything og er villige til at betale for det, er Datadog eller Dynatrace det pragmatiske valg.
Best Practices fra et 24/7 NOC
Disse er ikke teoretiske anbefalinger. De stammer fra mønstre, vi ser på tværs af hundredvis af overvågede workloads.
1. Definer SLO'er, før I definerer alarmer
En alarm uden et Service Level Objective er støj. Start med at definere, hvad "sundt" betyder for hver service — f.eks. "99,9 % af checkout-forespørgsler afsluttes inden for 800 ms med <0,1 % fejlrate." Sæt derefter alarmer på burn rate for det pågældende error budget. Googles SRE-bog formaliserede denne tilgang, og den virker. Multi-window, multi-burn-rate-alarmering (hurtig burn til pages, langsom burn til tickets) reducerer alarm fatigue dramatisk.
2. Centralisér i én samlet observerbarhedspipeline
I multi-cloud-miljøer er den største tidsspilde at skifte kontekst mellem tre forskellige konsoller. Brug OpenTelemetry Collector som en leverandørneutral telemetri-router: den modtager metrikker, traces og logfiler fra enhver kilde og eksporterer til jeres valgte backend(s). Det afkobler instrumentering fra lagring og holder jeres muligheder åbne.
3. Overvåg overvågningen
Jeres observerbarhedspipeline er selv infrastruktur. Hvis jeres Prometheus-server løber tør for disk, eller jeres Datadog-agent crasher lydløst, har I en blind vinkel præcis i det øjeblik, I har brug for synlighed. Kør et letvægts heartbeat/canary-check, der validerer, at jeres monitoring-stack ingesterer data. Vi kører syntetiske checks hvert 60. sekund, der pusher en kendt metrik og alarmerer, hvis den ikke ankommer inden for 120 sekunder.
4. Korreler omkostninger med performance-metrikker
Det er her, Cloud FinOps møder performance monitoring. En instans, der kører med 8 % CPU, er ikke et performance-problem — det er et omkostningsproblem. En instans, der kører med 92 % CPU, er ikke et omkostningsproblem — det er en pålidelighedsrisiko. Ved at vise begge dele i det samme dashboard kan teams træffe right-sizing-beslutninger med fuld kontekst. AWS Compute Optimizer, Azure Advisor og GCP Recommender leverer native right-sizing-forslag, men de mangler applikationsniveau-kontekst. Overlag dem med jeres APM-data for brugbare anbefalinger.
5. Opbevar logfiler strategisk
At gemme enhver debug-log fra enhver container for evigt er den hurtigste vej til en sekscifret observerbarheds-regning. Opdel jeres retention i niveauer: hot storage (7–14 dage) til operationel fejlsøgning, warm storage (30–90 dage) til trendanalyse og cold/arkivlagring til compliance. GDPR kræver, at personoplysninger i logfiler håndteres med samme grundighed som data i databaser — maskér eller pseudonymisér PII i indsamlingslaget, ikke efter ingestion. Datatilsynet håndhæver dette aktivt, og det er vigtigt at dokumentere jeres databehandlingsgrundlag for overvågningsdata, der indeholder personoplysninger. NIS2's logningskrav for essentielle enheder betyder, at man heller ikke bare kan slette alt efter 7 dage. Design retentionspolitikker, der opfylder både operationelle og regulatoriske behov.
6. Instrumentér for regional performance
Betjener I brugere i både EU og Indien, skal I overvåge fra begge regioner. En service, der performer godt målt fra eu-north-1 (Stockholm), kan have 400 ms ekstra latens, når den tilgås fra ap-south-1 (Mumbai). Synthetic monitoring med checkpoints i Stockholm, Frankfurt, Mumbai og Bangalore giver jer bruger-perspektivets sandhed. Opsios NOC kører syntetiske checks fra flere geografier, præcis fordi regional forringelse er usynlig fra et enkelt udsigspunkt.
Overvågning på tværs af hybrid- og multi-cloud-miljøer
De fleste virksomheder er ikke single-cloud, uanset hvad deres officielle strategi siger. Ifølge Flexeras State of the Cloud har multi-cloud-adoption været det dominerende mønster i flere på hinanden følgende år. Overvågningsudfordringen multipliceres: metrikker har forskellige navne, forskellige granulariteter og forskellige API'er på tværs af udbydere.
Praktisk multi-cloud-overvågningsarkitektur
1. Indsamlingslag: Deploy OpenTelemetry Collectors i hvert miljø (AWS, Azure, GCP, on-premises). Konfigurér dem til at normalisere metriknavne og tilføje cloud-udbyder-tags.
2. Aggregeringslag: Routér al telemetri til en central backend — Datadog, Grafana Cloud eller en selvhostet Mimir/Loki/Tempo-stack.
3. Korrelationslag: Brug service maps og dependency graphs, der spænder på tværs af udbydere. En forespørgsel kan starte ved en Azure Front Door CDN, ramme en API kørende på AWS EKS og forespørge en database på GCP Cloud SQL. Uden et cross-cloud trace finder man aldrig flaskehalsen.
4. Alarmlag: Centraliseret alarmering med PagerDuty, Opsgenie eller Grafana OnCall som det samlede routingpunkt. Undgå cloud-native alarmsiloer — en Azure Action Group, der pager ét team, mens en CloudWatch Alarm pager et andet, fører til duplikeret indsats og oversete korrelationer.
Hybrid cloud-specifikt
For workloads der spænder over on-premises og cloud (almindeligt i produktion, sundhedssektoren og den offentlige sektor i Danmark), skal interconnectet overvåges som en førsteklasses borger. Direct Connect, ExpressRoute og Cloud Interconnect-kredsløb har SLA'er, men disse SLA'er dækker ikke jeres applikations følsomhed over for jitter. Implementér bidirektionelle latensprober på tværs af forbindelsen, og alarmér ved forringelse, før det påvirker reel trafik.
Compliance og datahåndtering
EU: NIS2 og GDPR
NIS2-direktivet, som har været gældende siden oktober 2024, kræver, at enheder i essentielle og vigtige sektorer implementerer passende risikostyringsforanstaltninger — hvilket eksplicit inkluderer overvågnings- og hændelsesdetekteringskapabiliteter. Jeres overvågningsarkitektur er revisionspligtig. Kan I ikke demonstrere, at I havde synlighed i hændelsen, bliver den regulatoriske dialog betydeligt vanskeligere. I Danmark håndhæver Center for Cybersikkerhed (CFCS) NIS2-kravene for kritisk infrastruktur, og Datatilsynet fører tilsyn med GDPR-aspekterne.
GDPR begrænser, hvor overvågningsdata kan lagres og behandles. Hvis jeres applikationslogfiler indeholder IP-adresser, bruger-ID'er eller sessionstokens, er disse logfiler personoplysninger under GDPR. At sende dem til en USA-hostet SaaS uden passende overførselsmekanismer (SCCs, tilstrækkelighedsafgørelser) er en compliance-risiko. Vælg monitoring-backends, der tilbyder EU-hostet databehandling, eller selvhost inden for EU-regioner. Grafana Cloud tilbyder EU-dedikerede klynger; Datadog tilbyder EU1 (Frankfurt) site. For danske virksomheder er eu-north-1 (Stockholm) og eu-central-1 (Frankfurt) de mest nærliggende AWS-regioner, mens Azure West Europe er det typiske valg.
Indien: DPDPA 2023
Digital Personal Data Protection Act (DPDPA) 2023 introducerer samtykkebaserede databehandlingsforpligtelser og krav til datalokalisering for visse kategorier. Overvågningsdata, der indeholder personlige identifikatorer for indiske datasubjekter, skal håndteres med omhu. Den praktiske konsekvens: overvåger I brugervendte applikationer, der betjener indiske kunder, skal I sikre, at jeres log-maskeringspipeline fjerner eller pseudonymiserer personoplysninger, inden de forlader indsamlingslaget.
Kom i gang med cloud monitoring: en praktisk sti
For teams, der er tidligt i deres monitoring-modenhed, er her en konkret sekvens — ikke en forsøg-på-alting-på-én-gang-øvelse:
Uge 1–2: Aktivér native monitoring for alle cloud-ressourcer. Slå CloudWatch detailed monitoring til (1-minuts intervaller), Azure Monitor diagnostics eller GCP Cloud Monitoring. Det er typisk én Terraform/Bicep/Config Connector-linje per ressource.
Uge 3–4: Instrumentér jeres tre mest kritiske services med OpenTelemetry. Deploy OTel Collector som en sidecar (Kubernetes) eller daemon (EC2/VM). Eksportér traces og metrikker til jeres valgte backend.
Måned 2: Definer SLO'er for disse tre services. Implementér error-budget-baseret alarmering. Forbind alarmer til PagerDuty eller Opsgenie med on-call-rotationer.
Måned 3: Tilføj synthetic monitoring fra mindst to geografiske lokationer — f.eks. eu-north-1 (Stockholm) og eu-central-1 (Frankfurt). Etablér baseline-dashboards. Påbegynd logcentralisering med retentionsniveauer.
Løbende: Udvid instrumentering til resterende services. Tilføj netværksovervågning. Integrér omkostningsdata. Gennemgå og justér alarmtærskler kvartalsvis — forældede tærskler er værre end ingen tærskler, fordi de træner teams til at ignorere alarmer.
Virtual Machine Monitors og cloud-performance
En virtual machine monitor (VMM), også kaldet en hypervisor, er det softwarelag, der styrer tildelingen af fysiske ressourcer — CPU, hukommelse, storage, netværk — til virtuelle maskiner. I cloud computing er hypervisoren (AWS Nitro, Azure Hyper-V, GCPs tilpassede KVM) fundamentet, der muliggør multi-tenancy. Fra et overvågningsperspektiv interagerer man sjældent direkte med hypervisoren på public cloud — udbyderen abstraherer den. Men man observerer dens effekter: "steal time" på en Linux-instans (%steal-metrikken i top eller sar) indikerer, at hypervisoren allokerer CPU-cykler til andre lejere. Hvis steal time konsekvent overstiger 5–10 %, oplever I noisy-neighbor-effekter og bør overveje dedicated eller bare-metal-instanser.
Cloud Logging vs. Cloud Monitoring: afklaring af forholdet
Logging og monitoring er adskilte, men indbyrdes afhængige discipliner. Monitoring besvarer "er der noget galt lige nu?" gennem realtidsmetrikker og alarmer. Logging besvarer "hvad skete der præcist?" gennem diskrete hændelsesposter. Traces tilføjer den tredje dimension: "hvordan flød forespørgslen gennem systemet?"
Det moderne begreb "observerbarhed" (observability) samler alle tre — metrikker, logfiler og traces — i en sammenhængende praksis. I værktøjstermer: CloudWatch Metrics + CloudWatch Logs + X-Ray; Azure Monitor Metrics + Log Analytics + Application Insights; GCP Cloud Monitoring + Cloud Logging + Cloud Trace. Eller med tredjeparts-stacks: Datadog Infrastructure + Logs + APM; Grafana Mimir + Loki + Tempo.
Det praktiske råd: byg ikke logging og monitoring som separate projekter med separate teams. De deler infrastruktur, deler kontekst og bruges sammen under enhver hændelse.
Ofte stillede spørgsmål
Hvordan måler man cloud-performance?
Mål cloud-performance med RED-metoden (Rate, Errors, Duration) for services og USE-metoden (Utilization, Saturation, Errors) for infrastruktur. Instrumentér applikationer med distribueret tracing (OpenTelemetry), indsaml infrastrukturmetrikker via native cloud-agenter, og sæt baselines for p95-latens, fejlrate og tilgængelighed. Synthetic monitoring tilføjer en udefra-og-ind-validering af, at reelle brugere kan nå jeres endpoints inden for SLA-tærsklerne.
Hvad er de tre dele af cloud monitoring?
De tre dele er infrastrukturovervågning (compute, storage, netværkssundhed), application performance monitoring (transaktionsspor, fejlrater, svartider) og loghåndtering/analytics (centraliseret logaggregering, søgning og alarmering). Nogle frameworks tilføjer en fjerde — sikkerhedsovervågning — men i praksis indgår sikkerhedssignaler i den samme observerbarhedspipeline.
Hvad er 3-4-5-reglen i cloud computing?
3-4-5-reglen er en heuristik for backup og disaster recovery: opbevar 3 kopier af data, på 4 forskellige typer lagringsmedier, med 5 af disse kopier gemt off-site eller i en anden region. Selvom det oprindeligt er en retningslinje for databeskyttelse, påvirker det direkte overvågningsdesignet, fordi man løbende skal verificere replikationssundhed, RPO-overholdelse og regional failover-parathed.
Hvad er de fem typer af monitoring?
De fem hyppigst nævnte typer er: infrastrukturovervågning, application performance monitoring (APM), netværksovervågning, sikkerhedsovervågning (SIEM/SOC) og real-user/synthetic monitoring. I en cloud-kontekst overlapper disse kraftigt — en latensstigning kan skyldes et netværksproblem, en applikationsfejl eller et noisy-neighbor-problem på delt infrastruktur — og det er netop derfor, at samlede observerbarhedsplatforme erstatter siloopdelte værktøjer.
Hvad er forskellen mellem cloud logging og cloud monitoring?
Monitoring indsamler tidsseriebaserede metrikker (CPU, latens, fejltællinger) og udløser alarmer, når tærskler overskrides. Logging registrerer diskrete hændelsesposter — applikationsfejl, adgangslogs, audit-spor — som man søger i efterfølgende. I praksis supplerer de to hinanden: en alarm udløses fra en overvågningsmetrik, og ingeniørerne skifter til logfiler for at diagnosticere grundårsagen. Moderne observerbarhed samler metrikker, logfiler og traces i ét samlet workflow.
