Ce guide fournit des étapes de diagnostic de niveau 1 (L1) pour le dépannage des problèmes dans les déploiements EKB On-Premise. Ces étapes aident à identifier les problèmes courants liés aux conteneurs, aux bases de données, aux services et aux ressources système.
Prérequis : Vous devez avoir accès SSH à la VM/serveur du client où EKB est déployé, ainsi que les autorisations appropriées pour exécuter des commandes Docker et accéder aux journaux des conteneurs.
Vérifications de l’État des Conteneurs
Vérifier l’État de Tous les Conteneurs
Commencez par vérifier quels conteneurs sont en cours d’exécution et leur état de santé :
Conteneurs Attendus :
web - Application frontend
api ou fastapi_backend - Serveur API backend
worker ou celery_worker - Worker(s) Celery
redis - Cache Redis
rabbitmq - File d’attente de messages RabbitMQ
supabase-studio - Supabase Studio
supabase-kong - Passerelle API Kong
supabase-auth - Service d’authentification
supabase-db ou postgres - Base de données PostgreSQL
- Autres services Supabase (stockage, métadonnées, etc.)
Éléments à Vérifier :
- Tous les conteneurs doivent être à l’état « Up »
- Aucun conteneur ne doit être à l’état « Restarting » ou « Exited »
- Les contrôles de santé doivent afficher « healthy » le cas échéant
Redémarrer les Conteneurs Défaillants
Si les conteneurs sont arrêtés ou redémarrent :
Journaux des Conteneurs Backend
Vérifier les Journaux du Conteneur API
Les journaux du conteneur API backend contiennent des informations critiques sur les erreurs, les connexions de base de données et les problèmes de service :
Éléments à Rechercher :
- Erreurs de connexion à la base de données
- Échecs de connexion à Redis
- Problèmes de connexion à RabbitMQ
- Erreurs d’authentification
- Erreurs des points de terminaison API (500, 503, etc.)
- Erreurs d’import/export
- Erreurs de traitement de la Knowledge Base
- Défaillances des tâches de worker
Vérifier les Journaux du Conteneur Worker
Les conteneurs worker gèrent les tâches en arrière-plan (traitement KB, embeddings, etc.) :
Éléments à Rechercher :
- Erreurs d’exécution de tâches
- Problèmes de mémoire
- Erreurs de délai d’expiration
- Erreurs de connexion à la base de données dans les workers
- Défaillances de synchronisation de la Knowledge Base
- Erreurs de génération d’embeddings
Vérifier les Journaux du Conteneur Web
Les journaux du conteneur frontend peuvent révéler des problèmes de connexion à l’interface utilisateur et à l’API :
Éléments à Rechercher :
- Erreurs de compilation
- Défaillances de connexion à l’API
- Problèmes de variables d’environnement
- Erreurs de liaison de port
État de la Base de Données
Vérifier l’État de la Base de Données PostgreSQL/Supabase
Éléments à Vérifier :
- Le conteneur de base de données est en cours d’exécution
- Aucune erreur de connexion dans les journaux
- La base de données n’est pas pleine (vérifier l’espace disque)
- Les connexions actives sont dans les limites
- Aucune requête longue bloquant les opérations
Vérifier la Connectivité de la Base de Données à partir de l’API
Vérifier les Migrations de Base de Données
État de Redis
Vérifier le Conteneur Redis
Éléments à Vérifier :
- Redis répond à la requête ping
- L’utilisation de la mémoire est dans les limites
- Aucune erreur de connexion
- Aucune erreur d’éviction (mémoire pleine)
Tester Redis à partir du Conteneur API
État de RabbitMQ
Vérifier le Conteneur RabbitMQ
Éléments à Vérifier :
- Le conteneur est en cours d’exécution
- Aucune erreur de connexion
- Les files d’attente traitent les messages
- Aucun arriéré de messages
Vérifier RabbitMQ à partir de l’API
Ressources Système
Vérifier l’Espace Disque
Un espace disque faible peut causer des problèmes de base de données, de stockage et de conteneurs :
Éléments à Vérifier :
- La partition racine a suffisamment d’espace (>20% d’espace libre recommandé)
- Les volumes Docker ne sont pas pleins
- Le répertoire des données de la base de données a de l’espace
- Le stockage Supabase a de l’espace
Vérifier l’Utilisation de la Mémoire
Éléments à Vérifier :
- Le système dispose de mémoire disponible
- Les conteneurs ne dépassent pas les limites de mémoire
- Aucune suppression OOM (Out of Memory) dans les journaux
Vérifier l’Utilisation du Processeur
Connectivité Réseau
Vérifier le Réseau du Conteneur
Vérifier la Disponibilité des Ports
Variables d’Environnement
Vérifier la Configuration de l’Environnement
Éléments à Vérifier :
- Les chaînes de connexion à la base de données sont correctes
- Les noms d’hôtes Redis et RabbitMQ sont corrects
- Les URL de l’API sont correctement configurées
- Les variables d’environnement requises sont définies
- Aucune faute de frappe dans les noms de variables
Permissions des Fichiers
Vérifier les Permissions des Fichiers et Répertoires
Éléments à Vérifier :
- Les répertoires d’application sont lisibles
- La socket Docker a les permissions correctes
- Les montages de volumes ont les permissions appropriées
- Les fichiers de certificats sont accessibles
Vérifications Spécifiques au Service
Problèmes de Knowledge Base
Si la Knowledge Base ne se met pas à jour ou ne traite pas :
Problèmes de Chat/Agent
Problèmes d’Authentification
Modèles d’Erreurs Courants
Erreurs de Connexion à la Base de Données
Symptômes :
- Erreurs « Connection refused »
- Erreurs « Too many connections »
- Erreurs de délai d’expiration
Étapes de Diagnostic :
- Vérifier que le conteneur de base de données est en cours d’exécution :
docker ps | grep db
- Vérifier les journaux de la base de données :
docker logs supabase-db
- Vérifier les limites de connexion :
docker exec supabase-db psql -U postgres -c "SHOW max_connections;"
- Vérifier les connexions actives :
docker exec supabase-db psql -U postgres -c "SELECT count(*) FROM pg_stat_activity;"
- Vérifier la DATABASE_URL dans les variables d’environnement
Erreurs de Connexion à Redis
Symptômes :
- « Connection refused » vers Redis
- Absences de cache
- Problèmes de session
Étapes de Diagnostic :
- Vérifier le conteneur Redis :
docker ps | grep redis
- Tester Redis :
docker exec redis redis-cli ping
- Vérifier les journaux de Redis :
docker logs redis
- Vérifier le nom d’hôte de Redis dans les variables d’environnement
Défaillances des Tâches de Worker
Symptômes :
- Les tâches ne se complètent pas
- La Knowledge Base ne se synchronise pas
- Les tâches en arrière-plan échouent
Étapes de Diagnostic :
- Vérifier les journaux du worker :
docker logs worker
- Vérifier l’état du conteneur worker :
docker ps | grep worker
- Vérifier les files d’attente RabbitMQ : Accéder à l’interface de gestion RabbitMQ
- Vérifier les problèmes de mémoire :
docker stats worker
Problèmes de Stockage/Téléchargement de Fichiers
Symptômes :
- Défaillances du téléchargement de fichiers
- Erreurs « File too large »
- Quota de stockage dépassé
Étapes de Diagnostic :
- Vérifier l’espace disque :
df -h
- Vérifier les journaux du stockage Supabase :
docker logs supabase-storage
- Vérifier les limites de taille de fichier dans la configuration Supabase
- Vérifier la configuration du bucket de stockage
Script de Diagnostic Rapide
Créez un script de diagnostic pour exécuter toutes les vérifications à la fois :
Enregistrez sous diagnostics.sh, rendez exécutable : chmod +x diagnostics.sh, et exécutez : ./diagnostics.sh
Lors de l’escalade au support L2, fournissez :
- État des Conteneurs : Résultat de
docker ps -a
- Journaux Récents : Dernières 100-200 lignes des conteneurs pertinents
- Ressources Système : Résultat de
df -h et free -h
- Messages d’Erreur : Messages d’erreur spécifiques des journaux
- Configuration : Noms des variables d’environnement (pas les valeurs) qui sont définies
- Chronologie : Quand le problème a commencé
- Impact : Quelles fonctionnalités sont affectées
Contacter le Support : support@automationanywhere.com
Ressources Supplémentaires