ubuntu gitlab故障排查方法
导读:Ubuntu 上 GitLab 故障排查步骤 一 快速定位与通用检查 查看整体状态与组件健康:运行 sudo gitlab-ctl status,确认关键组件如 puma/unicorn、nginx、gitlab-workhorse、si...
Ubuntu 上 GitLab 故障排查步骤
一 快速定位与通用检查
- 查看整体状态与组件健康:运行 sudo gitlab-ctl status,确认关键组件如 puma/unicorn、nginx、gitlab-workhorse、sidekiq、postgresql、redis 均为 run。若使用旧版本,应用服务器可能是 unicorn;新版本多为 puma。
- 集中查看日志:使用 sudo gitlab-ctl tail 查看全局日志;或针对组件查看,如 sudo gitlab-ctl tail postgresql、sudo gitlab-ctl tail nginx。
- 配置变更后应用:执行 sudo gitlab-ctl reconfigure,确保配置生效。
- 端口与连通性:确认 80/443/22 未被占用且防火墙放行(UFW/云安全组)。
- 资源与权限:检查 磁盘空间 df -h、内存 free -m、系统日志 journalctl -xe,并确认相关目录属主为 git:git。
二 常见故障场景与处理
| 症状 | 快速检查 | 处理要点 |
|---|---|---|
| 访问返回 502 Bad Gateway | gitlab-ctl status 发现 puma/unicorn 反复重启或 down;查看 /var/log/gitlab/unicorn/current 或 /var/log/gitlab/puma/current | 重启应用服务:sudo gitlab-ctl restart puma/unicorn;确认进程与端口:**ps -ef |
| 重启后大量组件报 fail: xxx: runsv not running | 执行 systemctl status gitlab-runsvdir 与 systemctl -t target、systemctl list-jobs | 重启 runit 管理:sudo systemctl restart gitlab-runsvdir;若卡住,检查是否有阻塞任务(如 plymouth-quit-wait.service),可临时停止后再启动 GitLab:sudo systemctl stop plymouth-quit-wait.service & & sudo gitlab-ctl start。 |
| 页面访问或推送很慢、卡顿 | top/htop 观察 puma、sidekiq、gitaly、postgresql、redis 资源占用;日志无明显报错 | 精简非核心组件(测试/演示环境):在 /etc/gitlab/gitlab.rb 中关闭监控导出器与监控角色(如 monitoring_role[‘enable’]=false、prometheus[‘enable’]=false、alertmanager[‘enable’]=false、postgres_exporter[‘enable’]=false、redis_exporter[‘enable’]=false、node_exporter[‘enable’]=false),并适度下调 puma[‘worker_processes’]、puma[‘min_threads’]/[‘max_threads’]、sidekiq[‘concurrency’]、postgresql[‘shared_buffers’];修改后执行 gitlab-ctl reconfigure 并重启相关服务。生产环境不建议关闭 puma 的 cluster 模式。 |
| 首次启动或升级后访问异常 | 组件未就绪、配置未生成或端口冲突 | 重新生成配置:sudo gitlab-ctl reconfigure;检查端口占用:**sudo netstat -tuln |
三 日志与数据目录速查
- 组件日志:位于 /var/log/gitlab/ 各子目录,常用命令 sudo gitlab-ctl tail (如 postgresql、nginx、puma/unicorn、sidekiq)。
- PID 与锁文件:陈旧 PID 会导致“已运行/无法启动”,常见路径如 /opt/gitlab/var/unicorn/unicorn.pid、/var/opt/gitlab/gitaly/gitaly.pid;清理前务必确认进程不在运行。
- 配置与重配置:主配置 /etc/gitlab/gitlab.rb,变更后执行 sudo gitlab-ctl reconfigure 使配置落地。
- 数据目录:Git 仓库与数据默认在 /var/opt/gitlab/,确保磁盘空间充足与目录权限正确。
四 应急与回退建议
- 配置回退:修改前先备份 /etc/gitlab/gitlab.rb,出现异常可快速还原并 reconfigure。
- 版本回退:如升级后问题频发,优先在测试环境验证,再按官方流程回退到稳定版本。
- 恢复策略:定期做全量备份(含配置与数据),出现数据库/仓库损坏时按备份恢复,减少数据丢失风险。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu gitlab故障排查方法
本文地址: https://pptw.com/jishu/753112.html
