Et system som tilsynelatende fungerer, kan likevel levere en dårlig brukeropplevelse – uten at noen oppdager det før det er for sent. Denne artikkelen gir deg en praktisk gjennomgang av hva du bør måle, hvilke terskler du bør sette, og hvilke verktøy skyleverandørene tilbyr.
God overvåkning handler om å få innsikt i hvordan infrastruktur og applikasjoner faktisk oppfører seg i produksjon, slik at problemer kan oppdages og løses før de rammer brukerne.
Overvåkning av infrastruktur
De grunnleggende elementene for infrastruktur er servere, lagring og nettverk. For å kunne overvåke ytelse og stabilitet for beregningsressurser, er det viktig å følge med på sentrale indikatorer. De sentrale indikatorene er prosessor (CPU), minne, lagring og nettverk.
- CPU: Hvor mye prosessorkraft brukes?
- Minne: Hvor mye minne brukes?
- Lagring: Hvor mange lese- og skriveoppgaver gjennomføres per sekund?
- Nettverk: Hvor mye inngående og utgående trafikk er det?
Beregningsressurser (Compute)
Utnyttelsen av CPU kan gi en indikasjon på om applikasjonen eller infrastrukturen er i ferd med å bli overbelastet. Minnebruk gir innsikt i hvor mye av tilgjengelig minne som blir brukt, ettersom høy bruk kan føre til redusert ytelse eller ustabilitet. Nettverkstrafikk er relevant for funksjonaliteten til applikasjoner og integrasjoner.
For å kunne reagere tidlig på avvik bør du definere terskler for varsling. Advarsler kan for eksempel være at bruken av CPU overstiger 75 prosent over en periode på ti minutter, mens kritiske varsler utløses når den overstiger 90 prosent i mer enn fem minutter. Du kan konfigurere tilsvarende varslinger for minnebruk. Slike terskler gjør det mulig å skille mellom midlertidige stigninger og reelle problemer for kapasitet.
Når et varsel utløses, er første steg å identifisere årsaken til økt ressursbruk, for eksempel ved å undersøke hvilken prosess eller tjeneste som bruker mest. Dersom belastningen skyldes mangel på kapasitet, kan det være nødvendig å skalere løsningen enten vertikalt eller horisontalt.
Lagring
Overvåking av handlinger knyttet til lagring kan avdekke flaskehalser. For at ytelsen skal være stabil og forutsigbar, er det viktig å overvåke sentrale målinger. Sentrale målinger for lagring er:
- Diskplassutnyttelse: andel av tilgjengelig diskplass som er i bruk
- IOPS: antall lese- og skrivehandlinger som utføres per sekund
- Gjennomstrømming: datamengde som kan leses eller skrives per sekund
- Latens: responstid for handlinger mot lagring
Du kan for eksempel konfigurere varsling for når bruken for lagringsløsningen overstiger 90 prosent, i tillegg til varsling for når nivåene til IOPS nærmer seg definerte grenser for lagringsløsningen. Hvis du opplever utfordringer med lagring, er det viktig å iverksette tiltak. Første steg kan være å rydde opp i gamle filer, logger eller midlertidige data som ikke lenger er nødvendige for drift. Dersom dette ikke er tilstrekkelig, kan det være aktuelt å øke størrelsen på lagringsløsningen for å sikre kapasiteten. For data som er sjeldent i bruk, bør det vurderes rimeligere lagringsløsninger for arkivering, slik at kostnader reduseres samtidig som den primære lagringen avlastes.
Nettverk
For å oppdage kapasitetsproblemer og feil tidlig må nettverket overvåkes kontinuerlig. Dette bidrar til stabil kommunikasjon mellom systemer, tjenester og brukere. Viktige målinger i forbindelse med dette er:
- Båndbredde: hvor stor andel av tilgjengelig nettverkskapasitet som er i bruk
- Tap av pakker: indikasjon på hvor mange datapakker som går tapt under overføring
- Latenstid: måler forsinkelsen i kommunikasjonen
- Antall forbindelser: avdekker overbelastning, feil på konfigurasjon eller ustabile nettverkskomponenter
Tydelige terskler for varsling kan fange avvik før de påvirker tjenestene. Du kan for eksempel konfigurere varsling som utløser når båndbredden overstiger 75 prosent i en lengre periode. Et annet eksempel er varsling for tap av pakker eller at latenstiden er mer enn det som er normalt.
Verktøy for overvåkning av infrastruktur
Leverandørene fra rammeavtalen for skybaserte infrastruktur- og plattformtjenester (CIPS) tilbyr verktøy som kan tas i bruk for overvåkning.
| Leverandør | Verktøy | Beskrivelse |
|---|---|---|
| AWS | CloudWatch | Samler målinger for CPU, minne, lagring og nettverk |
| CloudWatch Logs | Innsamling av logger for systemer og drift | |
| Google Cloud | Cloud Monitoring | Overvåking av infrastruktur |
| Cloud Logging | Innsamling og analyse av logger knyttet til infrastruktur | |
| Oracle Cloud | OCI Monitoring Service | Samler målinger for CPU, minne, lagring og nettverk |
| OCI Logging Analytics | Innsamling og analyse av logger knyttet til infrastruktur | |
| IBM Cloud | Monitoring with Sysdig | Samler målinger og varslinger for infrastruktur |
| IBM Log Analysis | Analyse av logger knyttet til infrastruktur |
Overvåkning av applikasjoner
Selv om infrastrukturen fungerer som forventet, kan applikasjonen fortsatt oppleves som treg. Overvåkning av applikasjoner innebærer å se på applikasjonens ytelse, spore transaksjoner og identifisere flaskehalser. Det gir også innsikt i hvordan applikasjonen oppleves i produksjonsmiljø.
Målinger
Følgende målinger kan brukes for applikasjoner:
- Responstid måler hvor lang tid en forespørsel tar fra start til slutt.
- Gjennomstrømming måles i antall forespørsler per sekund eller transaksjoner per minutt, og viser hvor mye belastning applikasjonen håndterer.
- Feilrate angir en prosentandel for forespørsler som feiler.
- ((Apdex+Application Performance Index – måling av hvor fornøyde brukere er med ytelsen til en applikasjon. Den gir en poengsum basert på hvor raskt applikasjonen svarer på forespørsler.)) måler brukertilfredshet.
Distribuert sporing
Distribuert sporing følger en forespørsel gjennom flere tjenester i et system, for eksempel fra en applikasjon til database via tjenester mellom dem. Dette viser hvor tiden går, og hvor eventuelle flaskehalser oppstår. Hver forespørsel består av det som kalles «Trace», som representerer hele forespørselen, mens hvert segment av forespørselen kalles en «Span».
Et eksempel på en distribuert sporing kan være en forespørsel som tar totalt 950 millisekunder, hvor server for webtjeneste bruker 150 millisekunder, applikasjonsserver tar 300 millisekunder og databasen tar 500 millisekunder. Her identifiseres databasen som flaskehals, og tiltak kan rettes mot den.
Verktøy for overvåkning av applikasjoner
Leverandørene fra rammeavtalen for skybaserte infrastruktur- og plattformtjenester (CIPS) tilbyr også verktøy for overvåkning av applikasjoner.
| Leverandør | Verktøy | Beskrivelse |
|---|---|---|
| AWS | X-Ray | Distribuert sporing for feilsøking i applikasjoner |
| CloudWatch ServiceLens/Application Signals | Gir innsikt i applikasjonene med målinger, sporing og logging | |
| Google Cloud | Cloud Trace | Distribuert sporing av forespørsler |
| Cloud Profiler | Profilering av applikasjonenes ytelse over tid | |
| Oracle Cloud | Application Performance Monitoring | Overvåker applikasjonens ytelse |
| OCI Service Connector Hub | Kobler logger og hendelsesdata mellom tjenester | |
| IBM Cloud | IBM Cloud Observability | Gir innsikt i applikasjonene med målinger, sporing og logging |