En VPS utan övervakning är som att köra bil utan instrumentbräda. Allt verkar fungera - tills det plötsligt inte gör det. Övervakning hjälper dig fånga problem innan de blir kritiska, planera kapacitet och förstå hur din server faktiskt används.
Den här guiden visar hur du övervakar din VPS, från inbyggda Linuxkommandon till automatiserade larm.
Varför övervakning är viktigt
Utan övervakning upptäcker du problem först när besökare klagar eller när du råkar logga in och ser att något är fel. Då kan skadan redan vara gjord - databaser kan ha kraschat, disken kan ha blivit full, eller tjänster kan ha legat nere i timmar.
Med övervakning kan du:
- Reagera på problem innan de påverkar besökare
- Se trender i resursanvändning och planera uppgraderingar
- Upptäcka ovanlig aktivitet som kan tyda på obehörig åtkomst
- Verifiera att backuper och schemalagda jobb faktiskt körs
- Bevisa drifttid om du har avtal med kunder
Grundläggande kommandon
Dessa kommandon finns på alla Linuxdistributioner och kräver ingen extra installation.
CPU och processer
top visar processer i realtid, sorterade efter resursanvändning:
top
Tryck q för att avsluta, M för att sortera efter minne, P för att sortera efter CPU.
htop är en mer lättläst variant med färger och musnavigering:
sudo apt install htop -y
htop
För en ögonblicksbild utan interaktivt läge:
top -bn1 | head -15
Systemlast
uptime visar hur länge servern har varit igång och systemlasten de senaste 1, 5 och 15 minuterna:
uptime
Utmatningen ser ut ungefär så här:
14:23:01 up 45 days, 3:12, 1 user, load average: 0.42, 0.38, 0.35
Lastvärdena (load average) bör ligga under antalet CPU-kärnor. Om du har 2 kärnor och lasten är konstant över 2.0 är servern överbelastad.
Kontrollera antal CPU-kärnor med:
nproc
Minne
free visar RAM-användning:
free -h
Kolumnen “available” visar hur mycket minne som faktiskt finns tillgängligt. Linux använder ledigt RAM som diskcache, så “used” kan se högt ut utan att det är ett problem. Det är “available” du ska titta på.
Om tillgängligt minne konsekvent är under 10-15% av totalt RAM bör du utreda vilka processer som drar mest:
ps aux --sort=-%mem | head -10
Diskutrymme
df visar diskutrymme per partition:
df -h
Håll koll på rotpartitionen (/). Om den passerar 85-90% bör du agera. En full disk kan orsaka allt möjligt - kraschade databaser, misslyckade loggar och tjänster som inte startar.
Hitta vad som tar mest plats:
sudo du -sh /var/* | sort -rh | head -10
Vanliga bovar är loggfiler under /var/log och gamla backuper.
Diskprestanda
iostat visar hur hårt disken jobbar:
sudo apt install sysstat -y
iostat -x 1 5
Det visar fem mätningar med en sekunds mellanrum. Kolumnen %util visar hur stor andel av tiden disken är aktiv. Konsekvent över 80% tyder på en flaskhals på traditionella SSD- och HDD-diskar. Observera att %util är mindre meningsfullt för NVMe-diskar - NVMe hanterar många parallella I/O-operationer via flera köer, så 100% utilization kan förekomma utan att disken är flaskhalsen. Använd %util främst som indikator för SATA-baserade diskar.
Nätverkstrafik
vnstat ger en bra översikt av nätverksanvändning:
sudo apt install vnstat -y
Visa daglig sammanfattning:
vnstat -d
Visa trafik i realtid:
vnstat -l
Om du behöver se vilka anslutningar som är aktiva just nu:
ss -tunap
Övervaka tjänster
Enskilda kommandon ger dig en ögonblicksbild, men du vill också veta att dina tjänster faktiskt körs.
Kontrollera tjänstestatus
sudo systemctl status nginx
sudo systemctl status mysql
sudo systemctl status ssh
Se misslyckade tjänster
sudo systemctl --failed
Starta om en tjänst som har stannat
sudo systemctl restart nginx
Automatisk omstart
Systemd kan automatiskt starta om en tjänst om den kraschar. De flesta tjänster har redan detta konfigurerat, men du kan verifiera det:
sudo systemctl show nginx | grep Restart
Om det inte finns en omstartspolicy kan du lägga till en override:
sudo systemctl edit nginx
Lägg till:
[Service]
Restart=on-failure
RestartSec=5
Sätt upp automatiska larm
Manuell övervakning kräver att du loggar in och kollar. Automatiska larm meddelar dig när något avviker.
Enkel övervakning med cron och e-post
Ett minimalt skript som varnar vid hög diskanvändning:
#!/bin/bash
THRESHOLD=85
USAGE=$(df / | tail -1 | awk '{print $5}' | tr -d '%')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
echo "Disk usage is ${USAGE}% on $(hostname)" | mail -s "Disk Alert" din@epost.se
fi
Spara det som /usr/local/bin/disk-check.sh, gör det körbart och lägg till i cron:
chmod +x /usr/local/bin/disk-check.sh
crontab -e
Lägg till en rad som kör kontrollen varje timme:
0 * * * * /usr/local/bin/disk-check.sh
Extern drifttidsövervakning
Larm från servern själv fungerar inte om hela servern är nere. Därför behöver du extern övervakning som kontrollerar din server utifrån.
Tjänster som kontrollerar att din webbplats svarar och larmar via e-post, SMS eller Slack:
- UptimeRobot - Gratis för upp till 50 monitorer med 5-minutersintervall
- Better Stack - Statussida inkluderad, generöst gratispaket
- Hetrix Tools - Gratis för upp till 15 monitorer
Konfigurera minst en HTTP-check mot din webbplats och en ping-check mot serverns IP-adress.
Loggar - din bästa felsökningskälla
Loggar berättar exakt vad som händer och vad som gick fel. Att kunna läsa och söka i loggar är en av de viktigaste färdigheterna för serveradministration.
Viktiga loggfiler
| Logg | Plats | Innehåll |
|---|---|---|
| Systemlogg | /var/log/syslog | Generella systemhändelser |
| Autentisering | /var/log/auth.log | Inloggningsförsök (SSH, sudo) |
| Nginx access | /var/log/nginx/access.log | Alla HTTP-förfrågningar |
| Nginx error | /var/log/nginx/error.log | Webbserverfel |
| Kernel | dmesg | Hårdvaru- och kernelmeddelanden |
Journalctl
På moderna Ubuntu-system samlar journalctl alla loggar från systemd-tjänster:
sudo journalctl -u nginx --since "1 hour ago"
Visa de senaste 50 raderna och följ nya:
sudo journalctl -u nginx -n 50 -f
Loggrotation
Loggar kan växa snabbt och äta upp diskutrymme. logrotate hanterar detta automatiskt och är förinstallerat på Ubuntu. Det komprimerar och tar bort gamla loggar enligt regler i /etc/logrotate.d/.
Testa att konfigurationen är giltig med en simulering (inga filer ändras):
sudo logrotate --debug /etc/logrotate.conf
Observera att --debug bara simulerar - den visar vad som skulle hända, men roterar inga filer. Vill du tvinga en riktig rotation för att verifiera att allt fungerar, kör:
sudo logrotate -f /etc/logrotate.d/min-app
Om en specifik logg växer okontrollerat, skapa en egen rotationsregel:
sudo nano /etc/logrotate.d/min-app
/var/log/min-app/*.log {
daily
rotate 14
compress
missingok
notifempty
}
Sätt upp en överblick med Glances
Glances är ett terminalverktyg som ger en samlad bild av CPU, minne, disk, nätverk och processer i ett enda fönster:
sudo apt install glances -y
glances
Det kan också köras som en webbserver för att visa statistik i webbläsaren:
glances -w
Surfa sedan till http://din-server-ip:61208 för att se dashboarden.
Vad ska du övervaka?
En rimlig övervakningsstrategi för en VPS:
| Mätpunkt | Larm vid | Varför |
|---|---|---|
| Disk | Över 85% | Full disk kraschar tjänster |
| RAM | Under 10% ledigt | OOM-killer kan döda processer |
| CPU | Över 90% i 5+ minuter | Indikerar överbelastning |
| HTTP-svar | Ej 200 i 2+ kontroller | Webbplatsen kan vara nere |
| SSL-utgång | Under 14 dagar | Certifikat som löper ut ger varningar |
| Drifttid | Alla omstarter | Oväntade omstarter tyder på problem |
Nästa steg
Övervakning är en process, inte ett engångsprojekt. Börja enkelt med de inbyggda kommandona och en extern drifttjänst. Lägg till fler larm och verktyg allteftersom du lär dig vad som är viktigast för just din server.
Se till att grunden är på plats först - läs vår guide om säkerhetstips för VPS om du inte redan har säkrat servern.