Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

Bevaka din server

Modul 8: Säkerhetskopior och övervakning · Lästid: 10 minuter

Lärandemål: Efter den här lektionen kan du bestämma vad du bevakar på din server (utifrån och inifrån), vilka tröskelvärden som är rimliga och hur du ser till att ett larm verkligen når dig utan att du drunknar i larm.

Nyckelbegrepp: bevakning utifrån, bevakning inifrån, drifttid (uptime), http-kontroll, portkontroll, certifikatets giltighetstid, diskutrymme, minne, load, heartbeat (dead man's switch), tröskelvärde, larmkanal, larmtrötthet, leverantörens grafer

Varför bevaka?

Utan bevakning får du höra om problem från dina kunder, eller inte alls. En webbplats som har legat nere sedan i lördags, ett certifikat som gick ut, en disk som blev full, en säkerhetskopia som i tysthet har misslyckats i tre veckor: allt sådant hade du kunnat upptäcka i tid. Bevakning betyder att ett program hela tiden håller koll och varnar dig när något inte stämmer.

En bra bevakning svarar på två frågor:

  1. Fungerar det för användaren? Det mäter du utifrån.
  2. Kommer något snart att gå fel? Det mäter du inifrån: disk, minne, uppdateringar, säkerhetskopior.

Utifrån: det användaren ser

Bevakning utifrån körs på en annan maskin än din server, helst hos en annan leverantör. Det är logiskt: om din server ligger nere kan den inte själv varna längre.

KontrollVadVarför
http(s)hämtar en sida varje minut och kontrollerar statuskoden (200) och eventuellt ett ord på sidanwebbplatsen fungerar verkligen, inte bara servern
portansluter till exempelvis port 22 eller 443tjänsten lyssnar och går att nå
pingskickar ett ICMP-paketservern lever (men säger inget om din webbplats)
certifikatläser certifikatet och dess utgångsdatumvarnar i god tid innan det går ut
DNSfrågar efter A-postennamnet pekar fortfarande på rätt server

Certifikatet förtjänar extra uppmärksamhet. Let's Encrypt-certifikat gäller kort tid och förnyas automatiskt (lektion 7.3), men om förnyelsen misslyckas i tysthet märker du det först när besökarna får en varning. Let's Encrypt skickar sedan juni 2025 inga påminnelsemejl längre om certifikat som håller på att gå ut, och rekommenderar själva bevakning. En certifikatkontroll som varnar när mindre än 14 dagars giltighet återstår är alltså ingen lyx.

Ett vanligt program för att göra detta själv är Uptime Kuma, som du installerar i en container i lektion 9.4. Placera det helst inte på samma server som det ska bevaka, eller kombinera det med en andra, extern kontroll. Det finns också tjänster från tredje part som gör samma sak. Välj en som passar dig, och tänk på var de har sitt säte om larmen kan innehålla uppgifter om dina kunder.

Inifrån: det som snart går fel

Vissa problem ser du utifrån först när det är för sent. Dem mäter du på själva servern:

VadHur du ser detEtt rimligt tröskelvärde
Diskutrymmedf -hvarna över 80 %, larma över 90 %
Inoder (antal filer)df -isamma; en disk kan vara "full" med miljontals små filer
Minnefree -h, meddelanden "Out of memory" i journalctl -kvarje OOM-meddelande är en signal
Loaduptime, topunder lång tid högre än antalet vCPU:er
Misslyckade tjänstersystemctl --failed (lektion 6.1)varje misslyckad tjänst
Uppdateringar och omstart/var/run/reboot-required, apt list --upgradable (lektion 4.2)säkerhetsuppdatering äldre än två dagar
Säkerhetskopiorslutet av ditt skript för säkerhetskopiering (lektion 8.2)varje körning som misslyckas eller uteblir

Det här kan du göra med ett enkelt skript och en timer (lektion 6.3) som skickar ett larm när ett värde överskrids, eller med ett övervakningsprogram med en agent på servern (kända exempel med öppen källkod är Netdata och kombinationen Prometheus med node_exporter). Börja i liten skala: disk, misslyckade tjänster och säkerhetskopior fångar de flesta problem.

Graferna i din leverantörs kontrollpanel (processor, minne, nätverk, disk över allt från en dag till ett år) är ett bra komplement för att se trender: växer din disk med några procent varje månad vet du när den blir full. Hos WebOké finns de på VPS-sidan, och hos andra leverantörer på liknande ställen. De skickar oftast inga larm, så de ersätter inte bevakning.

Heartbeat: larma när ingenting händer

Vissa saker behöver du bevaka just för att en signal uteblir. Nattens säkerhetskopia är det bästa exemplet: om skriptet inte ens startar (timern avstängd, servern nere, skriptet trasigt) kommer det inte heller något felmeddelande.

Lösningen kallas heartbeat eller dead man's switch: din bevakning väntar sig en signal varje dag. I slutet skickar skriptet för säkerhetskopiering, bara om allt har lyckats, en liten http-förfrågan till en fast, hemlig URL hos din bevakning:

restic backup ... && restic check && curl -fsS -m 10 https://status.example.com/api/push/Xyz123abc?status=up >/dev/null

Uteblir signalen en dag får du ett larm. Uptime Kuma har monitortypen Push för detta, och det finns också program du kan köra själv, som Healthchecks. På så sätt bevakar du med en enda rad om din säkerhetskopiering verkligen kördes.

Larm som når fram, och inte för många

Ett larm som ingen läser är ingen bevakning. Ordna tre saker:

  1. En larmkanal som du verkligen ser: en pushnotis i telefonen, en chattkanal, sms. Mejl går bra, men bara om din server kan skicka mejl på ett tillförlitligt sätt, och mejl missas lätt. Använd två kanaler för de viktigaste larmen.
  2. Inte beroende av det du bevakar. Om din server själv skickar mejlet om en full disk kommer det inte fram när disken är full. Bevakning utifrån och en heartbeat fångar upp det.
  3. Få, men befogade. Får du tio larm om dagen som du inte gör något åt börjar du ignorera dem, även det enda som spelar roll. Det kallas larmtrötthet. Ställ in tröskelvärdena så att ett larm betyder att du måste göra något. Låt ett larm gå först efter några misslyckade kontroller i rad (till exempel tre gånger), så att ett enda förlorat paket inte väcker dig.

Testa dina larm: stäng av en tjänst en stund och se om larmet kommer, och hur lång tid det tog.

Det här ska du inte göra

  • Bevakningssidor som är öppna för alla med interna namn och adresser. En offentlig statussida går bra, men visa bara det som besökarna får veta.
  • Ett administratörskonto i din bevakning utan starkt lösenord och 2FA. Den som kommer in i din bevakning kan stänga av larmen.
  • Agenter med fler rättigheter än nödvändigt. En bevakningsagent behöver oftast inte vara root.

Sammanfattning

  • Bevaka utifrån om det fungerar (http, port, certifikat, DNS), från en annan maskin, och inifrån om något snart går fel (disk, minne, tjänster, uppdateringar, säkerhetskopior).
  • Certifikat förtjänar en egen kontroll: Let's Encrypt skickar sedan juni 2025 inga påminnelsemejl längre.
  • En heartbeat larmar när en signal uteblir, perfekt för säkerhetskopior och schemalagda jobb.
  • Välj en larmkanal som du verkligen ser, oberoende av själva servern, och ställ in tröskelvärdena så att varje larm kräver en åtgärd.
  • Leverantörens grafer visar trender, men skickar oftast inga larm.

Quiz

1. Varför körs bevakning utifrån på en annan maskin än själva servern?



2. Ditt skript för säkerhetskopiering skickar ett mejl vid fel. I tre veckor kom inget mejl, men ingen säkerhetskopia gjordes heller. Vad hade fångat upp det?



3. Din bevakning skickar dussintals larm varje dag om kortvariga toppar. Vad är risken?



4. Vilken kontroll varnar bäst i tid för ett certifikat som inte förnyades automatiskt?



5. df -h visar 45 % ledigt, men din server kan inte skapa nya filer. Vad kontrollerar du?



Uppgift

Uppgift O8.3: Din bevakningslista. Gör en bevakningslista för din egen server: vilka kontroller utifrån (med vilket intervall och varifrån), vilka inifrån (med tröskelvärden), vilken eller vilka heartbeats, och via vilken kanal larmen kommer. Ställ in minst en extern http- eller certifikatkontroll och en heartbeat (till exempel för din säkerhetskopiering) och testa larmet genom att stänga av en tjänst en stund. Anteckna hur lång tid det tog innan larmet kom.

Uppgift O8.3: Din bevakningslista

Den här uppgiften gör du själv; ingen kontrollerar den. Bocka av vad du har gjort och markera uppgiften som klar.




Dina bockar och anteckningar sparas bara i den här webbläsaren; vi skickar dem ingenstans. Är du inloggad sparar vi i Mina kurser bara att du har gjort uppgiften.

Läs mer

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…