Runbook Operativo¶
Servizi systemd¶
- web:
safeops-web.service - worker:
safeops-celery.service - beat:
safeops-celery-beat.service
Comandi standard:
systemctl status safeops-web.service
systemctl restart safeops-web.service
systemctl status safeops-celery.service
systemctl restart safeops-celery.service
Healthcheck base¶
- login web raggiungibile;
- menu principale renderizzato;
- DB connesso;
- queue redis raggiungibile;
- upload file su MinIO.
Dopo deploy¶
- restart web/worker se necessario;
- sync sicurezza FAB:
flask sync_appbuilder_security- smoke test:
- lista clienti,
- apertura cliente,
- apertura ticket,
- upload documento,
- mappa clienti/interventi;
- verifica tenant:
- control plane
- un tenant standard
tenant_safecondo- controllo log senza errori critici.
Sync FAB separato¶
Comando standard:
flask sync_appbuilder_security
Comandi opzionali:
flask sync_appbuilder_security --cleanup
flask sync_appbuilder_security --legacy-cleanup
Regola operativa:
- bootstrap applicativo normale senza sync sicurezza automatico;
- sync FAB solo come step esplicito di deploy o manutenzione;
- cleanup aggressivo solo su intervento mirato, non come default.
Note Redis/Celery¶
- SafeOps usa Redis da
.envsuREDIS_URL/CELERY_BROKER_URL/CELERY_RESULT_BACKEND. - Nell'ambiente corrente il broker reale punta a
redis://127.0.0.1:6380/2. - La porta
6380e' esposta dal progetto Docker Composenotifyhub, file/opt/notifyhub/docker-compose.yml, servizioredis. - Se il daemon Docker della macchina viene riavviato,
safeops-celery-beatpuo' perdere uno o piu' tick schedulati con errori temporaneiConnection refusedverso127.0.0.1:6380. - In questo caso il problema e' infrastrutturale e di solito si riassorbe da solo quando Docker e il container
notifyhub-redis-1tornanorunning. - Verifiche rapide consigliate:
journalctl -u safeops-celery-beat.service -n 120 --no-pagerdocker exec notifyhub-redis-1 redis-cli -n 2 pingjournalctl -u docker.service --since "YYYY-MM-DD HH:MM:SS" --until "YYYY-MM-DD HH:MM:SS" --no-pager
Backup minimo¶
- DB applicativo (dump giornaliero).
- Bucket/documenti MinIO (snapshot o replica).
- cartella
incoming/backupsper export migrazioni.