Date : 11/02/2026
Status : TERMINE
Proposition : ~/propositions/11-02-2026-02-32-fix-pipeline-logs-nginx-o2switch.md
cron non installesudo apt install cron sur 192.168.1.104nowhere84@ssh-nowhere84.o2switch.net (FQDN non resolvable). Fix: alias SSH o2switch (deas8499@yellow.o2switch.net)limit=100000 depassait le max_entries_limit Loki (5000). Loki repondait en texte (pas JSON), jq echouait silencieusement. Fix: pagination par batch de 1000 avec direction=forward + avancement par timestamp--mkpath. Fix: ssh mkdir -p prealable + rsync sans --mkpathREMOTE_DIR=backup/logs pour ne pas mixer avec les logs cPanel/etc/cron.d/nginx-logs-archive supprime sur PVE/stock_8to/.../nginx-archive/ supprimee8 fichiers exportes, 29 Mo sur O2switch:
- prod/pve/journal/2026-02-10.log.gz (28 667 lignes)
- prod/nginx/access/2026-02-10.log.gz (6 921 lignes)
- prod/nginx/vhost-access/2026-02-10.log.gz (330 206 lignes)
- prod/nginx/vhost-error/2026-02-10.log.gz (9 866 lignes)
- prod/gitlab/rails/2026-02-10.log.gz (138 239 lignes)
- prod/gitlab/nginx/2026-02-10.log.gz (49 298 lignes)
- prod/prod-portainer/docker/2026-02-10.log.gz (1 929 794 lignes)
- dev/dev-portainer/docker/2026-02-10.log.gz (1 915 627 lignes)
Duree totale du script : ~33 min (dont ~30 min pour les 2 gros exports Docker)
nginx logs -> Promtail -> Loki (30j hot) -> Grafana (consultation temps reel)
|
v
sync-logs-o2switch.sh (cron 3h AM, PVE)
|
v
O2switch ~/backup/logs/ (90j cold, ~29 Mo/jour)
nginx logs -> logrotate (cron daily, nginx VM)
daily, 14 rotations, compress