在Linux系统上监控GitLab,可通过第三方监控工具链(Prometheus+Grafana)、GitLab自带监控功能及系统级工具组合实现,覆盖性能指标收集、可视化及告警全流程。以下是具体配置步骤:
Prometheus是开源时序数据库,擅长收集和存储指标;Grafana是可视化工具,可将Prometheus中的数据转化为直观的仪表盘;两者结合能全面监控GitLab的运行状态。
prometheus-2.30.3.linux-amd64.tar.gz),解压后进入目录,编辑prometheus.yml文件,添加GitLab监控任务:scrape_configs:
- job_name: 'gitlab'
static_configs:
- targets: ['your_gitlab_server_address:9090'] # 替换为GitLab服务器IP或域名
此配置让Prometheus定期从GitLab的/metrics接口抓取指标(默认端口9090)。./prometheus --config.file=prometheus.yml启动服务,通过http://your_gitlab_server_address:9090访问Prometheus Web界面,验证是否能看到GitLab的指标数据(如gitlab_rails_database_queries_seconds)。grafana-8.2.0.linux-amd64.tar.gz),解压后进入目录,运行./bin/grafana-server启动服务(默认端口3000)。http://your_gitlab_server_address:3000(默认账号admin/admin),进入“Configuration→Data Sources”,点击“Add data source”,选择“Prometheus”,填写URL(http://your_gitlab_server_address:9090),点击“Save & test”验证连接。gitlab_rails_database_connections查看数据库连接数、process_resident_memory_bytes查看GitLab进程内存占用),设置面板标题、可视化类型(如折线图、 gauge 图),保存仪表盘。alerts.yml文件,添加如下规则(以CPU使用率超过80%为例):groups:
- name: gitlab_alerts
rules:
- alert: GitLabHighCPU
expr: node_cpu_seconds_total{job="gitlab"} > 0.8 # CPU使用率超过80%
for: 1m # 持续1分钟触发
labels:
severity: warning
annotations:
summary: "High CPU Usage on GitLab Server"
description: "GitLab server CPU usage is above 80% for 1 minute."
将alerts.yml挂载到Prometheus配置中(如--web.config.file=/path/to/alerts.yml),重启Prometheus使规则生效。alertmanager.yml配置邮件、Slack等通知渠道,例如邮件通知:route:
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: 'admin@example.com'
from: 'alertmanager@example.com'
smarthost: 'smtp.example.com:587'
auth_username: 'user@example.com'
auth_password: 'password'
这样当告警触发时,Prometheus会将通知发送给指定邮箱。GitLab内置了监控模块,可通过自监控项目和命令行工具快速查看实例状态。
/etc/gitlab/gitlab.rb,开启指标收集:gitlab_rails['gitlab_metrics_enabled'] = true
gitlab_runner['metrics_enabled'] = true
global['monitoring_enabled'] = true
运行sudo gitlab-ctl reconfigure使配置生效,GitLab会自动暴露/metrics接口供Prometheus抓取。sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
命令会输出数据库连接、Redis状态、存储路径等检查结果,帮助快速定位问题。若需快速查看系统资源使用情况,可使用Linux自带的工具:
top按P键按CPU排序,M键按内存排序);vmstat 1 5每秒刷新一次,共5次);free -h以人类可读格式显示);iostat -x 1查看磁盘读写延迟);ss -tulnp查看监听端口)。通过以上配置,可实现GitLab的全面监控(性能指标、服务状态)、可视化展示(仪表盘)及及时告警(异常通知),确保GitLab实例稳定运行。