L1 diagnostic steps for troubleshooting on-premise Odin AI deployments
This guide provides Level 1 (L1) diagnostic steps for troubleshooting issues in on-premise Odin AI deployments. These steps help identify common problems with containers, databases, services, and system resources.
Prerequisites: You need SSH access to the customer’s VM/server where Odin AI is deployed, and appropriate permissions to run Docker commands and access container logs.
First, verify which containers are running and their health status:
# Check all containers statusdocker ps -a# Check containers with health statusdocker ps --format "table {{.Names}}\t{{.Status}}\t{{.Health}}"# Check specific container statusdocker ps -a | grep <container_name>
Expected Containers:
web - Frontend application
api or fastapi_backend - Backend API server
worker or celery_worker - Celery worker(s)
redis - Redis cache
rabbitmq - RabbitMQ message queue
supabase-studio - Supabase Studio
supabase-kong - Kong API Gateway
supabase-auth - Auth service
supabase-db or postgres - PostgreSQL database
Other Supabase services (storage, meta, etc.)
What to Check:
All containers should be in “Up” status
No containers should be in “Restarting” or “Exited” state
Health checks should show “healthy” where applicable
# Restart a specific containerdocker restart <container_name># Restart all containersdocker compose restart# Restart specific servicedocker compose restart <service_name>
# Check if migrations are up to datedocker exec api alembic current# Check migration historydocker exec api alembic history# View pending migrationsdocker exec api alembic heads
# Check if ports are in usenetstat -tulpn | grep -E "(3001|8001|6379|5672|5432|8000)"# Or using ssss -tulpn | grep -E "(3001|8001|6379|5672|5432|8000)"# Check port from containerdocker exec api curl -I http://localhost:8001/health