在 GitLab(Linux 服务器) 上查日志,通常取决于你是 Omnibus 安装 还是 Docker / Kubernetes 安装。下面以最常见的 Omnibus GitLab(CentOS/Ubuntu) 为例说明。
GitLab 自带日志管理命令:
# 查看所有组件日志(实时)
sudo gitlab-ctl tail
# 查看指定组件日志
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail unicorn
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctltail postgresql
常用组件名:
nginxunicorn / pumasidekiqpostgresqlredisgitalygitlab-rails日志一般在:
/var/log/gitlab/
常见路径:
/var/log/gitlab/gitlab-rails/production.log
/var/log/gitlab/nginx/gitlab_error.log
/var/log/gitlab/nginx/gitlab_access.log
/var/log/gitlab/sidekiq/current
/var/log/gitlab/postgresql/current
查看示例:
tail -f /var/log/gitlab/gitlab-rails/production.log
# GitLab 整体状态
sudo gitlab-ctl status
# 系统日志
sudo journalctl -u gitlab-runsvdir
# 查看容器日志
docker logs -f gitlab
# 进入容器
docker exec -it gitlab bash
容器内日志路径同上(/var/log/gitlab/)
| 问题 | 看哪里 |
|---|---|
| 页面 502 | nginx, unicorn/puma |
| 登录异常 | gitlab-rails/production.log |
| 拉代码慢 | gitaly, nginx |
| 后台任务失败 | sidekiq/current |
| 数据库问题 | postgresql/current |
sudo gitlab-ctl tail
sudo gitlab-ctl tail nginx
tail -f /var/log/gitlab/gitlab-rails/production.log
sudo gitlab-ctl status
如果你能告诉我:
我可以给你更精确的日志查看方法。