Esta guía proporciona pasos diagnósticos de Nivel 1 (L1) para solucionar problemas en despliegues On-Premise de EKB. Estos pasos ayudan a identificar problemas comunes con contenedores, bases de datos, servicios y recursos del sistema.
Requisitos previos: Necesita acceso SSH a la VM/servidor del cliente donde está desplegado EKB, y permisos apropiados para ejecutar comandos Docker y acceder a registros de contenedores.
Verificaciones de Estado de Contenedores
Verificar Estado de Todos los Contenedores
Primero, verifique qué contenedores están ejecutándose y su estado de salud:
Contenedores Esperados:
web - Aplicación frontend
api o fastapi_backend - Servidor API backend
worker o celery_worker - Worker(s) de Celery
redis - Caché Redis
rabbitmq - Cola de mensajes RabbitMQ
supabase-studio - Supabase Studio
supabase-kong - API Gateway Kong
supabase-auth - Servicio de autenticación
supabase-db o postgres - Base de datos PostgreSQL
- Otros servicios de Supabase (almacenamiento, meta, etc.)
Qué Verificar:
- Todos los contenedores deben estar en estado “Up”
- Ningún contenedor debe estar en estado “Restarting” o “Exited”
- Las verificaciones de salud deben mostrar “healthy” donde corresponda
Reiniciar Contenedores Fallidos
Si los contenedores están detenidos o reiniciándose:
Registros del Contenedor Backend
Verificar Registros del Contenedor API
Los registros del contenedor API backend contienen información crítica sobre errores, conexiones de base de datos y problemas de servicio:
Qué Buscar:
- Errores de conexión a base de datos
- Fallos de conexión Redis
- Problemas de conexión RabbitMQ
- Errores de autenticación
- Errores de endpoints API (500, 503, etc.)
- Errores de importación/exportación
- Errores de procesamiento de Base de Conocimiento
- Fallos de tareas de workers
Verificar Registros del Contenedor Worker
Los contenedores worker manejan tareas en segundo plano (procesamiento de KB, embeddings, etc.):
Qué Buscar:
- Errores de ejecución de tareas
- Problemas de memoria
- Errores de tiempo de espera agotado
- Errores de conexión a base de datos en workers
- Fallos de sincronización de Base de Conocimiento
- Errores de generación de embeddings
Verificar Registros del Contenedor Web
Los registros del contenedor frontend pueden revelar problemas de conexión con la UI y la API:
Qué Buscar:
- Errores de compilación
- Fallos de conexión API
- Problemas de variables de entorno
- Errores de enlace de puertos
Estado de la Base de Datos
Verificar Estado de PostgreSQL/Supabase Database
Qué Verificar:
- El contenedor de base de datos está ejecutándose
- No hay errores de conexión en los registros
- La base de datos no está llena (verifique el espacio en disco)
- Las conexiones activas están dentro de los límites
- No hay consultas de larga ejecución bloqueando operaciones
Verificar Conectividad de Base de Datos desde la API
Verificar Migraciones de Base de Datos
Estado de Redis
Verificar Contenedor Redis
Qué Verificar:
- Redis responde al ping
- El uso de memoria está dentro de los límites
- No hay errores de conexión
- No hay errores de expulsión (memoria llena)
Probar Redis desde el Contenedor API
Estado de RabbitMQ
Verificar Contenedor RabbitMQ
Qué Verificar:
- El contenedor está ejecutándose
- No hay errores de conexión
- Las colas están procesando mensajes
- No hay acumulación de mensajes
Verificar RabbitMQ desde la API
Recursos del Sistema
Verificar Espacio en Disco
El espacio bajo en disco puede causar problemas de base de datos, almacenamiento y contenedores:
Qué Verificar:
- La partición raíz tiene espacio suficiente (se recomienda >20% libre)
- Los volúmenes Docker no están llenos
- El directorio de datos de la base de datos tiene espacio
- El almacenamiento de Supabase tiene espacio
Verificar Uso de Memoria
Qué Verificar:
- El sistema tiene memoria disponible
- Los contenedores no están alcanzando los límites de memoria
- No hay muertes OOM (Out of Memory) en los registros
Verificar Uso de CPU
Conectividad de Red
Verificar Red de Contenedores
Verificar Disponibilidad de Puertos
Variables de Entorno
Verificar Configuración de Entorno
Qué Verificar:
- Las cadenas de conexión a la base de datos son correctas
- Los nombres de host de Redis y RabbitMQ son correctos
- Las URL de la API están configuradas correctamente
- Las variables de entorno requeridas están establecidas
- No hay errores tipográficos en los nombres de variables
Permisos de Archivos
Verificar Permisos de Archivos y Directorios
Qué Verificar:
- Los directorios de la aplicación son legibles
- El socket Docker tiene permisos correctos
- Los montajes de volumen tienen permisos adecuados
- Los archivos de certificado son accesibles
Verificaciones Específicas por Servicio
Problemas de Base de Conocimiento
Si la Base de Conocimiento no se actualiza o procesa:
Problemas de Chat/Agente
Problemas de Autenticación
Patrones de Errores Comunes
Errores de Conexión a Base de Datos
Síntomas:
- Errores de “Connection refused”
- Errores de “Too many connections”
- Errores de tiempo de espera agotado
Pasos Diagnósticos:
- Verificar que el contenedor de base de datos esté ejecutándose:
docker ps | grep db
- Verificar registros de la base de datos:
docker logs supabase-db
- Verificar límites de conexión:
docker exec supabase-db psql -U postgres -c "SHOW max_connections;"
- Verificar conexiones activas:
docker exec supabase-db psql -U postgres -c "SELECT count(*) FROM pg_stat_activity;"
- Verificar DATABASE_URL en las variables de entorno
Errores de Conexión Redis
Síntomas:
- “Connection refused” a Redis
- Fallos de caché
- Problemas de sesión
Pasos Diagnósticos:
- Verificar contenedor Redis:
docker ps | grep redis
- Probar Redis:
docker exec redis redis-cli ping
- Verificar registros de Redis:
docker logs redis
- Verificar el nombre de host Redis en las variables de entorno
Fallos de Tareas de Workers
Síntomas:
- Las tareas no se completan
- La Base de Conocimiento no se sincroniza
- Trabajos en segundo plano fallan
Pasos Diagnósticos:
- Verificar registros del worker:
docker logs worker
- Verificar estado del contenedor worker:
docker ps | grep worker
- Verificar colas RabbitMQ: Acceder a la interfaz de gestión de RabbitMQ
- Verificar problemas de memoria:
docker stats worker
Problemas de Almacenamiento/Carga de Archivos
Síntomas:
- Las cargas de archivos fallan
- Errores de “File too large”
- Cuota de almacenamiento excedida
Pasos Diagnósticos:
- Verificar espacio en disco:
df -h
- Verificar registros de almacenamiento de Supabase:
docker logs supabase-storage
- Verificar límites de tamaño de archivo en la configuración de Supabase
- Verificar configuración del bucket de almacenamiento
Script de Diagnóstico Rápido
Cree un script de diagnóstico para ejecutar todas las verificaciones a la vez:
Guarde como diagnostics.sh, hágalo ejecutable: chmod +x diagnostics.sh, y ejecute: ./diagnostics.sh
Al escalar al soporte Nivel 2, proporcione:
- Estado de Contenedores: Salida de
docker ps -a
- Registros Recientes: Últimas 100-200 líneas de los contenedores relevantes
- Recursos del Sistema: Salida de
df -h y free -h
- Mensajes de Error: Mensajes de error específicos de los registros
- Configuración: Nombres de variables de entorno (no valores) que están configuradas
- Cronología: Cuándo comenzó el problema
- Impacto: Qué funcionalidad se ve afectada
Contactar Soporte: support@automationanywhere.com
Recursos Adicionales