Kennisbank › Monitoring › start hier je back-up of script
monitoring starter 29 August 2026

start hier je back-up of script

`top` draait al, maar de output vertelt je niets over de cgroups die jouw containers opslokken. Dit artikel legt uit hoe je met `systemd-cgtop`, `sg3_utils` en

`top` draait al, maar de output vertelt je niets over de cgroups die jouw containers opslokken. Dit artikel legt uit hoe je met `systemd-cgtop`, `sg3_utils` en `pg_basebackup` een compleet beeld van je Linux-infrastructuur opbouwt — van CPU-gebruik per proces tot de gezondheid van je SCSI-schijven en de integriteit van je PostgreSQL-cluster. Voor beheerders die verder willen kijken dan een enkele `top`-screenshot.

VEREISTEN

  • Een Linux-distributie met systemd (bijv. Ubuntu 22.04+, Debian 12+, RHEL 9+)
  • `procps-ng` voor `top` (standaard geïnstalleerd)
  • `systemd-cgtop` (onderdeel van systemd, versie 245+)
  • `sg3_utils` (versie 1.44+)
  • `screen` (versie 4.8.0+)
  • PostgreSQL 13+ met `pg_basebackup` (onderdeel van `postgresql-client-common`)
  • Root- of sudo-toegang tot de systemen die je wilt monitoren

STAPPEN

1. Installeer de benodigde pakketten

sudo apt update && sudo apt install -y procps systemd sg3-utils screen postgresql-client-common

Op RHEL-gebaseerde systemen gebruik je `dnf` in plaats van `apt`. Deze pakketten geven je toegang tot alle tools die in dit artikel worden behandeld.

2. Gebruik `top` voor real-time procesmonitoring

Start `top` met een verversingsinterval van 2 seconden:

top -d 2

`top` toont actieve processen gesorteerd op CPU-gebruik. Druk op `P` om te sorteren op CPU, `M` voor geheugen, en `k` om een proces te beëindigen. De output bevat per proces de PID, gebruiker, CPU-tijd, geheugengebruik en de commando-regel.

3. Monitor cgroups met `systemd-cgtop`

systemd-cgtop --depth=2

Deze tool toont resourcegebruik per controlegroep in plaats van per proces. De `--depth=2` vlag toont zowel de top-level groepen als hun directe kinderen — essentieel voor het zien welke container of systemd-service de meeste CPU of geheugen verbruikt. Het scherm ververst standaard elke seconde.

4. Controleer SCSI-apparaatgezondheid met `sg_logs`

sg_logs --temperature /dev/sda
sg_logs --transport /dev/sda

Deze commando's vragen de logpagina's van een SCSI-apparaat op via het LOG SENSE-commando. De eerste toont de temperatuur van de schijf, de tweede geeft transportstatistieken zoals fouttellingen. Vervang `/dev/sda` door het daadwerkelijke apparaatpad — vind deze met `lsblk`.

5. Formatteer of herstel SCSI-schijven met `sg_format`

sudo sg_format --format --size=4096 /dev/sdb

Dit commando formatteert een SCSI-schijf en stelt de logische blokgrootte in op 4096 bytes. Gebruik dit alleen op schijven die geen data bevatten die je nodig hebt — het wist alles. Dit is geen monitoringtool zelf, maar een essentiële stap in het herstelproces wanneer `sg_logs` fouten of afwijkingen meldt.

6. Zet een seriële netwerkverbinding op met `slattach`

sudo slattach -p slip -s 115200 /dev/ttyS0 &
sudo ip addr add 192.168.1.1/24 dev sl0
sudo ip link set sl0 up

Dit koppelt een seriële poort (`/dev/ttyS0`) aan een netwerkinterface (`sl0`) met SLIP-protocol op 115200 baud. De tweede en derde regel geven de interface een IP-adres en zetten hem actief. Monitor de verbinding met `ip -s link show sl0` om pakketverlies en fouten te zien.

7. Beheer langlopende processen met `screen`

screen -S backup-sessie
<h2>start hier je back-up of script</h2>
<h2>Druk Ctrl+A, dan D om te detachen</h2>
screen -r backup-sessie

Start een screen-sessie met een naam, voer je langlopende taak uit, en detach met `Ctrl+A` gevolgd door `D`. De sessie blijft draaien op de achtergrond. Reconnect later met `screen -r backup-sessie` om de voortgang te controleren — je proces is niet afgebroken door een verbroken SSH-verbinding.

8. Maak een consistente PostgreSQL-back-up met `pg_basebackup`

sudo pg_basebackup -h localhost -D /var/backups/postgres/base -U replicator -P -v

Dit maakt een volledige kopie van het draaiende PostgreSQL-cluster naar `/var/backups/postgres/base`. De `-P` vlag toont de voortgang, `-v` geeft uitgebreide output. De back-up is consistent omdat `pg_basebackup` gebruikmaakt van de WAL-architectuur van PostgreSQL — andere clients worden niet geblokkeerd. Gebruik deze back-up voor disaster recovery of als basis voor een standby-server.

VERIFICATIE

Controleer of alle tools correct werken:

top -bn1 | head -20
systemd-cgtop --once
sg_logs --temperature /dev/sda
pg_basebackup --version
screen -ls

Elk commando moet zonder foutmelding output produceren. `pg_basebackup --version` toont de versie (bijv. 16.2). `screen -ls` toont actieve sessies, of meldt "No Sockets found" als er geen actieve sessies zijn — dat is ook correct.

VEELGESTELDE PROBLEMEN

1. `sg_logs` geeft "Invalid argument" op NVMe-schijven

NVMe-schijven gebruiken het NVMe-protocol, niet SCSI. Gebruik `nvme smart-log /dev/nvme0` (uit het `nvme-cli`-pakket) in plaats van `sg_logs`. Controleer eerst met `lsblk -d -o name,tran` welk protocol je schijf gebruikt.

2. `systemd-cgtop` toont geen container-cgroups

Containers zonder systemd als init draaien niet in een eigen cgroup. Start Docker-containers met `--cgroup-parent` of gebruik `docker stats` voor real-time container-monitoring. Voor LXC-containers gebruik je `lxc-top` of `lxc-monitor`.

3. `pg_basebackup` faalt met "fe_sendauth: no password supplied"

De `replicator`-gebruiker heeft een wachtwoord nodig of `pg_hba.conf` staat geen verbinding toe vanaf localhost. Configureer `/etc/postgresql/16/main/pg_hba.conf` met `local replication replicator peer` of `host replication replicator 127.0.0.1/32 md5`. De juiste methode hangt af van je PostgreSQL-versie en beveiligingsvereisten.

← Terug naar kennisbank
← Terug naar kennisbank