このガイドでは、オンプレミス EKB 導入における問題のトラブルシューティングのためのレベル 1 (L1) 診断手順を説明します。これらの手順は、コンテナー、データベース、サービス、システム リソースに関する一般的な問題を特定するのに役立ちます。
Prerequisites: You need SSH access to the customer’s VM/server where EKB is deployed, and appropriate permissions to run Docker commands and access container logs.
コンテナのステータスチェック
すべてのコンテナのステータスを確認する
まず、実行中のコンテナとその健全性ステータスを確認します。
予想されるコンテナ:
web - フロントエンド アプリケーション
api または fastapi_backend - バックエンド API サーバー
worker または celery_worker - セロリワーカー
redis - Redis キャッシュ
rabbitmq - RabbitMQ メッセージ キュー
supabase-studio - Supabase スタジオ
supabase-kong - Kong API ゲートウェイ
supabase-auth - 認証サービス
supabase-db または postgres - PostgreSQL データベース
- その他の Supabase サービス (ストレージ、メタなど)
確認事項:
- すべてのコンテナが「稼働中」ステータスである必要があります
- コンテナは「再起動中」または「終了」状態であってはなりません
- ヘルスチェックでは、該当する場合は「正常」と表示される必要があります
失敗したコンテナを再起動する
コンテナが停止または再起動している場合:
バックエンドコンテナログ
API コンテナのログを確認する
バックエンド API コンテナーのログには、エラー、データベース接続、サービスの問題に関する重要な情報が含まれています。
注意すべき点:
- データベース接続エラー
- Redis 接続の失敗
- RabbitMQ 接続の問題
- 認証エラー
- API エンドポイント エラー (500、503 など)
- インポート/エクスポートのエラー
- ナレッジベースの処理エラー
- ワーカータスクの失敗
ワーカー コンテナのログを確認する
ワーカー コンテナはバックグラウンド タスク (KB 処理、埋め込みなど) を処理します。
注意すべき点:
- タスク実行エラー
- メモリの問題
- タイムアウトエラー
- ワーカーでのデータベース接続エラー
- ナレッジベースの同期エラー
- 埋め込み生成エラー
Web コンテナのログを確認する
フロントエンド コンテナーのログにより、UI と API の接続の問題が明らかになる場合があります。
注意すべき点:
- ビルドエラー
- API接続の失敗
- 環境変数の問題
- ポートバインディングエラー
データベースのステータス
PostgreSQL/Supabase データベースのステータスを確認する
確認事項:
- データベースコンテナが実行中である
- 接続エラーがログに記録されない
- データベースがいっぱいではありません (ディスク容量を確認してください)
- アクティブな接続は制限内です
- 操作をブロックする長時間実行クエリなし
API からデータベース接続を確認する
データベースの移行を確認する
Redis ステータス
Redis コンテナを確認する
確認事項:
- Redis が ping に応答しています
- メモリ使用量が制限内にある
- 接続エラーなし
- エビクション エラーなし (メモリがいっぱい)
API コンテナから Redis をテストする
RabbitMQ ステータス
RabbitMQ コンテナを確認する
確認事項:
- コンテナは実行中です
- 接続エラーなし
- キューがメッセージを処理中です
- メッセージのバックログがない
API から RabbitMQ を確認する
システムリソース
ディスク容量を確認する
ディスク容量が少ないと、データベース、ストレージ、コンテナーの問題が発生する可能性があります。
確認事項:
- ルート パーティションに十分なスペースがある (20% 以上の空きを推奨)
- Docker ボリュームがいっぱいではない
- データベース データ ディレクトリに空きがある
- Superbase ストレージにスペースがある
メモリ使用量を確認する
確認事項:
- システムに使用可能なメモリがある
- コンテナがメモリ制限に達していない
- ログに OOM (メモリ不足) による強制終了はありません
CPU 使用率を確認する
ネットワーク接続
コンテナネットワークを確認する
ポートの可用性を確認する
環境変数
環境構成を確認する
確認事項:
- データベース接続文字列が正しい
- Redis および RabbitMQ のホスト名が正しい
- API URLが適切に構成されている
- 必要な環境変数が設定されている
- 変数名のタイプミスがないこと
ファイルのアクセス許可
ファイルとディレクトリのアクセス許可を確認する
確認事項:
- アプリケーションディレクトリは読み取り可能です
- Docker ソケットに正しい権限がある
- ボリュームマウントには適切な権限が必要です
- 証明書ファイルにアクセス可能
サービス固有のチェック
ナレッジベースの問題
ナレッジベースが更新または処理されていない場合:
チャット/エージェントの問題
認証の問題
一般的なエラー パターン
データベース接続エラー
症状:
- 「接続が拒否されました」エラー
- 「接続が多すぎます」エラー
- タイムアウトエラー
診断手順:
- データベース コンテナーが実行されていることを確認します:
docker ps | grep db
- データベース ログを確認します:
docker logs supabase-db
- 接続制限を確認します:
docker exec supabase-db psql -U postgres -c "SHOW max_connections;"
- アクティブな接続を確認します:
docker exec supabase-db psql -U postgres -c "SELECT count(*) FROM pg_stat_activity;"
- 環境変数の DATABASE_URL を確認します。
Redis 接続エラー
症状:
- Redis への「接続が拒否されました」
- キャッシュミス
- セッションの問題
診断手順:
- Redis コンテナーを確認します:
docker ps | grep redis
- Redis をテストします:
docker exec redis redis-cli ping
- Redis ログを確認します:
docker logs redis
- 環境変数で Redis ホスト名を確認する
ワーカータスクの失敗
症状:
- タスクが完了しない
- ナレッジベースが同期しない
- バックグラウンドジョブが失敗する
診断手順:
- ワーカーのログを確認します:
docker logs worker
- ワーカーコンテナのステータスを確認します:
docker ps | grep worker
- RabbitMQ キューを確認する: RabbitMQ 管理 UI にアクセスします。
- メモリの問題を確認します:
docker stats worker
ストレージ/ファイルのアップロードの問題
症状:
- ファイルのアップロードに失敗する
- 「ファイルが大きすぎます」エラー
- ストレージ割り当てを超過しました
診断手順:
- ディスク容量を確認します:
df -h
- Supabase ストレージ ログを確認します:
docker logs supabase-storage
- Supabase 設定でファイル サイズ制限を確認する
- ストレージバケット構成を確認する
クイック診断スクリプト
すべてのチェックを一度に実行する診断スクリプトを作成します。
diagnostics.sh として保存し、実行可能ファイルを作成: chmod +x diagnostics.sh、実行: ./diagnostics.sh
エスカレーション情報
L2 サポートにエスカレーションする場合は、以下を提供します。
- コンテナステータス:
docker ps -a の出力
- 最近のログ: 関連するコンテナからの最後の 100 ~ 200 行
- システム リソース:
df -h および free -h の出力
- エラー メッセージ: ログからの特定のエラー メッセージ
- 設定: 設定される環境変数名 (値ではありません)
- タイムライン: 問題の開始時期
- 影響: どの機能が影響を受けますか
サポートへのお問い合わせ: support@automationanywhere.com
追加のリソース