33800 Docs

← Retour

Task : Logs Nginx séparés par site + Archive 3 mois + Corrections RAIDZ

Date : 08-01-2026 Statut : Terminé

Objectif

Mettre en place des logs nginx séparés par site avec archivage 3 mois sur stock_8to. Corriger les informations RAIDZ du dashboard.

Travail réalisé

1. Logs séparés par site sur nginx

Modification : Ajout de access_log et error_log à 48 configs nginx.

# Ajouté à chaque site dans /etc/nginx/sites-available/
access_log /var/log/nginx/{site}.access.log;
error_log /var/log/nginx/{site}.error.log;

Script utilisé : /tmp/add-nginx-logs.py (Python pour précision)

Fichiers créés sur nginx.local :

/var/log/nginx/
├── dashboard.access.log
├── dashboard.error.log
├── gitlab.access.log
├── gitlab.error.log
├── portainer.access.log
└── ... (48 sites × 2 = 96 fichiers)

2. Sauvegarde configs sur GitLab

Repo créé : gouroubleu/nginx-configs

3. Archivage 3 mois sur stock_8to

Structure :

/stock_8to/33800-stack/monitoring/downloads/logs/nginx-archive/
└── 2026-01/
    └── 08/
        ├── dashboard.access.log
        ├── dashboard.error.log
        └── ... (tous les logs du jour)

Script : /stock_8to/33800-stack/scripts/nginx-logs-archive.sh

Cron : /etc/cron.d/nginx-logs-archive

55 23 * * * gouroubleu /stock_8to/33800-stack/scripts/nginx-logs-archive.sh

4. Mise à jour collect.sh

Modification : Collecte dynamique de tous les logs par site.

# Avant : seulement dashboard et dashboard-dev
# Après : tous les sites automatiquement
NGINX_SITES=$(ssh_cmd 192.168.1.104 "ls /var/log/nginx/*.access.log | ...")
for site in $NGINX_SITES; do
    # copie access + error
done

5. Dashboard - Page Nginx mise à jour

Tableau des sites - Nouvelles colonnes : | Colonne | Lien | |---------|------| | Logs | /download/logs/nginx-sites/{site}-access.log | | Config | GitLab /nginx-configs/-/blob/main/sites-available/{site}.conf |

Nouvelle section "Logs & Configs" :

Fichiers modifiés/créés

Fichier Action
/etc/nginx/sites-available/*.conf (nginx) Modifié (48 fichiers)
/etc/cron.d/nginx-logs-archive (pve) Créé
/stock_8to/33800-stack/scripts/nginx-logs-archive.sh Créé
/stock_8to/33800-stack/monitoring/collect.sh Modifié
/stock_8to/33800-stack/monitoring/generate.sh Modifié
GitLab gouroubleu/nginx-configs Créé

Accès

Ressource URL
Page Nginx https://dashboard.33800.nowhere84.com/nginx.html
Logs temps réel https://dashboard.33800.nowhere84.com/download/logs/nginx-sites/
Archive 3 mois https://dashboard.33800.nowhere84.com/download/logs/nginx-archive/
Configs GitLab https://gitlab.33800.nowhere84.com/gouroubleu/nginx-configs

Crons associés

Cron Fréquence Script
nginx-logs-archive 23h55 quotidien nginx-logs-archive.sh
monitoring-33800 Horaire collect.sh (inclut copie logs)

6. Correction page RAIDZ - stock_1to

Erreur corrigée : stock_1to était affiché comme "ZFS Single, 1 disque, 0 panne"

Réalité (vérifié via zpool status) :

pool: stock_1to
  mirror-0
    usb-Micron_CT1000X6SSD9_2244E48A627D-0:0
    usb-Micron_Crucial_X6_SSD_2125E4889A68-0:0

Correction appliquée :

Notes