Lager Guru - Maintenance Checklist
Regelmäßige Aufgaben für Wartung und Optimierung der Lager Guru Anwendung.
Sprache wählen: 🇩🇪 Deutsch | 🇬🇧 English | 🇧🇬 Български
Inhaltsverzeichnis
- Tägliche Aufgaben
- Wöchentliche Aufgaben
- Monatliche Aufgaben
- Quartalsweise Aufgaben
- Jährliche Aufgaben
- Security Updates
- Dependency Upgrades
- Datenbankwartung
- Log-Rotation
- Backup-Verifizierung
Tägliche Aufgaben
✅ Health Check
- [ ] Health-Endpoint prüfen:
http://lager-guru.internal/health.html - [ ] Docker-Container prüfen:
docker compose ps - [ ] Kritische Logs prüfen:
docker compose logs --tail=50
✅ Monitoring
- [ ] Supabase Dashboard auf Fehler prüfen
- [ ] Anwendungsmetriken prüfen (falls Monitoring-Tool vorhanden)
- [ ] Festplattenspeicher prüfen:
df -h
Automatisierung:
bash
# Cron-Job für täglichen Health Check
0 9 * * * curl -f http://lager-guru.internal/health.html || echo "Health check failed" | mail -s "Lager Guru Alert" admin@company.comWöchentliche Aufgaben
✅ Security Audit Review
bash
# GitHub Dependabot PRs prüfen
gh pr list --label "dependencies"
# npm audit prüfen
npm audit --audit-level=moderate
# Security Advisories prüfen
npm audit --json | jq '.vulnerabilities'- [ ] Dependabot Pull Requests prüfen
- [ ] Kritische Security-Patches anwenden
- [ ] Security-Updates dokumentieren
✅ Backup-Integrität
bash
# Letztes Backup prüfen
ls -lh backups/lager-guru/ | tail -1
# Restore testen (optional, in Test-Umgebung)
# pg_restore --list backups/lager-guru/lager-guru-YYYYMMDD_HHMMSS.dump- [ ] Prüfen, ob letztes Backup erfolgreich war
- [ ] Backup-Dateigröße prüfen (sollte nicht 0 Bytes sein)
- [ ] Backup-Aufbewahrungsrichtlinie prüfen
✅ Anwendungs-Log-Review
bash
# Logs auf Fehler prüfen
docker compose logs --since 7d | grep -i error | wc -l
# Logs auf Warnungen prüfen
docker compose logs --since 7d | grep -i warning | wc -l- [ ] Fehler-Logs der letzten Woche prüfen
- [ ] Auf ungewöhnliche Muster prüfen
- [ ] Probleme und Lösungen dokumentieren
✅ Performance-Monitoring
- [ ] Antwortzeiten prüfen
- [ ] Datenbankabfrage-Performance prüfen
- [ ] Speichernutzung prüfen:
docker stats --no-stream
Monatliche Aufgaben
✅ Dependency Updates
Automatisch (Dependabot):
- [ ] Dependabot PRs prüfen und mergen
- [ ] In Development-Umgebung testen, bevor Production
- [ ] Breaking Changes dokumentieren
Manuelle Prüfungen:
bash
# Auf veraltete Pakete prüfen
npm outdated
# Auf Major-Version-Updates prüfen
npm outdated | grep -E "MAJOR|WANTED"
# package.json aktualisieren (falls nötig)
npm update- [ ] Auf Major-Version-Updates prüfen
- [ ] Changelogs auf Breaking Changes prüfen
- [ ] Upgrade-Pfad für Major-Versionen planen
✅ Datenbankwartung
Vacuum und Analyze:
sql
-- Datenbankgröße prüfen
SELECT pg_size_pretty(pg_database_size('postgres'));
-- Tabellen mit Bloat prüfen
SELECT
schemaname, tablename,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) AS size
FROM pg_tables
WHERE schemaname = 'public'
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC;
-- Vacuum (automatisch in Supabase, aber kann geprüft werden)
VACUUM ANALYZE;
-- Statistiken prüfen
ANALYZE;- [ ] Datenbankgrößenwachstum prüfen
- [ ] Auf Tabellen-Bloat prüfen
- [ ] VACUUM ANALYZE ausführen (falls nicht automatisch)
- [ ] Index-Nutzung prüfen
Index-Optimierung:
sql
-- Unbenutzte Indizes prüfen
SELECT
schemaname, tablename, indexname, idx_scan, idx_tup_read, idx_tup_fetch
FROM pg_stat_user_indexes
WHERE idx_scan = 0
ORDER BY pg_relation_size(indexrelid) DESC;
-- Langsame Abfragen prüfen (falls pg_stat_statements vorhanden)
SELECT query, calls, total_time, mean_time
FROM pg_stat_statements
ORDER BY mean_time DESC
LIMIT 10;✅ Audit-Log-Review
sql
-- Audit-Logs des letzten Monats prüfen
SELECT
changed_by,
table_name,
action,
COUNT(*) as changes,
MAX(changed_at) as last_change
FROM public.audit_log
WHERE changed_at >= NOW() - INTERVAL '1 month'
GROUP BY changed_by, table_name, action
ORDER BY changes DESC;- [ ] Audit-Logs auf Anomalien prüfen
- [ ] Auf nicht autorisierte Änderungen prüfen
- [ ] Wichtige Änderungen dokumentieren
- [ ] Alte Audit-Logs archivieren (falls nötig)
✅ Backup-Aufbewahrung
bash
# Backup-Aufbewahrung prüfen
find backups/lager-guru/ -name "*.dump*" -mtime +30 -ls
# Backup-Anzahl prüfen
ls -1 backups/lager-guru/ | wc -l- [ ] Backup-Aufbewahrungsrichtlinie prüfen
- [ ] Alte Backups löschen (gemäß Aufbewahrungsrichtlinie)
- [ ] Kritische Backups archivieren (off-site)
Quartalsweise Aufgaben
✅ Security Updates
Node.js und Base Images:
bash
# Node.js-Version prüfen
node --version
# Docker Base Image-Versionen prüfen
docker images | grep node
docker images | grep nginx
# Auf Security Advisories prüfen
npm audit
docker scout cves hashmatrix/lager-guru:latest- [ ] Auf Node.js Security-Updates prüfen
- [ ] Docker Base Images aktualisieren (node:18-alpine, nginx:stable-alpine)
- [ ] Auf OS-Level-Schwachstellen prüfen
- [ ] Security-Patches anwenden
✅ Performance-Optimierung
Datenbank-Performance:
sql
-- Auf fehlende Indizes prüfen
EXPLAIN ANALYZE SELECT * FROM public.shipments WHERE driver_id = '...';
-- Abfrage-Performance prüfen
SELECT
query,
calls,
total_time,
mean_time,
max_time
FROM pg_stat_statements
WHERE mean_time > 100
ORDER BY mean_time DESC
LIMIT 20;- [ ] Datenbankabfrage-Performance prüfen
- [ ] Langsame Abfragen optimieren
- [ ] Indizes hinzufügen, wo nötig
- [ ] Auf Abfrageplan-Änderungen prüfen
Anwendungs-Performance:
bash
# Bundle-Größe prüfen
npm run build
du -sh dist/
# Auf große Abhängigkeiten prüfen
npx bundle-phobia [package-name]- [ ] Bundle-Größenwachstum prüfen
- [ ] Code-Splitting optimieren
- [ ] Nicht verwendete Abhängigkeiten entfernen
- [ ] Auf Performance-Regressionen prüfen
Jährliche Aufgaben
✅ Major-Version-Upgrades
Node.js:
bash
# Aktuelle Version prüfen
node --version
# LTS-Zeitplan prüfen
# https://nodejs.org/en/about/releases/- [ ] Upgrade auf neuestes LTS planen
- [ ] In Development-Umgebung testen
- [ ] Breaking Changes dokumentieren
- [ ] Migrationsfenster planen
✅ Architektur-Review
- [ ] Anwendungsarchitektur prüfen
- [ ] Technical Debt identifizieren
- [ ] Refactoring-Initiativen planen
- [ ] Ausrichtung mit Best Practices prüfen
Security Updates
Automatisierte Security-Scans
GitHub Dependabot:
- Automatische Prüfung auf Schwachstellen
- Erstellt PRs für Security-Updates
- Konfiguration:
.github/dependabot.yml
npm audit:
bash
# Auf Schwachstellen prüfen
npm audit
# Automatisch beheben (wenn sicher)
npm audit fix
# Mit Breaking Changes beheben
npm audit fix --force # Vorsicht!Security-Patch-Priorität
- Critical - Sofort anwenden
- High - Innerhalb von 1 Woche anwenden
- Moderate - Innerhalb von 1 Monat anwenden
- Low - Bei nächstem geplanten Update anwenden
Dependency Upgrades
Upgrade-Strategie
Minor/Patch Updates:
- Automatisch über Dependabot
- In Development testen
- In Production mergen
Major Updates:
- Manuelle Prüfung des Changelogs
- In separatem Branch testen
- Migrationsfenster planen
- Breaking Changes dokumentieren
Upgrade-Checkliste
- [ ] Changelog prüfen
- [ ] Auf Breaking Changes prüfen
- [ ] In Development-Umgebung testen
- [ ] Code auf veraltete APIs prüfen
- [ ] Dokumentation aktualisieren
- [ ] In Production bereitstellen
- [ ] Auf Fehler überwachen
Datenbankwartung
Regelmäßige Aufgaben
Vacuum:
sql
-- Automatisch in Supabase, aber Einstellungen können geprüft werden
SHOW autovacuum;Analyze:
sql
-- Aktualisiert Statistiken für Query Planner
ANALYZE public.shipments;
ANALYZE public.zones;
ANALYZE public.profiles;Index-Wartung:
sql
-- Auf unbenutzte Indizes prüfen
SELECT * FROM pg_stat_user_indexes WHERE idx_scan = 0;
-- Indizes neu aufbauen (falls nötig)
REINDEX TABLE public.shipments;Log-Rotation
Docker Logs
bash
# Docker-Log-Rotation einrichten
# In docker-compose.yml:
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"Anwendungs-Logs
Nginx Logs:
bash
# Log-Rotation für Nginx einrichten
# /etc/logrotate.d/nginx
/var/log/nginx/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 www-data adm
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}Backup-Verifizierung
Backup-Testing
bash
# Backup-Restore testen (in Test-Umgebung)
pg_restore --list backups/lager-guru/lager-guru-YYYYMMDD_HHMMSS.dump
# Backup-Integrität prüfen
pg_restore --schema-only backups/lager-guru/lager-guru-YYYYMMDD_HHMMSS.dump | head -20Backup-Aufbewahrung
- Tägliche Backups: Letzte 7 Tage aufbewahren
- Wöchentliche Backups: Letzte 4 Wochen aufbewahren
- Monatliche Backups: Letzte 12 Monate aufbewahren
- Jährliche Backups: 7 Jahre aufbewahren
Letzte Aktualisierung: 2025-11-05