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-manageraffichentNVIDIA CUDA: NOau 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 :
- Utiliser un UID codé en dur : Dans
datasource.yml, assurez-vous deuid: prometheus. - Nettoyer le JSON : Remplacez
"${DS_PROMETHEUS}"par"prometheus"dans tous les fichiers JSON de tableaux de bord. - 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: falsedansdashboard.ymlpour forcer le chargement basé sur les fichiers, ou supprimez le volumegrafana-data.
- Correction : Définissez
🌐 "Server Misbehaving" (Erreur DNS)
Symptômes :
- La page Targets de Prometheus affiche
downpourmonitoring-cadvisoroumonitoring-node-exporter. - Erreur :
server returned HTTP status 503oudial 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.