跳转到内容

故障排查

Terminal window
# 查看所有服务状态
docker compose ps
# 查看服务健康状态
docker inspect glean-backend --format='{{.State.Health.Status}}'
Terminal window
# 查看所有服务日志
docker compose logs -f
# 查看特定服务日志
docker compose logs -f backend
docker compose logs -f worker
# 查看最近 100 行
docker compose logs --tail=100 backend
Terminal window
# 查看资源使用情况
docker stats

症状:服务启动失败,日志显示端口已被占用。

解决方案

Terminal window
# 检查端口占用
lsof -i :80
lsof -i :3001
# 修改端口
echo "WEB_PORT=8080" >> .env
echo "ADMIN_PORT=8081" >> .env

症状:后端服务启动失败,日志显示数据库连接错误。

解决方案

Terminal window
# 检查 PostgreSQL 状态
docker compose ps postgres
# 等待数据库就绪
docker exec glean-postgres pg_isready -U glean
# 检查数据库日志
docker compose logs postgres
Terminal window
curl http://localhost/api/health
Terminal window
docker compose logs backend | grep -i error
Terminal window
docker compose restart backend
Terminal window
docker compose ps worker
docker compose logs worker
Terminal window
docker exec glean-redis redis-cli ping
# 应返回 PONG
Terminal window
docker compose restart worker
Terminal window
docker compose logs worker | grep -i feed

通过 Web 界面点击订阅源的刷新按钮。

在 Web 界面查看订阅源是否显示错误状态。

Terminal window
docker compose ps web
docker compose logs web
Terminal window
docker exec glean-web nginx -t
Terminal window
# 直接访问后端 API
curl http://localhost:8000/api/health
Terminal window
docker compose ps admin
docker compose logs admin
Terminal window
curl http://localhost:3001
Terminal window
docker stats --no-stream
  1. 使用精简部署(不含 Milvus)
  2. 增加系统内存
  3. 设置资源限制
docker-compose.yml
services:
backend:
deploy:
resources:
limits:
memory: 1G
Terminal window
docker system df
Terminal window
# 清理未使用的镜像
docker image prune -a
# 清理未使用的卷(注意不要删除 glean 的卷)
docker volume prune
# 清理停止的容器
docker container prune
Terminal window
# 截断 Docker 日志
truncate -s 0 $(docker inspect --format='{{.LogPath}}' glean-backend)
Terminal window
# 检查迁移日志
docker compose logs backend | grep -i migration
# 手动执行迁移
docker exec -it glean-backend bash
cd /app && uv run alembic upgrade head

检查并增加 PostgreSQL 连接数限制:

docker-compose.yml
services:
postgres:
command:
- postgres
- -c
- max_connections=200
Terminal window
# 检查 Milvus 依赖服务
docker compose ps milvus-etcd milvus-minio
# 检查 Milvus 日志
docker compose logs milvus

Milvus 需要较多内存,可以:

  1. 增加系统内存
  2. 使用精简部署模式

如果以上方法无法解决问题:

  1. 查看文档Glean 文档
  2. GitHub Issues提交 Issue
  3. Discord 社区加入 Discord

提交 Issue 时请包含:

  • Glean 版本
  • 部署方式(完整/精简)
  • 错误日志
  • 复现步骤