GitLab内置了监控组件,可通过其Web界面或API直接查看实例状态,无需额外安装工具。
/etc/gitlab/gitlab.rb,找到gitlab_rails['monitoring_enabled']行,取消注释并设置为true;保存后运行sudo gitlab-ctl reconfigure应用更改。http://your-gitlab-domain/monitoring访问内置监控页面,可查看CPU、内存、磁盘空间、作业队列等关键指标。YOUR_ACCESS_TOKEN和gitlab.com为实际值): curl --header "PRIVATE-TOKEN: YOUR_ACCESS_TOKEN" https://gitlab.com/api/v4/system/statuscurl --header "PRIVATE-TOKEN: YOUR_ACCESS_TOKEN" https://gitlab.com/api/v4/projects/PROJECT_ID/monitoring。CentOS系统自带的命令行工具可快速查看GitLab相关进程及资源使用情况:
gitlab-ctl status命令查看GitLab各组件(如nginx、postgresql、unicorn)的运行状态;若需重启服务,可使用gitlab-ctl restart。top/htop:实时显示系统进程的CPU、内存占用,按P键按CPU排序,按M键按内存排序;vmstat 1:每秒报告系统虚拟内存、CPU、磁盘I/O等统计信息;free -h:显示系统内存使用情况(人类可读格式);ss -tuln:查看当前活动的网络连接及端口监听状态(替代netstat)。/var/log/gitlab目录下,常用日志包括: tail -f /var/log/gitlab/gitlab-rails/production.log(实时查看应用层日志);tail -f /var/log/gitlab/nginx/access.log(查看HTTP请求记录)。第三方工具可实现更全面的监控、可视化及报警功能,常见组合为Prometheus+Grafana:
prometheus.yml文件,添加GitLab抓取配置(替换gitlab.example.com为实际域名):scrape_configs: - job_name: 'gitlab' static_configs: - targets: ['gitlab.example.com:9090'] 保存后运行./prometheus --config.file=prometheus.yml启动Prometheus。/etc/gitlab/gitlab.rb,添加以下内容:gitlab_rails['prometheus_export_address'] = 'localhost' gitlab_rails['prometheus_export_port'] = '9090' 运行sudo gitlab-ctl reconfigure使配置生效。http://localhost:9090);然后导入GitLab监控面板(如Grafana社区提供的“GitLab Monitoring”面板),即可可视化查看GitLab的关键指标(如CPU使用率、内存占用、作业完成时间)。alertmanager组件配置报警规则(如当GitLab内存使用率超过80%时发送邮件报警),或在Grafana中为监控面板设置阈值报警,及时通知管理员处理异常。