Date : 05-01-2026 Statut : En attente de validation Priorité : CRITIQUE Impact : prod-portainer, notifications, dashboard
Erreur :
mkdir /mnt/stock_36to/33800-stack: permission denied
Cause : daemon.json pointe vers /mnt/stock_36to/... (backup) au lieu de /mnt/stock_8to/... (frontal)
Fichier actuel (/etc/docker/daemon.json) :
{"data-root": "/mnt/stock_36to/33800-stack/docker/prod"}
Les containers suivants ne peuvent pas démarrer car Docker est down :
Crontab actuel de gouroubleu :
0 * * * * /stock_36to/data/33800-stack/monitoring/collect.sh
Problème : Exécute depuis stock_36to (backup) au lieu de stock_8to (frontal)
Scripts collect.sh et generate.sh : Utilisent stock_36to en priorité
if [ -d "/stock_36to/data/33800-stack/monitoring" ]; then
BASE_DIR="/stock_36to/data/33800-stack/monitoring" # ← MAUVAIS
needfinder-collector-dev : UP (healthy)generate-needfinder.sh utilise un chemin obsolète vers stock_36to# Sur prod-portainer (192.168.1.12)
ssh gouroubleu@192.168.1.12
# 1. Modifier daemon.json
sudo tee /etc/docker/daemon.json << 'EOF'
{"data-root": "/mnt/stock_8to/33800-stack/docker/prod"}
EOF
# 2. Redémarrer Docker
sudo systemctl restart docker
# 3. Vérifier
sudo systemctl status docker
docker ps
# Sur prod-portainer après redémarrage Docker
docker ps | grep -E 'notif|apprise|ntfy'
# Si containers pas démarrés, les relancer via Portainer ou docker-compose
Les scripts doivent utiliser stock_8to (frontal) et non stock_36to (backup).
collect.sh - Modifier lignes 11-15 :
# AVANT
if [ -d "/stock_36to/data/33800-stack/monitoring" ]; then
BASE_DIR="/stock_36to/data/33800-stack/monitoring"
else
BASE_DIR="/mnt/stock_36to/data/33800-stack/monitoring"
fi
# APRÈS
if [ -d "/stock_8to/33800-stack/monitoring" ]; then
BASE_DIR="/stock_8to/33800-stack/monitoring"
else
BASE_DIR="/mnt/stock_8to/33800-stack/monitoring"
fi
generate.sh - Même modification (lignes 7-12)
generate-needfinder.sh - Modifier ligne 8 :
# AVANT
MONITORING_DIR="/mnt/stock_36to/data/33800-stack/monitoring"
# APRÈS
MONITORING_DIR="/stock_8to/33800-stack/monitoring"
# Remplacer l'ancien cron
crontab -e
# Changer :
# 0 * * * * /stock_36to/data/33800-stack/monitoring/collect.sh ...
# Par :
# 0 * * * * /stock_8to/33800-stack/monitoring/collect.sh >> /var/log/monitoring-33800.log 2>&1
# 1. Exécuter collect.sh manuellement
/stock_8to/33800-stack/monitoring/collect.sh
# 2. Vérifier que current.json est mis à jour sur stock_8to
ls -la /stock_8to/33800-stack/monitoring/current.json
# 3. Exécuter generate.sh pour créer le dashboard HTML
/stock_8to/33800-stack/monitoring/generate.sh
# 4. Vérifier la sortie HTML
ls -la /tmp/dashboard-33800/index.html
# === 1. DOCKER PROD-PORTAINER ===
ssh gouroubleu@192.168.1.12 "sudo tee /etc/docker/daemon.json << 'EOF'
{\"data-root\": \"/mnt/stock_8to/33800-stack/docker/prod\"}
EOF"
ssh gouroubleu@192.168.1.12 "sudo systemctl restart docker && sleep 5 && docker ps"
# === 2. CORRIGER collect.sh ===
sed -i 's|/stock_36to/data/33800-stack/monitoring|/stock_8to/33800-stack/monitoring|g' /stock_8to/33800-stack/monitoring/collect.sh
sed -i 's|/mnt/stock_36to/data/33800-stack/monitoring|/mnt/stock_8to/33800-stack/monitoring|g' /stock_8to/33800-stack/monitoring/collect.sh
# === 3. CORRIGER generate.sh ===
sed -i 's|/stock_36to/data/33800-stack/monitoring|/stock_8to/33800-stack/monitoring|g' /stock_8to/33800-stack/monitoring/generate.sh
sed -i 's|/mnt/stock_36to/data/33800-stack/monitoring|/mnt/stock_8to/33800-stack/monitoring|g' /stock_8to/33800-stack/monitoring/generate.sh
# === 4. CORRIGER generate-needfinder.sh ===
sed -i 's|/mnt/stock_36to/data/33800-stack/monitoring|/stock_8to/33800-stack/monitoring|g' /stock_8to/33800-stack/monitoring/generate-needfinder.sh
# === 5. CORRIGER CRONTAB ===
crontab -l | sed 's|/stock_36to/data/33800-stack/monitoring|/stock_8to/33800-stack/monitoring|g' | crontab -
# === 6. TEST COMPLET ===
echo "=== Test collect.sh ===" && /stock_8to/33800-stack/monitoring/collect.sh && ls -la /stock_8to/33800-stack/monitoring/current.json
echo "=== Test generate.sh ===" && /stock_8to/33800-stack/monitoring/generate.sh && ls -la /tmp/dashboard-33800/index.html
# Docker et notifications sur prod-portainer
ssh gouroubleu@192.168.1.12 "docker ps --format 'table {{.Names}}\t{{.Status}}' | head -30"
# Vérifier scripts modifiés
grep -n "BASE_DIR" /stock_8to/33800-stack/monitoring/collect.sh | head -5
grep -n "BASE_DIR" /stock_8to/33800-stack/monitoring/generate.sh | head -5
# Crontab corrigé
crontab -l
# Test du flow complet
/stock_8to/33800-stack/monitoring/collect.sh && /stock_8to/33800-stack/monitoring/generate.sh
ls -la /stock_8to/33800-stack/monitoring/current.json
ls -la /tmp/dashboard-33800/
| Élément | Avant | Après |
|---|---|---|
| Docker daemon.json | stock_36to | stock_8to |
| collect.sh BASE_DIR | stock_36to | stock_8to |
| generate.sh BASE_DIR | stock_36to | stock_8to |
| generate-needfinder.sh | stock_36to | stock_8to |
| Crontab gouroubleu | stock_36to | stock_8to |