मुख्य सामग्री पर जाएं
यह गाइड ऑन-प्रेमाइज़ EKB तैनाती में समस्याओं की ट्रबलशूटिंग के लिए लेवल 1 (L1) निदान चरण प्रदान करता है। ये चरण कंटेनर, डेटाबेस, सेवाओं और सिस्टम संसाधनों के साथ सामान्य समस्याओं की पहचान करने में सहायता करते हैं।
शर्तें: आपको EKB तैनात किए गए ग्राहक के VM/सर्वर तक SSH पहुँच और Docker कमांड चलाने और कंटेनर लॉग तक पहुँचने के लिए उपयुक्त अनुमतियों की आवश्यकता है।

कंटेनर स्थिति जाँच

सभी कंटेनर स्थिति जाँचें

सबसे पहले, सत्यापित करें कि कौन से कंटेनर चल रहे हैं और उनकी स्वास्थ्य स्थिति:
# Check all containers status
docker ps -a

# Check containers with health status
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Health}}"

# Check specific container status
docker ps -a | grep <container_name>
अपेक्षित कंटेनर:
  • web - फ़्रंटएंड एप्लिकेशन
  • api या fastapi_backend - बैकएंड API सर्वर
  • worker या celery_worker - Celery वर्कर
  • redis - Redis कैश
  • rabbitmq - RabbitMQ संदेश कतार
  • supabase-studio - Supabase Studio
  • supabase-kong - Kong API Gateway
  • supabase-auth - Auth सेवा
  • supabase-db या postgres - PostgreSQL डेटाबेस
  • अन्य Supabase सेवाएँ (storage, meta, आदि)
क्या जाँचना है:
  • सभी कंटेनर “Up” स्थिति में होने चाहिए
  • कोई भी कंटेनर “Restarting” या “Exited” स्थिति में नहीं होना चाहिए
  • स्वास्थ्य जाँच जहाँ लागू हो वहाँ “healthy” दिखानी चाहिए

विफल कंटेनर पुनरारंभ करें

यदि कंटेनर बंद या पुनरारंभ हो रहे हैं:
# Restart a specific container
docker restart <container_name>

# Restart all containers
docker compose restart

# Restart specific service
docker compose restart <service_name>

बैकएंड कंटेनर लॉग

API कंटेनर लॉग जाँचें

बैकएंड API कंटेनर लॉग में त्रुटियों, डेटाबेस कनेक्शन और सेवा समस्याओं के बारे में महत्वपूर्ण जानकारी होती है:
# View recent logs (last 100 lines)
docker logs --tail 100 api

# Or for fastapi_backend
docker logs --tail 100 fastapi_backend

# Follow logs in real-time
docker logs -f api

# View logs with timestamps
docker logs -t api

# View logs from specific time
docker logs --since 30m api
क्या देखना है:
  • डेटाबेस कनेक्शन त्रुटियाँ
  • Redis कनेक्शन विफलताएँ
  • RabbitMQ कनेक्शन समस्याएँ
  • प्रमाणीकरण त्रुटियाँ
  • API एंडपॉइंट त्रुटियाँ (500, 503, आदि)
  • इम्पोर्ट/एक्सपोर्ट त्रुटियाँ
  • ज्ञान आधार प्रसंस्करण त्रुटियाँ
  • वर्कर कार्य विफलताएँ

वर्कर कंटेनर लॉग जाँचें

वर्कर कंटेनर पृष्ठभूमि कार्यों (KB प्रसंस्करण, एम्बेडिंग, आदि) को संभालते हैं:
# Check worker logs
docker logs --tail 100 worker

# Or for celery_worker
docker logs --tail 100 celery_worker

# Check all worker instances
docker ps | grep worker
docker logs <worker_container_name>
क्या देखना है:
  • कार्य निष्पादन त्रुटियाँ
  • मेमोरी समस्याएँ
  • टाइमआउट त्रुटियाँ
  • वर्कर में डेटाबेस कनेक्शन त्रुटियाँ
  • ज्ञान आधार सिंक विफलताएँ
  • एम्बेडिंग जनरेशन त्रुटियाँ

वेब कंटेनर लॉग जाँचें

फ़्रंटएंड कंटेनर लॉग UI और API कनेक्शन समस्याओं को प्रकट कर सकते हैं:
# Check web container logs
docker logs --tail 100 web

# Follow logs
docker logs -f web
क्या देखना है:
  • बिल्ड त्रुटियाँ
  • API कनेक्शन विफलताएँ
  • एनवायरनमेंट वेरिएबल समस्याएँ
  • पोर्ट बाइंडिंग त्रुटियाँ

डेटाबेस स्थिति

PostgreSQL/Supabase डेटाबेस स्थिति जाँचें

# Check database container status
docker ps | grep -E "(db|postgres|supabase-db)"

# Check database container logs
docker logs --tail 100 supabase-db

# Connect to database (if psql is available)
docker exec -it supabase-db psql -U postgres

