温馨提示×

Linux中GitLab的日志在哪查看

小樊
36
2026-01-03 04:28:44
栏目: 智能运维

Linux中GitLab日志查看路径与方法

一 常用查看方式

  • 使用 Omnibus 包自带的 gitlab-ctl tail:实时查看全部或指定组件的日志,例如:
    • 查看全部:sudo gitlab-ctl tail
    • 查看 Rails:sudo gitlab-ctl tail gitlab-rails
    • 查看 Nginx 错误日志:sudo gitlab-ctl tail nginx/gitlab_error.log
  • 直接读取日志文件:GitLab 的主要日志默认在 /var/log/gitlab/ 目录,例如:
    • 实时查看 Rails 生产日志:sudo tail -f /var/log/gitlab/gitlab-rails/production.log
    • 查看 Nginx 错误日志:sudo cat /var/log/gitlab/nginx/gitlab_error.log
  • 使用 systemd 的 journalctl(若系统采用 systemd 管理 GitLab 服务):
    • 查看所有 GitLab 服务:sudo journalctl -u gitlab
    • 查看 Rails:sudo journalctl -u gitlab-rails
    • 按时间范围:sudo journalctl --since “2024-01-01” --until “2024-01-31”
    • 查看本次启动:sudo journalctl -b
  • 排查故障时可配合 gitlab-ctl statusgitlab-ctl reconfigure 使用,以确认服务状态并应用配置变更。

二 常见日志路径与用途

组件/用途 典型路径 说明
Rails 应用日志 /var/log/gitlab/gitlab-rails/production.log 请求详情、SQL 与耗时等
Rails JSON 异常 /var/log/gitlab/gitlab-rails/production_json.log 结构化异常信息
Sidekiq 后台任务 /var/log/gitlab/sidekiq/current 后台作业执行日志
Nginx 访问/错误 /var/log/gitlab/nginx/access.log/var/log/gitlab/nginx/error.log HTTP 访问与错误
gitlab-shell /var/log/gitlab/gitlab-shell/gitlab-shell.log Git 命令、SSH 权限相关
PostgreSQL /var/log/gitlab/postgresql/ 数据库服务日志
Unicorn(若使用) /var/log/gitlab/unicorn/*.log Web 服务器日志
监控(Prometheus) /var/log/gitlab/prometheus/repochec.log 仓库检查等监控日志
以上路径适用于 Omnibus 安装;不同组件日志可按需组合查看。

三 非 Omnibus 安装的路径差异

  • 源码安装(如安装在 /home/gitlab)常见路径为:/home/gitlab/logs/,例如:
    • /home/gitlab/logs/gitlab-rails/production.log
    • /home/gitlab/logs/gitlab-shell/gitlab-shell.log
    • /home/gitlab/logs/unicorn/(或 /home/gitlab/logs/prometheus/repochec.log
  • 若自定义了 /etc/gitlab/gitlab.rb 中的 log_path,日志目录会随之变化,优先以配置为准。

四 实用排查命令示例

  • 实时跟踪 Rails 日志并筛选错误关键字:sudo gitlab-ctl tail gitlab-rails | grep -i error
  • 查看 PostgreSQL 日志:sudo gitlab-ctl tail postgresql
  • 查看本次启动以来的 GitLab 服务日志:sudo journalctl -u gitlab -b
  • 按时间范围查看 Nginx 错误日志:sudo journalctl --since “2024-01-01” --until “2024-01-31” -u nginx
  • 若服务异常,先检查状态再重启:sudo gitlab-ctl status,必要时 sudo gitlab-ctl restart

0