मुख्य सामग्री पर जाएं

ऑन-प्रेमाइज़ ट्रबलशूटिंग

यह गाइड ऑन-प्रेमाइज़ EKB तैनाती में समस्याओं की ट्रबलशूटिंग के लिए लेवल 1 (L1) निदान चरण प्रदान करता है। ये चरण कंटेनर, डेटाबेस, सेवाओं और सिस्टम संसाधनों के साथ सामान्य समस्याओं की पहचान करने में सहायता करते हैं।

warning

शर्तें: आपको 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

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