Ubuntu系统下GitLab性能监控的综合方案
Prometheus是开源时序数据库,专注于指标收集与告警;Grafana是可视化工具,擅长将指标数据转化为直观的仪表盘。两者结合是监控GitLab性能的主流方案。
sudo apt-get install prometheus安装,编辑/etc/prometheus/prometheus.yml,添加GitLab监控目标(如scrape_configs: - job_name: 'gitlab' - targets: ['localhost:9090']),启动服务sudo systemctl start prometheus。sudo apt-get install grafana安装,启动后访问http://<Ubuntu-IP>:3000(默认账号admin/admin),添加Prometheus为数据源(填写URL如http://localhost:9090)。gitlab_runner_jobs_running表示正在运行的作业数、process_cpu_seconds_total表示GitLab进程CPU占用时间),添加折线图、 gauge 图等可视化组件。alerts.yml文件(如定义GitLabHighCPU告警:当CPU使用率超过80%持续1分钟时触发),加载到Prometheus并配置通知渠道(如邮件、Slack)。GitLab自身集成了Prometheus客户端,可直接暴露性能指标,无需额外安装工具。
/etc/gitlab/gitlab.rb中启用了Prometheus导出(默认开启):gitlab_rails['prometheus_enable'] = true,运行sudo gitlab-ctl reconfigure生效。http://<Ubuntu-IP>),进入Admin Area(管理区)→Monitoring(监控),即可查看CPU、内存、磁盘空间、作业队列等关键指标的实时图表。Ubuntu系统自带的命令行工具可快速查看GitLab相关进程的资源占用情况,适合临时排查性能问题。
top/htop:实时显示系统中占用CPU、内存最高的进程(可通过grep gitlab过滤出GitLab相关进程)。vmstat 1:每秒刷新系统整体状态(包括CPU使用率、内存交换情况、磁盘I/O等)。free -h:查看内存及交换空间的使用情况(-h参数以人类可读格式显示)。df -h:查看磁盘空间使用情况(重点关注/var/opt/gitlab目录,GitLab数据默认存储于此)。若需要更全面的监控(如网络流量、应用层性能),可集成第三方工具:
GitLab的日志文件记录了详细的运行信息,通过分析日志可发现潜在的性能问题。
/var/log/gitlab/目录下,主要包括:
gitlab-rails/production.log:Rails应用的请求日志(包含请求时间、状态码等信息)。gitlab-monitor.log:GitLab监控数据的采集日志。sidekiq.log:后台作业队列的日志(记录作业执行情况)。tail -f /var/log/gitlab/gitlab-rails/production.log实时查看日志,或通过ELK Stack(Elasticsearch+Logstash+Kibana)收集、分析日志,生成可视化 dashboard(如请求延迟分布、错误日志统计)。