温馨提示×

Linux GitLab日志如何查看

小樊
32
2025-12-20 12:37:20
栏目: 智能运维

Linux 上 GitLab 日志查看指南

一 常用查看方式

  • 使用 gitlab-ctl tail 实时查看日志(Omnibus 包推荐)
    • 查看全部服务:sudo gitlab-ctl tail
    • 查看某服务:sudo gitlab-ctl tail gitlab-rails
    • 查看指定文件:sudo gitlab-ctl tail nginx/gitlab_error.log
  • 直接读取日志文件(路径通常为 /var/log/gitlab
    • 查看 Rails 生产日志:sudo cat /var/log/gitlab/gitlab-rails/production.log
    • 实时跟踪:sudo tail -f /var/log/gitlab/gitlab-rails/production.log
    • 分页查看:less /var/log/gitlab/gitlab-rails/production.log
  • 使用 journalctl(若 GitLab 组件以 systemd 单元运行)
    • 查看 Rails 日志:sudo journalctl -u gitlab-rails
    • 按时间过滤:sudo journalctl -u gitlab-rails --since “2025-12-20 00:00:00” --until “2025-12-20 12:00:00
  • 使用 grep 过滤关键字(示例:查找包含 “error” 的行)
    • grep -i “error” /var/log/gitlab/gitlab-rails/production.log | tail -n 50
  • 以上方法在 Ubuntu、Debian、CentOS 等常见发行版均适用。

二 常见日志路径与用途

日志路径 用途
/var/log/gitlab/gitlab-rails/production.log Rails 应用日志(页面请求、SQL、错误堆栈等)
/var/log/gitlab/gitlab-rails/production_json.log 结构化 JSON 格式的应用日志
/var/log/gitlab/sidekiq/current Sidekiq 后台任务日志
/var/log/gitlab/gitlab-shell/gitlab-shell.log gitlab-shell(SSH、git 命令)日志
/var/log/gitlab/unicorn/unicorn_stderr.log Unicorn/Workhorse Web 服务错误日志
/var/log/gitlab/nginx/gitlab_access.log Nginx 访问日志
/var/log/gitlab/nginx/gitlab_error.log Nginx 错误日志
说明:路径以 /var/log/gitlab 为主,具体文件名在不同版本可能略有差异(如旧版可能出现 unicorn 日志)。

三 按场景快速定位

  • Web 请求或页面报错:优先查看 gitlab-rails/production.log,必要时结合 nginx/gitlab_error.logunicorn_stderr.log
  • 后台任务(CI、定时任务、邮件等)异常:查看 sidekiq/current
  • SSH 拉取/推送失败:查看 gitlab-shell/gitlab-shell.log
  • 访问异常或 5xx 错误:查看 nginx/gitlab_error.loggitlab-rails/production.log 的对应时间段。
  • 需要按时间排查:使用 journalctl 的时间过滤,或在日志文件中用 grep/less 配合时间关键字定位。

四 日志轮转与保留

  • Omnibus 包内置 logrotate,默认按天轮转并保留约 30 天,可在 /etc/gitlab/gitlab.rb 中调整参数(如频率、保留天数、压缩方式等);个别服务也可单独配置轮转策略。

五 补充

  • 构建与作业日志(CI/CD):可在 GitLab Web 界面对应项目的 CI/CD → Jobs 页面查看;也可通过 GitLab API 获取作业日志,例如:curl --header “PRIVATE-TOKEN: <your_token>” “https://gitlab.example.com/api/v4/projects/<project_id>/jobs/<job_id>/trace”。

0