GitLab提供内置监控功能,可通过Web界面查看核心指标。操作路径:登录GitLab → 点击顶部导航栏「Administration Area」→ 选择「Settings」→ 进入「Monitoring」页面。在此可查看响应时间、错误率、系统负载等基础性能指标,帮助快速识别实例健康状态。
利用Ubuntu自带的命令行工具实时监控系统资源使用情况:
top -p $(pgrep -f gitlab));vmstat 1查看内存/磁盘I/O,iostat -x 1查看磁盘详细使用情况);free -h以人类可读格式显示)。Prometheus(开源监控系统)+ Grafana(可视化平台)是GitLab监控的主流组合:
/etc/prometheus/prometheus.yml,添加GitLab监控目标:scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['your_gitlab_server_address:8080'] # GitLab默认暴露8080端口
通过GitLab REST API获取实例状态及性能数据,适合自动化监控:
curl获取系统状态(需替换PRIVATE-TOKEN为有效Token):curl --header "PRIVATE-TOKEN: <your_token>" "http://your_gitlab_server/api/v4/system/status"
返回结果包含GitLab运行状态(status字段)、数据库连接情况等信息。GitLab日志集中存储在/var/log/gitlab目录下,常用查看方式:
sudo gitlab-ctl tail;sudo gitlab-ctl tail nginx/gitlab_error.log;sudo gitlab-ctl tail gitlab-rails/production.log。cat/less查看静态日志(如sudo cat /var/log/gitlab/gitlab-rails/production.log);tail -f实时监控日志变化(如sudo tail -f /var/log/gitlab/gitlab-rails/production.log)。sudo journalctl -u gitlab;sudo journalctl --since "2025-09-01" --until "2025-09-30"。grep -i "error" /var/log/gitlab/gitlab-rails/production.log;grep -c "error" /var/log/gitlab/gitlab-rails/production.log;tail -n 10 /var/log/gitlab/gitlab-rails/production.log | grep "error"。GitLab内置logrotate服务,自动切割、压缩旧日志(避免单个日志文件过大)。自定义配置路径:/etc/gitlab/gitlab.rb,常见参数:
gitlab_rails['logrotate_max_size']:单个日志文件最大大小(如100MB);gitlab_rails['logrotate_keep_time']:日志保留时间(如30天);sudo gitlab-ctl reconfigure使配置生效。