메인 콘텐츠로 건너뛰기
이 가이드는 온프레미스 EKB 배포에서 문제를 해결하기 위한 레벨 1 (L1) 진단 단계를 제공합니다. 이 단계는 컨테이너, 데이터베이스, 서비스, 시스템 리소스와 관련된 일반적인 문제를 식별하는 데 도움이 됩니다.
전제 조건: EKB가 배포된 고객의 VM/서버에 대한 SSH 접근 권한과 Docker 명령 실행 및 컨테이너 로그 접근에 대한 적절한 권한이 필요합니다.

컨테이너 상태 확인

모든 컨테이너 상태 확인

먼저 실행 중인 컨테이너와 해당 상태를 확인합니다:
예상 컨테이너:
  • web - 프론트엔드 애플리케이션
  • api 또는 fastapi_backend - 백엔드 API 서버
  • worker 또는 celery_worker - Celery 워커
  • redis - Redis 캐시
  • rabbitmq - RabbitMQ 메시지 큐
  • supabase-studio - Supabase Studio
  • supabase-kong - Kong API 게이트웨이
  • supabase-auth - 인증 서비스
  • supabase-db 또는 postgres - PostgreSQL 데이터베이스
  • 기타 Supabase 서비스 (storage, meta 등)
확인 사항:
  • 모든 컨테이너가 “Up” 상태여야 합니다
  • 어떤 컨테이너도 “Restarting” 또는 “Exited” 상태여서는 안 됩니다
  • 해당되는 경우 상태 검사가 “healthy”로 표시되어야 합니다

실패한 컨테이너 재시작

컨테이너가 중지되었거나 재시작 중인 경우:

백엔드 컨테이너 로그

API 컨테이너 로그 확인

백엔드 API 컨테이너 로그에는 오류, 데이터베이스 연결, 서비스 문제에 대한 중요한 정보가 포함되어 있습니다:
확인 사항:
  • 데이터베이스 연결 오류
  • Redis 연결 실패
  • RabbitMQ 연결 문제
  • 인증 오류
  • API 엔드포인트 오류 (500, 503 등)
  • 가져오기/내보내기 오류
  • 지식 베이스 처리 오류
  • 워커 작업 실패

워커 컨테이너 로그 확인

워커 컨테이너는 백그라운드 작업 (KB 처리, 임베딩 등)을 처리합니다:
확인 사항:
  • 작업 실행 오류
  • 메모리 문제
  • 타임아웃 오류
  • 워커의 데이터베이스 연결 오류
  • 지식 베이스 동기화 실패
  • 임베딩 생성 오류

웹 컨테이너 로그 확인

프론트엔드 컨테이너 로그에서 UI 및 API 연결 문제를 확인할 수 있습니다:
확인 사항:
  • 빌드 오류
  • API 연결 실패
  • 환경 변수 문제
  • 포트 바인딩 오류

데이터베이스 상태

PostgreSQL/Supabase 데이터베이스 상태 확인

확인 사항:
  • 데이터베이스 컨테이너가 실행 중인지
  • 로그에 연결 오류가 없는지
  • 데이터베이스가 가득 차지 않았는지 (디스크 공간 확인)
  • 활성 연결이 제한 내에 있는지
  • 작업을 차단하는 장시간 실행 쿼리가 없는지

API에서 데이터베이스 연결 확인

데이터베이스 마이그레이션 확인

Redis 상태

Redis 컨테이너 확인

확인 사항:
  • Redis가 ping에 응답하는지
  • 메모리 사용량이 제한 내에 있는지
  • 연결 오류가 없는지
  • eviction 오류 (메모리 부족)가 없는지

API 컨테이너에서 Redis 테스트

RabbitMQ 상태

RabbitMQ 컨테이너 확인

확인 사항:
  • 컨테이너가 실행 중인지
  • 연결 오류가 없는지
  • 큐가 메시지를 처리하고 있는지
  • 메시지 백로그가 없는지

