Server resources monitoren: CPU, geheugen en meer
Het monitoren van je serverresources is essentieel voor een stabiele en snelle website. Bij Theory7 zien we regelmatig performance problemen die voorkomen hadden kunnen worden met goede monitoring. In deze handleiding leer je hoe je CPU, geheugen, schijfruimte en processen in de gaten houdt. Het is niet alleen belangrijk om te weten hoe je deze resources kunt monitoren, maar ook om te begrijpen waarom dit cruciaal is voor de algehele prestaties van je server en website.
Waarom monitoring belangrijk is
Zonder monitoring merk je problemen pas als het te laat is. Dit kan leiden tot:
- Trage websites: Een gebrek aan geheugen kan ervoor zorgen dat je website traag laadt, wat bezoekers kan afschrikken.
- Crashes van services: Als de schijf vol raakt, kunnen belangrijke services zoals databases of webservers crashen, wat leidt tot downtime.
- CPU overbelasting: Dit kan resulteren in time-outs en een slechte gebruikerservaring.
- Onbekende processen: Sommige processen kunnen onopgemerkt veel resources verbruiken, wat leidt tot inefficiëntie.
Met proactieve monitoring kun je problemen oplossen voordat ze impact hebben op je gebruikers en je bedrijf. Het is een investering in de stabiliteit en betrouwbaarheid van je online aanwezigheid.
CPU en geheugen monitoren
Het top commando
Top geeft een real-time overzicht van systeem en processen:
top
Belangrijke waarden bovenaan:
- load average: Systeem load (1, 5, 15 minuten gemiddelde)
- %Cpu(s): CPU gebruik uitgesplitst
- MiB Mem: Geheugen totaal en gebruik
- MiB Swap: Swap gebruik
Handige toetsen in top:
- q: Afsluiten
- M: Sorteer op geheugen
- P: Sorteer op CPU
- k: Kill proces
Htop voor beter overzicht
Htop biedt een visueler en intuïtiever interface:
# Installeren
sudo apt install htop
# Starten
htop
Voordelen van htop:
- Kleurcodering voor resources maakt het makkelijker om problemen te identificeren.
- Muis ondersteuning voor eenvoudige navigatie.
- Makkelijker processen doden met een enkele toets.
- Betere navigatie door processen en resources.
Geheugen specifiek bekijken
free -h
Output uitleg:
- total: Totaal beschikbaar geheugen
- used: Momenteel in gebruik
- free: Niet in gebruik
- available: Beschikbaar voor nieuwe applicaties
Let op: Linux gebruikt vrij geheugen voor caching. Kijk naar available, niet free. Dit kan je helpen om beter te begrijpen hoeveel geheugen er daadwerkelijk beschikbaar is voor nieuwe processen.
Schijfruimte monitoren
Overzicht van alle partities
df -h
Let op de kolom Use%. Boven 85% moet je actie ondernemen. Dit kan betekenen dat je oude bestanden moet verwijderen of dat je extra schijfruimte moet toevoegen.
Schijfgebruik per directory
Vind welke directories de meeste ruimte gebruiken:
# Overzicht van /var
sudo du -sh /var/*
# Top 10 grootste directories
sudo du -h / | sort -rh | head -10
Inodes controleren
Soms raken inodes op voordat schijfruimte vol is:
df -i
Dit gebeurt vaak bij veel kleine bestanden zoals cache, sessions en logs. Het is belangrijk om regelmatig je inode gebruik te controleren, vooral als je veel kleine bestanden opslaat.
Disk I/O monitoren
Basis I/O statistieken
sudo apt install sysstat
iostat -x 1
Belangrijke kolommen:
- %util: Percentage tijd dat disk bezig is
- await: Gemiddelde wachttijd per I/O operatie
- r/s, w/s: Reads en writes per seconde
Een hoge %util kan wijzen op een disk bottleneck. Dit kan leiden tot vertragingen in je applicaties, dus het is belangrijk om dit regelmatig te controleren.
Processen analyseren
Alle processen bekijken
ps aux
Processen sorteren op CPU
ps aux --sort=-%cpu | head -20
Processen sorteren op geheugen
ps aux --sort=-%mem | head -20
Specifiek proces vinden
ps aux | grep apache
pgrep -a nginx
Netwerk monitoring
Open connecties bekijken
# Alle luisterende poorten
sudo ss -tulpn
# Actieve connecties
sudo ss -tunapl
Netwerk verkeer
# Installeren
sudo apt install iftop
# Real-time verkeer
sudo iftop
Met iftop kun je real-time netwerkverkeer monitoren, wat nuttig is voor het identificeren van ongebruikelijke activiteit of bottlenecks in je netwerk.
Logs monitoren
Systeem logs
# Realtime systeemlog
sudo tail -f /var/log/syslog
# Laatste regels
sudo tail -100 /var/log/syslog
Apache/Nginx logs
# Apache error log
sudo tail -f /var/log/apache2/error.log
# Nginx access log
sudo tail -f /var/log/nginx/access.log
Journal logs (systemd)
# Alle logs
journalctl
# Logs van specifieke service
journalctl -u nginx
# Laatste uur
journalctl --since "1 hour ago"
Handige monitoring one-liners
Quick system overview
echo "=== CPU ===" && uptime && echo "=== MEM ===" && free -h && echo "=== DISK ===" && df -h /
Top memory users
ps aux --sort=-%mem | head -10
Grootste bestanden
find / -type f -size +100M 2>/dev/null | head -20
Automatische monitoring
Voor continue monitoring overweeg tools als:
- Netdata: Real-time monitoring dashboard dat een breed scala aan metrics biedt.
- Prometheus + Grafana: Een complete monitoring stack die je in staat stelt om uitgebreide dashboards te maken.
- Monit: Voor service monitoring en automatisch herstarten van services bij falen.
Gerelateerde artikelen
- PHP-FPM configuratie
- SSH toegang activeren in DirectAdmin
- Firewall configuratie (UFW)
- Server beveiliging basis
Meer informatie over VPS servers bij Theory7
Hulp nodig?
We staan voor je klaar! Loop je ergens tegenaan of heb je vragen? Ons supportteam helpt je graag persoonlijk verder. Stuur ons een berichtje via het ticketsysteem - we reageren meestal binnen een paar uur en denken graag met je mee.
0 van 0 vonden dit nuttig