Modul 8 · 8.3
Overvåk serveren din
Modul 8: Sikkerhetskopier og overvåking · Lesetid: 10 minutter
Læringsmål: Etter denne leksjonen kan du bestemme hva du overvåker på serveren din (utenfra og innenfra), hvilke terskler som gir mening, og hvordan du sørger for at et varsel faktisk når deg uten at du drukner i varsler.
Nøkkelbegreper: overvåking utenfra, overvåking innenfra, oppetid, http-kontroll, portkontroll, sertifikatutløp, diskplass, minne, load, heartbeat (dead man's switch), terskel, varslingskanal, varselstretthet, grafer fra leverandøren
Hvorfor overvåke?
Uten overvåking hører du om problemer fra kundene dine, eller ikke i det hele tatt. Et nettsted som har vært nede siden lørdag, et sertifikat som har utløpt, en disk som har blitt full, en sikkerhetskopi som i tre uker har feilet i det stille: alt dette er ting du kunne ha sett i tide. Overvåking betyr at et program følger med hele tiden og varsler deg når noe ikke stemmer.
God overvåking svarer på to spørsmål:
- Fungerer det for brukeren? Det måler du utenfra.
- Går det snart galt? Det måler du innenfra: disk, minne, oppdateringer, sikkerhetskopier.
Utenfra: det brukeren ser
Overvåking utenfra kjører på en annen maskin enn serveren din, helst hos en annen leverandør. Det er logisk: hvis serveren din er nede, kan den ikke varsle selv.
| Kontroll | Hva | Hvorfor |
|---|---|---|
| http(s) | henter en side hvert minutt og sjekker statuskoden (200) og eventuelt et ord på siden | nettstedet fungerer faktisk, ikke bare serveren |
| port | kobler til for eksempel port 22 eller 443 | tjenesten lytter og kan nås |
| ping | sender en ICMP-pakke | serveren lever (men sier ingenting om nettstedet ditt) |
| sertifikat | leser sertifikatet og utløpsdatoen | varsler i god tid før det utløper |
| DNS | slår opp A-recorden | navnet peker fortsatt til riktig server |
Sertifikatet fortjener ekstra oppmerksomhet. Let's Encrypt-sertifikater er gyldige i kort tid og fornyes automatisk (leksjon 7.3), men hvis fornyelsen feiler i det stille, merker du det først når besøkende får en advarsel. Let's Encrypt sender siden juni 2025 ikke lenger påminnelser på e-post om sertifikater som snart utløper, og anbefaler selv overvåking. En sertifikatkontroll som varsler når det er under 14 dager igjen av gyldigheten, er derfor ingen luksus.
Et vanlig program for å gjøre dette selv er Uptime Kuma, som du installerer i en container i leksjon 9.4. Sett det helst ikke på den samme serveren som det skal overvåke, eller kombiner det med en ekstra, ekstern kontroll. Det finnes også tredjepartstjenester som gjør det samme. Velg en som passer deg, og sjekk hvor de holder til hvis varslene kan inneholde opplysninger om kundene dine.
Innenfra: det som snart går galt
Noen problemer ser du utenfra først når det er for sent. Dem måler du på selve serveren:
| Hva | Hvordan du ser det | En fornuftig terskel |
|---|---|---|
| Diskplass | df -h | advarsel over 80 %, alarm over 90 % |
| Inoder (antall filer) | df -i | det samme; en disk kan være "full" av millioner av små filer |
| Minne | free -h, meldinger om "Out of memory" i journalctl -k | hver OOM-melding er et signal |
| Load | uptime, top | over lengre tid høyere enn antall vCPU-er |
| Mislykkede tjenester | systemctl --failed (leksjon 6.1) | hver mislykket tjeneste |
| Oppdateringer og omstart | /var/run/reboot-required, apt list --upgradable (leksjon 4.2) | sikkerhetsoppdatering eldre enn to dager |
| Sikkerhetskopier | slutten av sikkerhetskopiskriptet ditt (leksjon 8.2) | hver kjøring som feiler eller uteblir |
Dette kan du gjøre med et enkelt skript og en timer (leksjon 6.3) som sender et varsel når en terskel overskrides, eller med et overvåkingsprogram med en agent på serveren (kjente eksempler med åpen kildekode er Netdata og kombinasjonen Prometheus med node_exporter). Start i det små: disk, mislykkede tjenester og sikkerhetskopier fanger opp de fleste problemene.
Grafene i panelet til leverandøren din (prosessor, minne, nettverk og disk over alt fra en dag til et år) er et godt supplement for å se trender: vokser disken din noen prosent hver måned, vet du når den blir full. Hos WebOké finner du dem i VPS-skjermbildet, og hos andre leverandører finnes noe tilsvarende. De sender vanligvis ikke varsler, så de erstatter ikke overvåking.
Heartbeat: varsle når ingenting skjer
Noen ting må du nettopp overvåke ved at et signal uteblir. Nattens sikkerhetskopi er det beste eksemplet: hvis skriptet ikke en gang starter (timeren er av, serveren er av, skriptet er ødelagt), kommer det heller ingen feilmelding.
Løsningen heter en heartbeat eller dead man's switch: overvåkingen din forventer et livstegn hver dag. Sikkerhetskopiskriptet sender til slutt, bare hvis alt gikk bra, en liten http-forespørsel til en fast, hemmelig URL hos overvåkingen din:
restic backup ... && restic check && curl -fsS -m 10 https://status.example.com/api/push/Xyz123abc?status=up >/dev/nullKommer ikke livstegnet en dag, får du et varsel. Uptime Kuma har monitortypen Push for dette, og det finnes også programmer du kan drifte selv, som Healthchecks. Slik overvåker du med én linje om sikkerhetskopien faktisk kjørte.
Varsler som kommer fram, og ikke for mange
Et varsel som ingen leser, er ikke overvåking. Ordne tre ting:
- En varslingskanal du faktisk ser: en push-melding på telefonen, en chattekanal, SMS. E-post går an, men bare hvis serveren din kan sende e-post pålitelig, og e-post blir lett oversett. Bruk to kanaler for de viktigste varslene.
- Ikke avhengig av det du overvåker. Hvis serveren selv sender e-posten om full disk, kommer den ikke når disken er full. Overvåking utenfra og en heartbeat fanger opp dette.
- Få, men berettigede. Får du ti varsler hver dag som du ikke gjør noe med, begynner du å ignorere dem, også det ene som betyr noe. Det kalles varselstretthet. Still inn tersklene slik at et varsel betyr: du må gjøre noe. La et varsel først gå av etter noen mislykkede kontroller på rad (for eksempel tre), slik at én tapt pakke ikke vekker deg.
Test varslene dine: slå av en tjeneste en liten stund, og se om varselet kommer og hvor lang tid det tok.
Dette bør du ikke gjøre
- Overvåkingssider som er åpne for alle med interne navn og adresser. En offentlig statusside er greit, men vis bare det besøkende får vite.
- En administratorkonto i overvåkingen uten sterkt passord og 2FA. Den som kommer inn i overvåkingen din, kan slå av varsler.
- Agenter med flere rettigheter enn nødvendig. En overvåkingsagent trenger vanligvis ikke være root.
Oppsummering
- Overvåk utenfra om det fungerer (http, port, sertifikat, DNS), fra en annen maskin, og innenfra om det snart går galt (disk, minne, tjenester, oppdateringer, sikkerhetskopier).
- Sertifikater fortjener en egen kontroll: Let's Encrypt sender siden juni 2025 ikke lenger påminnelser på e-post.
- En heartbeat varsler når et livstegn uteblir, ideelt for sikkerhetskopier og planlagte jobber.
- Velg en varslingskanal du faktisk ser, uavhengig av selve serveren, og still inn tersklene slik at hvert varsel krever handling.
- Grafene fra leverandøren viser trender, men sender vanligvis ikke varsler.
Quiz
Oppgave
Oppgave O8.3: Overvåkingslisten din. Lag en overvåkingsliste for din egen server: hvilke kontroller utenfra (med hvilket intervall og hvorfra), hvilke innenfra (med terskler), hvilke heartbeats, og via hvilken kanal varslene kommer. Sett opp minst én ekstern http- eller sertifikatkontroll og én heartbeat (for eksempel for sikkerhetskopien din), og test varselet ved å slå av en tjeneste en liten stund. Noter hvor lang tid det tok før varselet kom.
Oppgave O8.3: Overvåkingslisten din
Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.
Kontroll utenfra fra en annen maskin (helst hos en annen leverandør), hvert 1. til 5. minutt med noen gjentakelser. Sertifikat 14 dager, disk 80/90 %, systemctl --failed, heartbeat bare ved en vellykket sikkerhetskopi. Varsler som ikke krever handling: fjern dem eller hev terskelen.
Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.
Les mer
- Har du ikke lenger tilgang til VPS-en din? Dette gjør du nå
- Let's Encrypt, Expiration Notification Service Has Ended: https://letsencrypt.org/2025/06/26/expiration-notification-service-has-ended
- Uptime Kuma (GitHub): https://github.com/louislam/uptime-kuma
