通过Linux原生命令快速查看GitLab所在服务器的基础性能指标,适合实时排查资源瓶颈:
P键按CPU排序,快速定位高负载进程(如GitLab Runner、Sidekiq)。vmstat 1 5每1秒刷新一次,共5次,观察r(运行队列)、free(空闲内存)、io(磁盘读写)等指标。free -h以人类可读格式显示,关注available字段(可用内存)。ss -tulnp | grep 80查看80端口的监听进程。dstat -cdngy实时显示各项资源的使用趋势。GitLab自身集成了完善的监控体系,无需额外安装工具即可获取实例级性能数据:
Settings → Metrics and profiling → Self monitoring启用自监控。启用后,GitLab会将自身指标(如API响应时间、作业执行时间、数据库查询耗时)存储到数据库中,可通过Admin Area → Monitoring查看内置仪表盘(包含CPU、内存、磁盘空间、作业队列等指标)。/var/log/gitlab目录下(如gitlab-rails/production.log记录应用请求,unicorn/unicorn_stdout.log记录Unicorn服务器日志)。使用tail -f /var/log/gitlab/gitlab-rails/production.log实时查看日志,或通过ELK Stack(Elasticsearch+Logstash+Kibana)收集日志,实现实时日志监控、搜索和可视化(如分析慢请求、错误日志)。通过专业监控工具实现更全面的性能监控、告警和可视化:
/etc/prometheus/prometheus.yml,添加GitLab抓取配置:scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['gitlab.example.com:9090'] # 替换为GitLab实例地址
重启Prometheus使配置生效。http://<prometheus-server>:9090),然后导入GitLab监控面板(如官方提供的“GitLab Metrics”面板),可监控CPU使用率、内存占用、作业执行时间、数据库性能等指标。check_gitlab)监控GitLab服务状态(如Web、SSH、数据库是否正常),异常时发送告警(邮件、短信)。及时获取性能异常通知,避免问题扩大:
alerts.yml文件,定义告警规则(如GitLab CPU使用率超过80%持续1分钟):groups:
- name: gitlab_alerts
rules:
- alert: GitLabHighCPU
expr: process_cpu_seconds_total > 0.8 # GitLab进程CPU使用率
for: 1m
labels:
severity: warning
annotations:
summary: "GitLab CPU usage is high"
description: "GitLab CPU usage is above 80% for 1 minute"
加载告警规则到Prometheus(prometheus -alerting.config.file=alerts.yml),并配置Alertmanager的通知渠道(如邮件、Slack)。以上方法覆盖了从基础到高级的GitLab性能监控需求,可根据实际场景选择组合使用(如系统自带工具用于日常巡检,Prometheus+Grafana用于深度分析,ELK用于日志监控)。