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

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.