Przejdź do treści

Monitoring i Backupy

Stały nadzór nad stanem usług i serwerów + zautomatyzowane backupy off-site.

Co zostało dostarczone

Beszel (Monitoring)

Status: ✅ Dostarczone (zgłoszenia #16, #25).

Beszel (host-mom) — lekkie narzędzie do monitoringu zdrowia serwerów: CPU, RAM, dysk, sieć, status kontenerów Docker.

Co robi:

  • Stały podgląd metryk każdego hosta (host-mom, host-dad, host-son, VPS-y).
  • Wykres trendów (24 h / 7 dni / 30 dni).
  • Alerty (email lub SMS przez bramkę) gdy: dysk > 80 %, RAM > 90 %, kontener stopped.
  • Podgląd statusu wszystkich kontenerów Docker per host.

Logowanie: beszel.aiofactory.pl — szczegóły dostępu w Inwentarzu Usług.

Po co to? (#25):

Bez Beszela problemy z serwerem widać dopiero gdy "panel przestaje działać". Beszel pozwala wyprzedzić awarie — np. zauważyć rosnące zużycie dysku zanim zabraknie miejsca, co przekładałoby się na padający backup lub nieudane wystawienie oferty.

Backupy (Backrest + Backblaze B2)

Status: ✅ Dostarczone (TASK-042, TASK-103, TASK-055.04).

Backrest (host-dad) — interfejs do restic, narzędzia backupowego z deduplikacją i szyfrowaniem klienckim.

Cel: Backblaze B2 (off-site), bucket aiofactory, region eu-central-003.

Co jest backupowane:

Cel Częstotliwość Retencja
Convex (eksport snapshot) Codziennie 03:00 30 dni dziennych + 12 tygodniowych
Mailcow (skrzynki + konfig) Codziennie 02:00 14 dni
Windmill (skrypty + flowy) Po każdym push Wieczne (git) + dziennie do B2
Sklepy WordPress (db + uploads) Codziennie 01:00 30 dni dziennych
Postiz (db) Codziennie 04:00 14 dni
Listmonk (db + listy) Codziennie 04:30 14 dni
Forgejo (repo + db) Codziennie 04:30 30 dni
Beszel (db metryk) Codziennie 05:00 7 dni

Monitoring backupów:

  • Cykliczny skrypt windmill/f/infra/backup_health_monitor.py (TASK-055.04) — sprawdza czy każde repo restic ma świeży snapshot < 25h. Brak → alert.

Restore:

  • Z Backrest UI: restic.aiofactory.pl (lub przez SSH → host-dadbackrest).
  • Procedury restore per usługa: windmill/docs/infra/restore-runbook.md (rozwijane w ramach TASK-262.22).

Klucze szyfrowania: w secrets/secrets.sops.yaml (backrest_restic_password). Bez tego klucza odzyskanie z B2 jest niemożliwe.

Paperless

Status: ⚪ Opcjonalne — przygotowane, nie uruchomione w pierwotnym wdrożeniu.

Paperless-ngx miał być opcjonalnym dodatkiem do panelu (oferta str. 6: „zautomatyzujemy proste procesy, które teraz trzymacie w Excelach"). System do skanowania, indeksowania i przechowywania dokumentów firmy (faktury, umowy, dokumentacja produktów); OCR pozwala wyszukiwać po treści dokumentów, nie tylko po nazwach plików.

W toku projektu właściciel nie zgłosił potrzeby aktywacji tego narzędzia, więc nie zostało uruchomione. Konfiguracja jest przygotowana — uruchomienie wymaga jednego compose-file na host-mom (/root/dapps/paperless/), backup codzienny do B2 dorzuca się do harmonogramu Backresta. Czas pełnej aktywacji: ~30 min jeśli właściciel zdecyduje, że chce z tego korzystać.

Znane zgłoszenia

Zgłoszenie #16 — System monitoringu

Status: ✅ Dostarczone — Beszel. Patrz wyżej.

Zgłoszenie #25 — BESZEL — do czego to jest

Status: ✅ Wyjaśnione — Beszel to system monitoringu zdrowia serwerów. Patrz wyżej.

Zgłoszenie #27 — Paperless

Status: ⚪ Wyjaśnione — Paperless to opcjonalny system zarządzania dokumentami z OCR. Patrz wyżej: przygotowany, nie uruchomiony; aktywacja na życzenie właściciela.