gitlab-ctl命令(GitLab官方推荐工具)gitlab-ctl是GitLab提供的服务管理工具,可直接查看所有服务或特定服务的实时日志,无需手动定位文件路径。
sudo gitlab-ctl tail
该命令会实时输出GitLab各组件(如Rails、Sidekiq、Nginx等)的日志内容。sudo gitlab-ctl tail nginx/gitlab_error.log # 查看Nginx错误日志
sudo gitlab-ctl tail sidekiq/current # 查看Sidekiq后台任务日志
此方式适合快速定位特定组件的日志问题。GitLab的日志文件默认集中存储在/var/log/gitlab目录下,可根据需求选择对应文件查看:
sudo less /var/log/gitlab/gitlab-rails/production.log # 分页查看(推荐)
sudo tail -f /var/log/gitlab/gitlab-rails/production.log # 实时查看新增日志
sudo tail -f /var/log/gitlab/sidekiq/current
sudo tail -f /var/log/gitlab/nginx/gitlab_access.log # 访问日志(含IP、请求路径)
sudo tail -f /var/log/gitlab/nginx/gitlab_error.log # 错误日志(含404、500等错误)
sudo tail -f /var/log/postgresql/postgresql-<version>-main.log # 替换<version>为实际版本号
注:若日志文件路径因配置修改发生变化,可通过/etc/gitlab/gitlab.rb中的log_path参数确认。journalctl命令(系统级日志查看)若GitLab服务通过systemd管理(Ubuntu默认),可使用journalctl查看系统级日志,过滤出GitLab相关条目:
sudo journalctl -u gitlab-runsvdir # gitlab-runsvdir是GitLab服务的管理进程
sudo journalctl -u gitlab-rails
sudo journalctl -u gitlab-runsvdir --since today
此方式适合排查系统层面的问题(如服务启动失败、权限问题)。若已登录GitLab管理员账号,可通过Web界面的**Admin Area(管理区域)**查看系统运行状态和部分日志:
root用户,需使用sudo命令查看。production.log.1.gz),可通过/etc/gitlab/gitlab.rb中的log_rotate_age参数调整保留天数。/etc/gitlab/gitlab.rb中的gitlab_rails['log_level'] = :debug,然后运行sudo gitlab-ctl reconfigure使配置生效。