温馨提示×

linux gitlab怎么排查错

小樊
34
2026-10-19 03:19:31
栏目: 智能运维

你这个问题比较宽泛,下面我按常见场景给你一份 Linux 上 GitLab 排查错误的实用思路,适合 GitLab(Omnibus 或源码) 环境。


一、先确认 GitLab 整体状态

1. 查看 GitLab 服务状态

sudo gitlab-ctl status

常见状态:

  • run:正常
  • down:异常(重点排查)

如果某个组件 down,例如 unicorn、sidekiq、nginx,再看日志。


二、看日志(最重要)

2. 查看整体日志

sudo gitlab-ctl tail

实时查看所有组件日志,适合突发问题。

3. 查看具体组件日志

sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail unicorn
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl tail postgresql
sudo gitlab-ctl tail gitaly

常见组件:

  • nginx:网页打不开、502
  • unicorn / puma:后端服务异常
  • sidekiq:异步任务(CI、邮件)
  • postgresql:数据库错误
  • gitaly:仓库操作失败

三、常见错误及排查方法

1️⃣ 页面 502 / 500

排查顺序:

sudo gitlab-ctl status
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail unicorn

常见原因:

  • 内存不足(OOM)
  • unicorn 启动失败
  • 端口被占用

检查内存:

free -h

2️⃣ Git 推送 / 拉取失败

sudo gitlab-ctl tail gitaly
sudo gitlab-ctl tail sshd

可能原因:

  • SSH key 没加
  • 仓库路径权限问题
  • 磁盘满了

检查磁盘:

df -h

3️⃣ CI / 流水线失败

sudo gitlab-ctl tail sidekiq

检查:

  • Runner 是否在线
gitlab-runner status
  • Runner 是否能连 GitLab

4️⃣ 数据库相关错误

sudo gitlab-ctl tail postgresql

检查数据库状态:

sudo gitlab-psql

5️⃣ 配置文件错误

修改配置后:

sudo gitlab-ctl reconfigure

如果失败,日志会直接指出哪一行配置错误。


四、系统级排查

1. 防火墙

sudo firewall-cmd --list-all
# 或
iptables -L

2. SELinux(CentOS/RHEL)

getenforce

如果是 Enforcing,可临时关闭测试:

setenforce 0

3. 端口监听

ss -lntp

GitLab 常用端口:

  • 80 / 443(Web)
  • 22(SSH)
  • 8080(unicorn)

五、常用救命命令

# 重启 GitLab
sudo gitlab-ctl restart

# 只重启某组件
sudo gitlab-ctl restart nginx

# 检查配置
sudo gitlab-rake gitlab:check

# 健康检查
sudo gitlab-rake gitlab:env:info

六、如果你能提供更具体的信息

我可以更精准帮你,比如:

  • 页面报什么错(502 / 500 / 404)
  • git push 报什么
  • 哪个日志有 ERROR
  • GitLab 版本 & 安装方式(Omnibus / Docker / 源码)

你可以直接贴 报错日志片段。

0 踩