一、GitLab在Linux中的日志查看方法
使用gitlab-ctl命令(推荐)
GitLab自带的gitlab-ctl工具是查看日志的高效方式,无需直接操作文件。常用命令包括:
sudo gitlab-ctl tail;sudo gitlab-ctl tail gitlab-rails、sudo gitlab-ctl tail nginx/gitlab_error.log;直接访问日志文件
GitLab的日志默认存储在/var/log/gitlab目录下,核心日志文件包括:
/var/log/gitlab/gitlab-rails/production.log:记录Rails应用的主要业务日志(如用户操作、项目操作);/var/log/gitlab/gitlab-rails/production_json.log:以JSON格式记录异常信息,便于程序化分析;/var/log/gitlab/nginx/gitlab_error.log:Nginx服务器的错误日志(如404、500错误)。cat(查看全文)、less(分页查看)、tail -f(实时跟踪)等命令查看,例如:sudo tail -f /var/log/gitlab/gitlab-rails/production.log。通过journalctl查看systemd日志
若GitLab服务由systemd管理(如Ubuntu 18.04+、CentOS 7+),可使用journalctl命令检索服务级日志:
journalctl -u gitlab-rails;journalctl --since "2025-11-01" --until "2025-11-08" -u gitlab-rails;grep过滤关键信息(如“error”):journalctl -u gitlab-rails | grep "error"。日志轮转配置(管理日志大小)
GitLab使用logrotate自动切割、压缩日志,防止日志文件过大占用磁盘空间。自定义配置需修改/etc/gitlab/gitlab.rb文件,常见参数包括:
logging['logrotate_frequency']:切割频率(如"daily"每日切割);logging['logrotate_size']:按大小切割阈值(如"200M"超过200MB切割);logging['logrotate_rotate']:保留日志天数(如30保留30天);logging['logrotate_compress']:是否压缩(如"compress"使用gzip压缩)。sudo gitlab-ctl reconfigure重新加载配置,sudo gitlab-ctl restart重启GitLab使变更生效。二、GitLab在Linux中的监控方法
GitLab自带监控功能
第三方监控工具集成
prometheus.yml文件,添加GitLab作为监控目标(job_name: 'gitlab',targets: ['gitlab.example.com']),用于收集GitLab的指标数据(如HTTP请求、数据库性能);4352的“GitLab Overview”仪表盘),可视化展示CPU使用率、内存占用、Sidekiq队列长度等指标;expr: node_cpu_seconds_total{job="gitlab"} > 0.8 for: 1m表示CPU使用率超过80%持续1分钟),并通过Alertmanager发送邮件、Slack通知。top(实时查看进程资源占用)、htop(增强版top,支持颜色和排序)、nmon(多维度监控CPU、内存、磁盘I/O)等系统工具快速查看GitLab进程的资源使用情况。