Rozdział 8 · 8.3
Monitoring z zewnątrz i od wewnątrz
Serwer, którego Państwo nie monitorują, psuje się po cichu: pełny dysk, wygasły certyfikat, kopia zapasowa, która od tygodni się nie wykonuje. Prosimy monitorować obie strony.
Z zewnątrz: czy wszystko działa dla odwiedzających?
- Czy Państwa strona jest dostępna i zwraca właściwą stronę (status HTTP 200)?
- Czy certyfikat jest ważny jeszcze co najmniej przez dwa tygodnie?
- Czy serwer odpowiada na ping i na SSH?
Służy do tego Uptime Kuma (zob. Uptime Kuma: monitorowanie stron i serwera). Jeśli Uptime Kuma działa na tym samym VPS, prosimy monitorować VPS również z innego miejsca: z drugiego serwera lub za pomocą zewnętrznej usługi monitorującej. W przeciwnym razie nie dowiedzą się Państwo o niczym, gdy awarii ulegnie właśnie ten VPS.
Od wewnątrz: jak radzi sobie serwer?
| Co | Polecenie | Kiedy zwrócić uwagę? |
|---|---|---|
| Dysk | df -h | Powyżej 80 procent |
| Pamięć | free -h | Kolumna available pozostaje niska i używana jest duża ilość swap |
| Obciążenie | uptime | Load przez dłuższy czas wyższy niż liczba vCPU |
| Usługi | systemctl --failed | Na liście coś się znajduje |
| Kontenery | sudo docker compose ps | Kontener ma status Restarting lub Exited |
| Wymagany restart | ls /var/run/reboot-required | Plik istnieje |
Karta Wykresy na ekranie VPS pokazuje procesor, pamięć, sieć i dysk w dłuższym okresie, nawet do roku wstecz (zob. Ekran VPS: włączanie i wyłączanie, wykresy, system i dziennik zdarzeń).
Powiadomienie, gdy dysk się zapełnia
Mały skrypt z timerem, jak w Kopie zapasowe z restic w innym miejscu, może wywoływać monitor typu Push w Uptime Kuma, gdy wszystko jest w porządku. Dzięki temu otrzymają Państwo powiadomienie, gdy sygnał przestanie przychodzić:
#!/bin/sh
GEBRUIK=$(df --output=pcent / | tail -1 | tr -dc '0-9')
if [ "$GEBRUIK" -lt 85 ]; then
curl -fsS -m 10 "https://status.example.com/api/push/JOUWCODE?status=up&msg=schijf-$GEBRUIK" >/dev/null
fi
Prosimy ustawić timer tak, aby uruchamiał skrypt na przykład co kwadrans za pomocą OnCalendar=*:0/15, a w Uptime Kuma ustawić czas oczekiwania monitora Push na nieco ponad kwadrans.
Stały rytm
- Co tydzień: prosimy sprawdzić, czy jest kopia zapasowa z ostatniej nocy (
restic snapshots) i czy pojawiły się powiadomienia. - Co miesiąc:
apt list --upgradable,docker compose pulli restart, jeśli jest potrzebny. - Co kwartał: prosimy przywrócić kopię zapasową w miejscu testowym i sprawdzić, czy wszystko się zgadza.