API에서 RabbitMQ 확인

시스템 리소스

디스크 공간 확인

디스크 공간 부족은 데이터베이스, 스토리지, 컨테이너 문제를 일으킬 수 있습니다:
확인 사항:
  • 루트 파티션에 충분한 공간이 있는지 (>20% 여유 공간 권장)
  • Docker 볼륨이 가득 차지 않았는지
  • 데이터베이스 데이터 디렉토리에 공간이 있는지
  • Supabase 스토리지에 공간이 있는지

메모리 사용량 확인

확인 사항:
  • 시스템에 사용 가능한 메모리가 있는지
  • 컨테이너가 메모리 제한에 도달하지 않았는지
  • 로그에 OOM (메모리 부족) 킬이 없는지

CPU 사용량 확인

네트워크 연결

컨테이너 네트워크 확인

포트 가용성 확인

환경 변수

환경 구성 확인

확인 사항:
  • 데이터베이스 연결 문자열이 올바른지
  • Redis 및 RabbitMQ 호스트 이름이 올바른지
  • API URL이 올바르게 구성되어 있는지
  • 필수 환경 변수가 설정되어 있는지
  • 변수 이름에 오타가 없는지

파일 권한

파일 및 디렉토리 권한 확인

확인 사항:
  • 애플리케이션 디렉토리가 읽기 가능한지
  • Docker 소켓에 올바른 권한이 있는지
  • 볼륨 마운트에 적절한 권한이 있는지
  • 인증서 파일에 접근할 수 있는지

서비스별 확인

지식 베이스 문제

지식 베이스가 업데이트되거나 처리되지 않는 경우:

채팅/에이전트 문제

인증 문제

일반적인 오류 패턴

데이터베이스 연결 오류

증상:
  • “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;"
  5. 환경 변수에서 DATABASE_URL 확인

Redis 연결 오류

증상:
  • Redis에 “Connection refused”
  • 캐시 미스
  • 세션 문제
진단 단계:
  1. Redis 컨테이너 확인: docker ps | grep redis
  2. Redis 테스트: docker exec redis redis-cli ping
  3. Redis 로그 확인: docker logs redis
  4. 환경 변수에서 Redis 호스트 이름 확인

워커 작업 실패

증상:
  • 작업이 완료되지 않음
  • 지식 베이스가 동기화되지 않음
  • 백그라운드 작업 실패
진단 단계:
  1. 워커 로그 확인: docker logs worker
  2. 워커 컨테이너 상태 확인: docker ps | grep worker
  3. RabbitMQ 큐 확인: RabbitMQ 관리 콘솔 접근
  4. 메모리 문제 확인: docker stats worker

스토리지/파일 업로드 문제

증상:
  • 파일 업로드 실패
  • “File too large” 오류
  • 스토리지 할당량 초과
진단 단계:
  1. 디스크 공간 확인: df -h
  2. Supabase 스토리지 로그 확인: docker logs supabase-storage
  3. Supabase 구성에서 파일 크기 제한 확인
  4. 스토리지 버킷 구성 확인

빠른 진단 스크립트

모든 확인을 한 번에 실행하는 진단 스크립트를 만듭니다:
diagnostics.sh로 저장하고 실행 가능하게 만듭니다: chmod +x diagnostics.sh, 그리고 실행합니다: ./diagnostics.sh

에스컬레이션 정보

L2 지원으로 에스컬레이션할 때 다음을 제공하세요:
  1. 컨테이너 상태: docker ps -a 출력
  2. 최근 로그: 해당 컨테이너의 최근 100-200줄
  3. 시스템 리소스: df -hfree -h 출력
  4. 오류 메시지: 로그의 특정 오류 메시지
  5. 구성: 설정된 환경 변수 이름 (값이 아닌)
  6. 타임라인: 문제가 시작된 시점
  7. 영향: 영향을 받는 기능
지원팀 문의: support@automationanywhere.com

추가 리소스