1. 使用 gitlab-ctl 命令(GitLab官方推荐工具)
gitlab-ctl 是GitLab Omnibus安装包提供的命令行工具,可便捷管理GitLab服务及日志。
sudo gitlab-ctl tail,终端会实时输出GitLab各组件(如Rails、Nginx、Sidekiq)的日志内容,按 Ctrl+C 退出。sudo gitlab-ctl tail gitlab-rails,仅显示该服务的日志。sudo gitlab-ctl tail nginx/gitlab_error.log,实时跟踪该文件的更新。2. 直接查看日志文件(系统原生方式)
GitLab的日志文件默认存储在 /var/log/gitlab 目录下,可根据需求选择对应文件查看:
production.log:记录GitLab Rails应用的请求详情(URL、IP、SQL执行、代码性能等);application.log:记录用户/项目管理操作(创建用户、项目迁移等);sidekiq.log:记录后台任务(如邮件发送、CI/CD流水线)的执行状态;gitlab-shell.log:记录Git命令执行及SSH权限变更日志;unicorn_stderr.log:记录GitLab Web服务器(Unicorn)的错误信息。cat 快速查看文件内容:sudo cat /var/log/gitlab/gitlab-rails/production.log;less 分页查看(支持上下翻页):sudo less /var/log/gitlab/gitlab-rails/application.log;grep 过滤关键信息(如查找“error”错误):sudo grep "error" /var/log/gitlab/gitlab-rails/production.log。3. 使用 journalctl 命令(Systemd日志管理)
若GitLab服务通过Systemd管理(默认安装方式),可使用 journalctl 查看系统级日志:
sudo journalctl -u gitlab(-u 指定服务单元);sudo journalctl -u gitlab-rails;sudo journalctl --since "2024-01-01" --until "2024-01-31";-f 参数,如 sudo journalctl -u gitlab -f,实时输出最新日志。4. 日志管理与优化建议
/etc/gitlab/gitlab.rb 自定义参数(如每天切割、保留30天、压缩),然后运行 sudo gitlab-ctl reconfigure 应用配置。示例配置:logging['logrotate_frequency'] = "daily"(切割频率)、logging['logrotate_rotate'] = 30(保留天数)。