# Check database connections
docker exec supabase-db psql -U postgres -c "SELECT count(*) FROM pg_stat_activity;"

# Check database size
docker exec supabase-db psql -U postgres -c "SELECT pg_size_pretty(pg_database_size('postgres'));"
क्या जाँचना है:
  • डेटाबेस कंटेनर चल रहा है
  • लॉग में कोई कनेक्शन त्रुटि नहीं
  • डेटाबेस भरा नहीं है (डिस्क स्थान जाँचें)
  • सक्रिय कनेक्शन सीमाओं के भीतर हैं
  • कोई लंबी चलने वाली क्वेरी संचालन को अवरुद्ध नहीं कर रही

Redis स्थिति

Redis कंटेनर जाँचें

# Check Redis container status
docker ps | grep redis

# Check Redis logs
docker logs --tail 100 redis

# Test Redis connection
docker exec redis redis-cli ping

# Should return: PONG

# Check Redis info
docker exec redis redis-cli info

# Check Redis memory usage
docker exec redis redis-cli info memory
क्या जाँचना है:
  • Redis ping का जवाब दे रहा है
  • मेमोरी उपयोग सीमाओं के भीतर है
  • कोई कनेक्शन त्रुटि नहीं
  • कोई eviction त्रुटि नहीं (मेमोरी भरी)

RabbitMQ स्थिति

RabbitMQ कंटेनर जाँचें

# Check RabbitMQ container status
docker ps | grep rabbitmq

# Check RabbitMQ logs
docker logs --tail 100 rabbitmq
क्या जाँचना है:
  • कंटेनर चल रहा है
  • कोई कनेक्शन त्रुटि नहीं
  • कतारें संदेश प्रसंस्करित कर रही हैं
  • कोई संदेश बैकलॉग नहीं

सिस्टम संसाधन

डिस्क स्थान जाँचें

# Check overall disk usage
df -h

# Check disk usage for Docker volumes
docker system df
क्या जाँचना है:
  • रूट पार्टीशन में पर्याप्त स्थान है (>20% मुक्त अनुशंसित)
  • Docker volumes भरे नहीं हैं
  • डेटाबेस डेटा निर्देशिका में स्थान है

मेमोरी उपयोग जाँचें

# Check system memory
free -h

# Check container memory usage
docker stats --no-stream
क्या जाँचना है:
  • सिस्टम में उपलब्ध मेमोरी है
  • कंटेनर मेमोरी सीमाओं को नहीं छू रहे
  • लॉग में कोई OOM (Out of Memory) हत्या नहीं

नेटवर्क कनेक्टिविटी

कंटेनर नेटवर्क जाँचें

# Check Docker network
docker network ls

# Check if containers can communicate
docker exec api ping -c 3 redis
docker exec api ping -c 3 rabbitmq
docker exec api ping -c 3 supabase-db

एनवायरनमेंट वेरिएबल

एनवायरनमेंट कॉन्फ़िगरेशन जाँचें

# Check environment variables for a container
docker exec api env | grep -E "(DATABASE|REDIS|RABBITMQ|API)"

# Check environment from docker-compose
docker compose config
क्या जाँचना है:
  • डेटाबेस कनेक्शन स्ट्रिंग्स सही हैं
  • Redis और RabbitMQ होस्टनेम सही हैं
  • API URLs ठीक से कॉन्फ़िगर हैं
  • आवश्यक एनवायरनमेंट वेरिएबल सेट हैं
  • वेरिएबल नामों में कोई टाइपो नहीं

सामान्य त्रुटि पैटर्न

डेटाबेस कनेक्शन त्रुटियाँ

लक्षण:
  • “Connection refused” त्रुटियाँ
  • “Too many connections” त्रुटियाँ
  • टाइमआउट त्रुटियाँ
निदान चरण:
  1. जाँचें कि डेटाबेस कंटेनर चल रहा है: docker ps | grep db
  2. डेटाबेस लॉग जाँचें: docker logs supabase-db
  3. कनेक्शन सीमाएँ जाँचें: docker exec supabase-db psql -U postgres -c "SHOW max_connections;"
  4. सक्रिय कनेक्शन जाँचें: docker exec supabase-db psql -U postgres -c "SELECT count(*) FROM pg_stat_activity;"

एस्केलेशन जानकारी

L2 सहायता को एस्केलेट करते समय प्रदान करें:
  1. कंटेनर स्थिति: docker ps -a का आउटपुट
  2. हाल के लॉग: प्रासंगिक कंटेनरों से अंतिम 100-200 पंक्तियाँ
  3. सिस्टम संसाधन: df -h और free -h का आउटपुट
  4. त्रुटि संदेश: लॉग से विशिष्ट त्रुटि संदेश
  5. सेट किए गए वेरिएबल: एनवायरनमेंट वेरिएबल नाम (मान नहीं)
  6. समयरेखा: समस्या कब शुरू हुई
  7. प्रभाव: कौन सी कार्यक्षमता प्रभावित है
सहायता से संपर्क करें: support@automationanywhere.com

अतिरिक्त संसाधन