Aller au contenu principal

Dépannage

Problèmes courants rencontrés lors du déploiement de la pile de surveillance et comment les résoudre.

🛑 "NVIDIA CUDA: NO" dans les logs

Symptômes :

  • Les logs de camera-manager affichent NVIDIA CUDA: NO au démarrage.
  • Erreur de log : Could not find decoder 'h264_cuvid'.
  • Utilisation élevée du CPU (ffmpeg se replie sur le décodage logiciel).

Cause : Le paquet ultralytics (YOLO) déclare opencv-python (version CPU) comme dépendance. Pip l'installe automatiquement, écrasant le OpenCV header-only personnalisé (version CUDA) fourni par l'image de base.

Solution : Vous devez désinstaller explicitement le paquet standard dans le Dockerfile :

# séquence correcte
RUN pip install -r requirements.cuda.txt && \
pip uninstall -y opencv-python opencv-python-headless

Et Reconstruire l'image : docker-compose up -d --build --force-recreate.

📉 Grafana : "Datasource not found"

Symptômes :

  • Les tableaux de bord affichent des boîtes d'erreur rouges.
  • Message d'erreur : Datasource ${DS_PROMETHEUS} was not found.

Cause : Cela se produit lors de l'importation de tableaux de bord exportés depuis d'autres systèmes qui utilisent des variables de template pour les sources de données, mais votre instance Grafana attend un UID codé en dur (par ex., prometheus).

Solution :

  1. Utiliser un UID codé en dur : Dans datasource.yml, assurez-vous de uid: prometheus.
  2. Nettoyer le JSON : Remplacez "${DS_PROMETHEUS}" par "prometheus" dans tous les fichiers JSON de tableaux de bord.
  3. Supprimer le cache : Grafana stocke les tableaux de bord dans sa base de données SQLite. Si vous avez mis à jour le fichier JSON mais ne voyez aucun changement, Grafana sert la version en cache.
    • Correction : Définissez allowUiUpdates: false dans dashboard.yml pour forcer le chargement basé sur les fichiers, ou supprimez le volume grafana-data.

🌐 "Server Misbehaving" (Erreur DNS)

Symptômes :

  • La page Targets de Prometheus affiche down pour monitoring-cadvisor ou monitoring-node-exporter.
  • Erreur : server returned HTTP status 503 ou dial tcp: lookup monitoring-cadvisor on ...: no such host.

Cause : Les conteneurs ne sont probablement pas sur le même réseau Docker (monitor-net).

Solution : Vérifiez docker network inspect monitor-net. Les 5 conteneurs de surveillance ET le camera-manager doivent être listés dans la section Containers. Si ce n'est pas le cas, vérifiez les définitions de réseau dans docker-compose.yml.